Différences entre versions de « Projets:Useless box »

De wikilab
 
(18 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
{{Infobox projet
 +
|Image principale=Ub o.png
 +
|Description=Boite inutile !
 +
|Porteur de projet=Davidz
 +
|Contributeurs=Davidz
 +
|Fabmanager=Yo
 +
|Référent documentation=Davidz
 +
|Catégorie de handicap=Hors handicap
 +
|Etat d'avancement=Réalisés
 +
|Statut de la documentation=Partielle
 +
|Relecture de la documentation=Non vérifiée
 +
|Licence=by-sa
 +
|Projet date=2021-09-07
 +
|Nom humanlab=Humanlab_MHK
 +
}}
 
== Description du projet ==
 
== Description du projet ==
  
Ligne 7 : Ligne 22 :
 
== Equipe (Porteur de projet et contributeurs) ==
 
== Equipe (Porteur de projet et contributeurs) ==
  
* Porteurs du projet :
+
* Responsable de documentation et porteurs du projet : Zielinski David
* Concepteurs/contributeurs :
+
* Fabmanager référent : Véron Yohann
* Animateur (coordinateur du projet)
 
* Fabmanager référent
 
* Responsable de documentation
 
  
 
== Matériel nécessaire ==
 
== Matériel nécessaire ==
 
[[File:Uba0.png]]
 
[[File: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 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 »).
+
[[File:Ub_b.png]]
  
 
Cette carte est alimenté en 9 volts via une pile qui alimente (en 5V) les deux servomoteurs.
 
Cette carte est alimenté en 9 volts via une pile qui alimente (en 5V) les deux servomoteurs.
Ligne 24 : Ligne 38 :
 
Une platine d’essai sans soudure est également présente afin de faciliter les différentes connections.
 
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.
 
La carte communique en tant que port de série avec un PC via un câble USB.
 
[[File:Ub_b.png]]
 
  
 
==Outils nécessaires==
 
==Outils nécessaires==
Ligne 37 : Ligne 49 :
 
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.
 
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.
+
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 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.
+
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.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|+Les GPIO Utilisées et leur mode de fonctionnement
 
|+Les GPIO Utilisées et leur mode de fonctionnement
|Firmata
+
|'''Firmata
|Pin
+
|'''Pin
|Mode
+
|'''Mode
|Commentaires
+
|'''Commentaires
 
|-
 
|-
 
|rowspan="9" |[[File:ub_g.png]]
 
|rowspan="9" |[[File:ub_g.png]]
 
|2
 
|2
 
|Input
 
|Input
|Pas utilisé
+
|<s>''Pas utilisé''</s>
 
|-
 
|-
 
|4
 
|4
Ligne 83 : Ligne 95 :
 
|16
 
|16
 
|Analog A2
 
|Analog A2
|Pas utilisé
+
|<s>''Pas utilisé''</s>
 
|-
 
|-
 
|}
 
|}
  
 
==Etapes de fabrication pas à pas==
 
==Etapes de fabrication pas à pas==
[[File:Ub c.png]]
 
 
{| class="wikitable"
 
{| class="wikitable"
 
| La sortie
 
| La sortie
Ligne 107 : Ligne 118 :
 
|-
 
|-
 
| La sortie RGB
 
| La sortie RGB
| La diode RGB dans l’œil
+
| pour diode RGB dans l’œil
 
D11 ,,,
 
D11 ,,,
 
D12 est relier à une LED  
 
D12 est relier à une LED  
Ligne 117 : Ligne 128 :
 
| POWER 5V  POWER GND
 
| POWER 5V  POWER GND
 
|}
 
|}
 
+
[[File:Ub c.png]]
 
{| class="wikitable"
 
{| class="wikitable"
| Le fil
+
| '''Le fil
| pour
+
| '''pour
| couleur
+
| '''couleur
| image
+
| '''image
 
|-
 
|-
 
| Le fil
 
| Le fil
Ligne 151 : Ligne 162 :
 
|-
 
|-
 
| D11 D12 D13
 
| D11 D12 D13
| La diode RGB dans l’œil
+
| Pour la diode RGB dans l’œil
D12 est relier à une LED
+
''D13 correspond à la diode LED_BUILTIN de la carte.''
D13 correspond à la diode LED_BUILTIN de la carte.
 
 
|
 
|
 
|  
 
|  
Ligne 159 : Ligne 169 :
 
|}
 
|}
  
Node red
+
'''Node red'''<br>
StandardFirmata
+
''StandardFirmata''<br>
 +
 
 
Télécharger dans la carte le StandardFirmata présent dans Fichier/Exemple/Firmata de Arduino IDE.
 
Télécharger dans la carte le StandardFirmata présent dans Fichier/Exemple/Firmata de Arduino IDE.
 
Ensuite quitter l’application IDE Arduino.
 
Ensuite quitter l’application IDE Arduino.
  
Node-red
+
''Node-red''<br>
 
Installer node red. (pour lancer le terminal (Ctrl+Alt+T)),
 
Installer node red. (pour lancer le terminal (Ctrl+Alt+T)),
 
sudo apt-get install npm
 
sudo apt-get install npm
Ligne 178 : Ligne 189 :
  
 
Il est maintenant possible le piloter la box via les deux pages web ui et flow
 
Il est maintenant possible le piloter la box via les deux pages web ui et flow
{| class="wikitable"
+
{| class="wikitable" center
| center|Flow
+
| '''Flow
| center|UI
+
| '''UI
 
|-
 
|-
 
|[[File:Ub i.png|center|400px]]
 
|[[File:Ub i.png|center|400px]]
Ligne 191 : Ligne 202 :
  
 
[[File:Ub k.png]]
 
[[File:Ub k.png]]
puis faire un Deploy
+
puis faire un '''Deploy'''<br>
 
L’utilisation de cette ui et de son flow permet de trouver cinq valeurs pour les commandes des deux servo-moteurs.
 
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).
 
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.  
 
Cinq « inject node » du « flow » positionne directement une valeur dans le servo-moteurs adéquate.  
 
+
{| class="wikitable"
[[File:Ub l.png]]
+
| '''Servo-moteurs
[[File:Ub m.png]]
+
| '''Nom
[[File:Ub n.png]]
+
| '''Valeur
[[File:Ub o.png]]
+
| '''Image
[[File:Ub p.png]]
+
|-
 +
|rowspan="3" |Box
 +
|Close
 +
|133
 +
|[[File:Ub l.png|center|400px]]
 +
|-
 +
|Open
 +
|85
 +
|[[File:Ub m.png|center|400px]]
 +
|-
 +
|
 +
|<95
 +
|Passage possible de la girafe sans toucher le couvercle
 +
|-
 +
|rowspan="3" |Paw
 +
|Hide
 +
|138
 +
|[[File:Ub n.png|center|400px]]
 +
|-
 +
|Touch
 +
|32
 +
|[[File:Ub o.png|center|400px]]
 +
|-
 +
|Click
 +
|23
 +
|[[File:Ub p.png|center|400px]]
 +
|-
 +
|}
 +
Platformio (Visual Studio Code)<br>
 +
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
 
[[File:Ub q.png]]
 
[[File: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==
 
==Durée de fabrication du prototype final==
 
==Journal de bord==
 
 
[[Category:Projets]]
 
[[Category:En cours]]
 

Version actuelle datée du 27 juillet 2022 à 09:07

Useless box

Ub o.png

Informations
Description Boite inutile !
Catégorie Hors handicap
Etat d'avancement Réalisés
Techniques
Durée de fabrication
Coût matériel
Niveau
Licence by-sa
Date de création 2021-09-07
Équipe
Porteur de projet Davidz
Contributeurs Davidz
Fabmanager Yo
Référent documentation Davidz
Nom humanlab Humanlab_MHK
Documentation
Statut de la documentation Partielle
Relecture de la documentation Non vérifiée

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