Sisällysluettelo:

Kuinka tehdä ihmisen seuraava robotti Arduinolla: 3 vaihetta
Kuinka tehdä ihmisen seuraava robotti Arduinolla: 3 vaihetta

Video: Kuinka tehdä ihmisen seuraava robotti Arduinolla: 3 vaihetta

Video: Kuinka tehdä ihmisen seuraava robotti Arduinolla: 3 vaihetta
Video: Learn Arduino in 30 Minutes: Examples and projects 2024, Heinäkuu
Anonim
Kuinka tehdä ihmisen seuraava robotti Arduinon avulla
Kuinka tehdä ihmisen seuraava robotti Arduinon avulla

Ihminen seuraa robotin aistia ja seuraa ihmistä

Vaihe 1: Hanki työkalut

Hanki Työkalut
Hanki Työkalut
Hanki Työkalut
Hanki Työkalut
Hanki Työkalut
Hanki Työkalut

Hanki työkalut, kuten: Ultraääni -anturi AnturiArduino uno 4 -vaihteinen moottori pyörällä Servo -akku ja paristokotelo Moottorin ohjain Hyppyjohtimet Alusta

Vaihe 2: Yhdistäminen

Yhdistetään
Yhdistetään
Yhdistetään
Yhdistetään
Yhdistetään
Yhdistetään
Yhdistetään
Yhdistetään

Yhdistä kaikki laitteet moottoriajuriin ja yhdistä moottoriajuri arduinoon.

Vaihe 3: Koodi

Koodi
Koodi

#include#include#include#define OIKEA A2#määritä VASEN A3#määritä TRIGGER_PIN A1#määritä ECHO_PIN A0#määritä MAX_DISTANCE 100Uusi käynnistysluotain (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor1 (1, MOTOR12_1KHM);; AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// laita asennuskoodisi tähän, jotta se suoritetaan kerran: Serial.begin (9600); myservo.attach (10); {for (pos = 90; pos <= 180; pos += 1) {myservo.write (pos); delay (15);} for (pos = 180; pos> = 0; pos- = 1) {myservo.write (pos); delay (15);} for (pos = 0; pos <= 90; pos += 1) {myservo.write (pos); delay (15);}} pinMode (OIKEA, TULO); pinMode (LEFT, INPUT);} void loop () {// laita pääkoodisi tänne toistettavaksi: delay (50); unsigned int distance = sonar.ping_cm (); Serial.print ("distance"); Serial.println (distance); int Right_Value = digitalRead (RIGHT); int Left_Value = digitalRead (LEFT); Serial.print ("RIGHT"); Serial.println (Right_Value); Serial.print ("LEFT"); Serial.println (Left_Value); if ((Right_Value == 1) && (distance> = 10 && distance <= 30) && (Left_Value == 1))) {Motor1.setSpeed (120); Motor1.run (ETEENPÄIN); Motor2.setSpeed (120); Motor2.run (ETEENPÄIN); Motor3.setSpeed (120); Motor3.run (ETEENPÄIN); Motor4.setSpeed (120); Motor4.run (FORWARD);} else if ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.run (ETEENPÄIN); Motor2.setSpeed (200); Motor2.run (ETEENPÄIN); Motor3.setSpeed (100); Motor3.run (TAKAISIN); Motor4.setSpeed (100); Motor4.run (BACKWARD);} else if ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Motor1.run (TAKAISIN); Motor2.setSpeed (100); Motor2.run (TAKAISIN); Motor3.setSpeed (200); Motor3.run (ETEENPÄIN); Motor4.setSpeed (200); Motor4.run (FORWARD);} else if ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0); Motor1.run (RELEASE); Motor2.setSpeed (0); Motor2.run (RELEASE); Motor3.setSpeed (0); Motor3.run (RELEASE); Motor4.setSpeed (0); Motor4.run (RELEASE);} else if (etäisyys> 1 && etäisyys <10) {Motor1.setSpeed (0); Motor1.run (RELEASE); Motor2.setSpeed (0); Motor2.run (RELEASE); Motor3.setSpeed (0); Motor3.run (RELEASE); Motor4.setSpeed (0); Motor4.run (RELEASE); }}

Suositeltava: