Projets:Useless box

De wikilab

Description du projet

Cahier des charges

Analyse de l'existant

Equipe (Porteur de projet et contributeurs)

  • Porteurs du projet :
  • Concepteurs/contributeurs :
  • Animateur (coordinateur du projet)
  • Fabmanager référent
  • Responsable de documentation

Matériel nécessaire

Uba0.png


Cette boîte contient une carte Arduino UNO R3, deux servomoteurs (dans deux pattes de la peluche) ainsi qu’un interrupteur (fixé en façade au dessus du message « don’t touch »).

Cette carte est alimenté en 9 volts via une pile qui alimente (en 5V) les deux servomoteurs. !attention au câblage du relais et de l’interrupteur L’interrupteur qui est branché en parallèle avec un relais (piloté par la carte UNO), permet d’alimenter la carte. Une platine d’essai sans soudure est également présente afin de faciliter les différentes connections. La carte communique en tant que port de série avec un PC via un câble USB.

Ub b.png

Outils nécessaires

Coût

Délai estimé

Fichiers source

La version de l’IDE utilisé est la 1.8.12 sous Linux Mint 19.3 Afin de vérifier rapidement que la carte fonctionne, utiliser/télécharger le fichier Blink dans la carte. Il est présent dans Fichier/Exemple/01.Basics/Blink de Arduino IDE.

Par la site pour une utilisation avec Node-red, on préférera télécharger au préalable un firmata dans la carte. Cette configuration permet de trouver les cinq valeurs nécessaires pour calibrer les deux servo moteurs. Celui qui est utilisé est le StandardFirmata.ino-2.5, il est également disponible dans les exemples. L’utilisation du logiciel Firmata Test (http://firmata.org/wiki/Main_Page), permet également de trouver ces cinq valeurs et vérifier simplement le branchement de l’ensemble via l’interface graphique. Dans notre configuration, le port sélectionné est /dev/ttyACM0.

Les GPIO Utilisées et leur mode de fonctionnement
Firmata Pin Mode Commentaires
Ub g.png 2 Input Pas utilisé
4 Output Le relais SRD 5V est branché en parallèle avec l’interrupteur, il permet de maintenir l’alimentation de la carte bien que l’interrupteur soit baissé.
5 Servo Dans la patte qui baisse l’interrupteur.
6 Servo Dans la patte qui ouvre/ferme le couvercle.
7 Output Le piezo pour le son.
11 Output Cette diode RGB dans un œil
12 Output
13 Output Correspond à la diode LED_BUILTIN de la carte.
16 Analog A2 Pas utilisé

Etapes de fabrication pas à pas

Ub c.png

La sortie pour le relais de maintien d’alimentation DIGITAL 4
La sortie PWM pour servo-moteur de la patte, qui baisse l’interrupteur est : DIGITAL 5
La sortie PWM pour servo-moteur qui ouvre et ferme la boîte est : DIGITAL 6
La sortie pour le son DIGITAL 7
La sortie RGB La diode RGB dans l’œil

D11 ,,, D12 est relier à une LED D13 correspond à la diode LED_BUILTIN de la carte.

DIGITAL 11,12,13
± Alimentation Ces deux fils provenant de la carte Arduino, alimentent deux servo moteurs. POWER 5V POWER GND
Le fil pour couleur image
Le fil permettre l’alimentation de la carte

l’interrupteur est connecté parallèle à un relais (pin 4)

blanc
Ub d.png
D4 le relais SRD 5V est branché en parallèle avec l’interrupteur
D5 pour le servo-moteur qui pilote la patte orange
Ub e.png
D6 pour le servo-moteur qui pilote le couvercle blanc
Ub f.png
D7 Le piezo pour le son.
D11 D12 D13 La diode RGB dans l’œil

D12 est relier à une LED D13 correspond à la diode LED_BUILTIN de la carte.

Node red StandardFirmata Télécharger dans la carte le StandardFirmata présent dans Fichier/Exemple/Firmata de Arduino IDE. Ensuite quitter l’application IDE Arduino.

Node-red Installer node red. (pour lancer le terminal (Ctrl+Alt+T)), sudo apt-get install npm sudo ufw allow 1880

npm install node-red-node-arduino Puis lancer l’interface : node-red

Dans l’interface flow, créer ou importer le fichier setup_flow.json

Ub h.png le menu en haut à droite menu/import/select a file to import, click import

Il est maintenant possible le piloter la box via les deux pages web ui et flow

Flow UI
Ub i.png
Ub j.png
http://127.0.0.1:1880/#flow http://127.0.0.1:1880/ui/

Ub k.png puis faire un Deploy L’utilisation de cette ui et de son flow permet de trouver cinq valeurs pour les commandes des deux servo-moteurs. Les deux « slider » du « dashboard » (UI) permettent de modifier les valeurs qui sont nécessaire à l’enclenchement de l’interrupteur (CLICK/TOUCH/HIDE) et à la commande du couvercle (OPEN/CLOSE).

Cinq « inject node » du « flow » positionne directement une valeur dans le servo-moteurs adéquate.

Ub l.png Ub m.png Ub n.png Ub o.png Ub p.png Ub q.png

Durée de fabrication du prototype final

Journal de bord