Étape 7: programmation avec le capteur de distance
Il possède un capteur de distance, et il peut réagir à celle
je wil semer vous comment vous êtes en mesure de programmer que vous possédez.
Il est écrit en c ++
la première chose que vous voyez est la suivante
#define trigPin 7 //toevoegen aan code
#define echoPin 6
#define a conduit 13
#include < Servo.h >
maintenant, nous sommes, y compris du servo, dirigé et le capteur de distance du code. vous n’avez pas à changer quoi que ce soit ici.
Après cela, vous voyez ceci ;
Servo myservo1 ; Naam geven
Servo myservo2 ;
Servo myservo3 ;
Servo myservo4 ;
Servo myservo5 ;
maintenant nous donnons al le 5 signaux (6 servo) un nom (peut être ce que vous voulez)
suivant ;
void setup() {}
Serial.Begin (9600) ;
pinMode (trigPin, sortie) ; aanstluiting op arduino
pinMode (echoPin, entrée) ;
pinMode (led, sortie) ;
myservo1.Attach(3) ;
myservo2.Attach(5) ;
myservo3.Attach(9) ;
myservo4.Attach(10) ;
myservo5.Attach(11) ;
}
maintenant nous disons l’arduino sur laquelle broche le servo et le capteur de distance sont connectés, encore une fois vous n’avez pas de toucher ce
suivant ;
void position1() {/ / positie 1
digitalWrite (conduit, en haut) ; LED s’allume
myservo2.writeMicroseconds(1300) ;
myservo3.writeMicroseconds(1300) ;
myservo4.writeMicroseconds(800) ;
myservo5.writeMicroseconds(1000) ;
}
C’est quelque chose vous pouvez changer, j’ai fait une position et appelez cette position1. maintenant, je peux utiliser cette position plus tard dans mon code.
Si vous voulez un autre mouvement, changer les numéros entre les () pour quelque chose entre 0 et 3000.
après ;
void position2() {//positie 2
digitalWrite(led,LOW) ; voyant éteint
myservo2.writeMicroseconds(1200) ;
myservo3.writeMicroseconds(1300) ;
myservo4.writeMicroseconds(1400) ;
myservo5.writeMicroseconds(2200) ;
}
C’est la même qu’avant seulement voilà mon position2, maintenant vous pouvez modifié du poste et si vous voulez en rajouter.
Ensuite, vous voyez ceci ;
void loop() {}
longue durée, distance ;
digitalWrite (trigPin, basse) ;
delayMicroseconds(2) ;
digitalWrite (trigPin, HIGH) ;
delayMicroseconds(10) ;
digitalWrite (trigPin, basse) ;
durée = pulseIn (echoPin, HIGH) ;
distance = (durée/2) / 29,1 ;
maintenant le début de la véritable code de travail, ne pas toucher cette partie c’est juste quelque chose à configurer le capteur de distance.
et puis ;
Si (distance < = 30) {//do positie 1
position1() ;
}
else {}
position2() ; faire positie 2
}
Si {(distance < 10)
myservo5.writeMicroseconds(2200) ; Ouvrez klauw
}
else {}
myservo5.writeMicroseconds(1000) ; Voert klauw
}
-------------------------------------------------------------------------------------
maintenant, vous pouvez ajouter un mouvement à une distance. vous qui faites de cette façon.
Si (distance < = 30) {//you disent maintenant, si la distance est inférieure ou est il va position1 30 cm.
position1() ; le mow bras fait tout ce que vous mettez entre les {} brakeds
}
else {/ / si la distance est supérieure à 30 cm il fait position2
Positionner () 2 / / il fait maintenant tout ce que vous mettez entre tose brakeds {}
}
maintenant vous pouvez annonce cet Pentecôte chaque distance vous aimez et le laisser faire ce que vous voulez.
la peur qu’une partie du code.
Si (distance 30 > || distance < = 0) {}
Serial.println ("out of range") ; BUITEN berijk, als het groter dan 30 de kleiner dan 0 est
}
else {}
Serial.Print(distance) ;
Serial.println ("cm") ; distance en cm
}
Delay(500) ; Wacht 0,5 seconde
}
vous n’avez pas à changer quoi que ce soit ici, pourrait être la seule chose que vous modifiez « cm » dans « pouce » mais je n’ai pas encore essayé. donc, je n’ai pas maintenant ou qui fonctionne très bien.
J’espère que vous maintenant al comprendre comment vous pouvez faire votre un mouvement à une distance.
avoir du plaisir avec vous bras robotisé