Ceci est une ancienne révision du document !
Table des matières
Machine à peindre
Inspirations
“Non, la peinture n’est pas faite pour décorer les appartements. C’est un instrument de guerre offensive et défensive contre l’ennemi.”
Pablo Picasso
Réalisation
JOUR 1
09/11/2108
Base une lyre Robe Spot 250xt hors d'usage. La voici démontée :
Les deux moteurs pas-à-pas qui réalisent le pan et le tilt ont comme référence : 23HS0001-02
Les connecteurs de moteur JST :
Boitier - Code commande : RS 820-1523 / Référence fabricant : XHP-11 / Fabricant : JST
Cosse - Code commande RS : 820-1529 / Référence fabricant : BXH-001T-P0.6 / Fabricant : JST
Commutateur optique manquant : Code commande RS 708-5538 Référence fabricant TCST1103 Fabricant Vishay
JOUR 2
22/11/2108 Objectif : Réalisation du capteur optique manquant sur la roue codeuse du pan :
J'ai pris modèle sur le capteur du tilt. La surprise a été de constater que deux encodeurs optique étaient positionnés côte à côte.
JOUR 3
13/12/2108
Objectif : Compter le nombre de pas du pan avec l'encodeur optique. Résultat : ~2470
Code Arduino :
byte c2, c3; void setup() { Serial.begin(115200); pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); c2 = digitalRead(2); c3 = digitalRead(3); } void loop() { if (c2 != digitalRead(2)) { c2 = digitalRead(2); byte b = c2 + (digitalRead(3) << 1); Serial.write(b); } if (c3 != digitalRead(3)) { c3 = digitalRead(3); byte b = digitalRead(2) + (c3 << 1); Serial.write(b); } }
Code Processing :
import processing.serial.*; Serial arduino; int val = 0; void setup() { String portArduino = Serial.list()[4]; arduino = new Serial(this, portArduino, 115200); } void draw() { } void serialEvent(Serial port) { val++; } void keyPressed() { switch(key) { case ' ' : println(val); break; case 'a' : val = 0; break; } }
JOUR 4
14/12/2108
Objectif : Faire fonctionner les capteurs à effet Hall du pan
J'ai repris le code Arduino de l'étape précédente. Pour la visualisation des capteurs, voici le code Processing :
import processing.serial.*; Serial arduino; byte lecture = 3; void setup() { size(500, 300); String portArduino = Serial.list()[4]; arduino = new Serial(this, portArduino, 115200); } void draw() { background(255); if ((lecture & 1) != 0) { fill(255); } else { fill(255, 0, 0); } rect(100, 100, 100, 100); if ((lecture & 2) != 0) { fill(255); } else { fill(255, 0, 0); } rect(300, 100, 100, 100); } void serialEvent(Serial port) { lecture = (byte)arduino.read(); }
Driver des moteurs pas à pas : NJM2670D2 fabricant JRC