Kazalo:

Kako z Arduinom narediti človeka za robota: 3 koraki
Kako z Arduinom narediti človeka za robota: 3 koraki

Video: Kako z Arduinom narediti človeka za robota: 3 koraki

Video: Kako z Arduinom narediti človeka za robota: 3 koraki
Video: ПОЧЕМУ Я ЖДУ L4D3 2024, November
Anonim
Kako z Arduinom narediti človeka za robota
Kako z Arduinom narediti človeka za robota

Človek sledi robotskemu občutku in sledi človeku

1. korak: Pridobite orodja

Pridobite orodja
Pridobite orodja
Pridobite orodja
Pridobite orodja
Pridobite orodja
Pridobite orodja

Pridobite orodja, kot so: Ultrazvočni senzor Senzor Arduino uno 4 -stopenjski motorji s kolesom Servo Baterija in ohišje akumulatorja Gonilnik motorja Žice za premostitev Podvozje

2. korak: Povezovanje

Povezovanje
Povezovanje
Povezovanje
Povezovanje
Povezovanje
Povezovanje
Povezovanje
Povezovanje

Vsako opremo priključite na gonilnik motorja. Gonilnik motorja priključite na arduino.

3. korak: Koda

Koda
Koda

#vključi#vključi#vključi#določi DESNO A2#določi LEVO A3#določi TRIGGER_PIN A1#določi ECHO_PIN A0#določi MAX_DISTANCE 100NovPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor1 (1, MOTOR12_K); AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// vnesite nastavitveno kodo sem, da se zažene enkrat: Serial.begin (9600); myservo.attach (10); {for (pos = 90; pos <= 180; pos += 1) {myservo.write (pos); zamuda (15);} for (pos = 180; pos> = 0; pos- = 1) {myservo.write (pos); zakasnitev (15);} for (pos = 0; pos <= 90; pos += 1) {myservo.write (pos); delay (15);}} pinMode (RIGHT, INPUT); pinMode (LEFT, INPUT);} void loop () {// vnesite svojo glavno kodo sem, da se zažene večkrat: delay (50); nepodpisana int razdalja = 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 (NAPREJ); Motor2.setSpeed (120); Motor2.run (NAPREJ); Motor3.setSpeed (120); Motor3.run (NAPREJ); Motor4.setSpeed (120); Motor4.run (FORWARD);} else if ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.run (NAPREJ); Motor2.setSpeed (200); Motor2.run (NAPREJ); 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 (NAPREJ); 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);} drugače če (razdalja> 1 && razdalja <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); }}

Priporočena: