• Post category:EEZYbotArm MK3
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :avril 22, 2023
  • Temps de lecture :5 min de lecture

Bras robotique EEZYbotArm MK3 Tests et Montage 1 avec Arduino

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 :

Matériel :

Version IDE :

Bibliothèque :

 

Vidéo de démonstration :

Schéma de câblage :

Download Code :

EEZYbotArm_MK3_Montage_1

 

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);
}
}

 

Laisser un commentaire