Projets:Useless box

From wikilab

Description du projet

Cahier des charges

Analyse de l'existant

Equipe (Porteur de projet et contributeurs)

  • Responsable de documentation et porteurs du projet : Zielinski David
  • Fabmanager référent : Véron Yohann

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 »).


Ub b.png

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.

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 d'abord 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 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

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 pour 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

Ub c.png

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 Pour la diode RGB dans l’œil

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.

Servo-moteurs Nom Valeur Image
Box Close 133
Ub l.png
Open 85
Ub m.png
<95 Passage possible de la girafe sans toucher le couvercle
Paw Hide 138
Ub n.png
Touch 32
Ub o.png
Click 23
Ub p.png

Platformio (Visual Studio Code)
Cette environnement de développement est bien plus riche que l’IDE Arduino. Installer platformio sur Visual Studio Code (une outil microsoft disponible sous linux et gratuit) https://youtu.be/-2NhjhzFQsM https://docs.platformio.org/en/latest/integration/ide/vscode.html Ub q.png Installer VSCode : https://code.visualstudio.com/ (voir : https://www.youtube.com/watch?v=0poh_2rBq7E) Télécharger/Installer une version récente du paquet « Visual Studio Code » (ex :code_1.62.3-1637137107_amd64.deb) Installer PlatformIO depuis les extensions danss VSCode Dans Plalformio créer un projet pour une carte Arduino R3

Durée de fabrication du prototype final

Journal de bord