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.”

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

Liens

  • machine_a_peindre.txt
  • Dernière modification: 2019/04/11 18:14
  • par Mushussu