Sadržaj:

Kako napraviti robota koji slijedi čovjeka s Arduinom: 3 koraka
Kako napraviti robota koji slijedi čovjeka s Arduinom: 3 koraka

Video: Kako napraviti robota koji slijedi čovjeka s Arduinom: 3 koraka

Video: Kako napraviti robota koji slijedi čovjeka s Arduinom: 3 koraka
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Studeni
Anonim
Kako napraviti Arduina za robota koji slijedi čovjeka?
Kako napraviti Arduina za robota koji slijedi čovjeka?

Čovjek slijedi robotsko čulo i slijedi čovjeka

Korak 1: Nabavite alate

Nabavite alate
Nabavite alate
Nabavite alate
Nabavite alate
Nabavite alate
Nabavite alate

Nabavite alate kao što su: Ultrazvučni senzorSensorArduino uno motori sa 4 stupnja prijenosa s kotačemServo Baterija i kućište akumulatora Motor pokretača Žice kratkospojnika Šasija

Korak 2: Povezivanje

Povezivanje
Povezivanje
Povezivanje
Povezivanje
Povezivanje
Povezivanje
Povezivanje
Povezivanje

Priključite svaku opremu na upravljački program motora. Povežite upravljački program motora na arduino.

Korak 3: Kodirajte

Kodirati
Kodirati

#include#include#include#definiraj DESNO A2#definiraj LIJEVO A3#definiraj TRIGGER_PIN A1#definiraj ECHO_PIN A0#definiraj MAX_DISTANCE 100NowPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor1 (1, MOTOR12_MOTO2; AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// ovdje postavite svoj kôd za postavljanje, da biste ga pokrenuli jednom: Serial.begin (9600); myservo.attach (10); {for (pos = 90; pos <= 180; pos += 1) {myservo.write (pos); kašnjenje (15);} for (pos = 180; pos> = 0; pos- = 1) {myservo.write (pos); kašnjenje (15);} for (pos = 0; pos <= 90; pos += 1) {myservo.write (pos); delay (15);}} pinMode (RIGHT, INPUT); pinMode (LEFT, INPUT);} void loop () {// ovdje postavite svoj glavni kôd, radi ponovnog izvođenja: delay (50); unsigned int distance = sonar.ping_cm (); Serial.print ("udaljenost"); Serial.println (udaljenost); int Right_Value = digitalRead (DESNO); int Left_Value = digitalRead (LIJEVO); Serial.print ("DESNO"); 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 (NAPRIJED); Motor2.setSpeed (120); Motor2.run (NAPRIJED); Motor3.setSpeed (120); Motor3.run (NAPRIJED); Motor4.setSpeed (120); Motor4.run (FORWARD);} else if ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.run (NAPRIJED); Motor2.setSpeed (200); Motor2.run (NAPRIJED); Motor3.setSpeed (100); Motor3.run (NAZAD); Motor4.setSpeed (100); Motor4.run (BACKWARD);} else if ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Motor1.run (NAZAD); Motor2.setSpeed (100); Motor2.run (NAZAD); Motor3.setSpeed (200); Motor3.run (NAPRIJED); 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 (udaljenost> 1 && udaljenost <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); }}

Preporučeni: