salut a tous,
je me permet de déposer mon projet ici afin d'en faire profiter tous ce a qui sa intéresse, mon projet de bras robot arduino et servos.C'est un bras sur 3 articulations une rotation et une pince.
sketch :
#include <Servo.h>
Servo myservo;
Servo myservo2;
int potpin = 0;
int val; // vitesse position +
int val2; // vitesse position -
int val3; // + ou - possition servo
int pos; // position servo
int pos1; // position servo 2
int bp = 0;
const int bp1 = 4;
const int bp2 = 2;
void setup() {
myservo.attach(9);
myservo2.attach(6);
Serial.begin(9600);
pinMode(bp1, INPUT); //pince
pinMode(bp2, INPUT); // bras superieur
digitalWrite(bp1, HIGH);
digitalWrite(bp2, HIGH);
}
void loop() {
val = analogRead(potpin);
val2 = analogRead(potpin);
val3 = analogRead(potpin);
//Serial.println(val3);
//Serial.print("pince :");
//Serial.println(pos);
//Serial.print("bras :");
//Serial.println(pos1);
//Serial.println(bp);
myservo.write(pos);
myservo2.write(pos1);
val = map(val, 580, 1023, 100, 5);
val2 = map(val2, 498, 0, 100, 5);
int etatbp1 = digitalRead(bp1);
int etatbp2 = digitalRead(bp2);
{
if (etatbp1 == LOW){
bp = 1;}
else if (etatbp2 == LOW){
bp = 2;}
else
{ bp = 0; } }
switch(bp){
case 1 :
if (val3 < 498)
{ if(pos > 0){
pos--;
delay(val2); }}
if (val3 > 580)
{ if(pos < 180){
pos++;
delay(val); }}
break ;
case 2 :
if (val3 < 498)
{ if(pos1 > 0){
pos1--;
delay(val2); }}
if (val3 > 580)
{ if(pos1 < 180){
pos1++;
delay(val); }}
break ;
}
}