Description :
Voici une première version du code et du câblage pour ce bras robotique trouver sur un site de partage d’impression 3d disponible gratuitement.
https://www.thingiverse.com/thing:2838859
J’ai trouvé la conception de ce bras intéressante et facilement imprimable.
Mais malheureusement aucun schéma de câblage et de code disponible pour son fonctionnement.
Je vais donc vous partager pour mon plus grand plaisir plusieurs versions pour faire fonctionner ce bras robotique.
Prérequis :
Version IDE :
Bibliothèque :
Vidéo de démonstration :
VIDEO
Schéma de câblage :
Download Code :
Code :
// on définit les Pins utilisé par les moteurs const int Bt1 = A0; const int Bt2 = A1; const int Bt3 = A2; const int Bt4 = A3; const int Bt5 = A4; const int Bt6 = A5; const int Bt7 = A6; // on inclut la bibliothèque pour piloter les moteurs PAP #include <Stepper.h> const int stepsPerRevolution = 512; Stepper myStepper1(stepsPerRevolution, 22, 26, 24, 28); Stepper myStepper2(stepsPerRevolution, 30, 34, 32, 36); Stepper myStepper3(stepsPerRevolution, 38, 42, 40, 44); int motorSpeed = 40; // on inclut la bibliothèque pour piloter un servomoteur #include <Servo.h> Servo monServo; boolean EtatBt1; boolean Etatpince = 0; unsigned long currentTime = 0; unsigned long previousTime = 0; void setup() { Serial.begin(9600); pinMode(Bt1, INPUT_PULLUP); pinMode(Bt2, INPUT_PULLUP); pinMode(Bt3, INPUT_PULLUP); pinMode(Bt4, INPUT_PULLUP); pinMode(Bt5, INPUT_PULLUP); pinMode(Bt6, INPUT_PULLUP); pinMode(Bt7, INPUT_PULLUP); myStepper1.setSpeed(motorSpeed); myStepper2.setSpeed(motorSpeed); myStepper3.setSpeed(motorSpeed); // on définit le Pin utilisé par le servomoteur monServo.attach(8); } void loop() { currentTime = millis(); if ((currentTime - previousTime) > 100) { if (digitalRead(Bt1) == LOW && EtatBt1 == LOW) { Etatpince = !Etatpince; EtatBt1 = HIGH; previousTime = currentTime; if (Etatpince == 1) { monServo.write(3); } else { monServo.write(70); } } if (digitalRead(Bt1) == HIGH && EtatBt1 == HIGH) { EtatBt1 = LOW; previousTime = currentTime; } } if (digitalRead(Bt2) == LOW && digitalRead(Bt3) == HIGH) { myStepper1.step(1); } if (digitalRead(Bt3) == LOW && digitalRead(Bt2) == HIGH) { myStepper1.step(-1); } if (digitalRead(Bt2) == HIGH && digitalRead(Bt3) == HIGH) { digitalWrite(22, LOW); digitalWrite(26, LOW); digitalWrite(24, LOW); digitalWrite(28, LOW); } if (digitalRead(Bt4) == LOW && digitalRead(Bt5) == HIGH) { myStepper2.step(1); } if (digitalRead(Bt5) == LOW && digitalRead(Bt4) == HIGH) { myStepper2.step(-1); } if (digitalRead(Bt4) == HIGH && digitalRead(Bt5) == HIGH) { digitalWrite(30, LOW); digitalWrite(34, LOW); digitalWrite(32, LOW); digitalWrite(36, LOW); } if (digitalRead(Bt6) == LOW && digitalRead(Bt7) == HIGH) { myStepper3.step(1); } if (digitalRead(Bt7) == LOW && digitalRead(Bt6) == HIGH) { myStepper3.step(-1); } if (digitalRead(Bt6) == HIGH && digitalRead(Bt7) == HIGH) { digitalWrite(38, LOW); digitalWrite(42, LOW); digitalWrite(40, LOW); digitalWrite(44, LOW); } }
Nombre de vues: 3 190
J’aime ça : J’aime chargement…