Ako sa z človeka stane nasledujúci robot s Arduinom: 3 kroky
Ako sa z človeka stane nasledujúci robot s Arduinom: 3 kroky
Anonim
Ako sa z človeka stane nasledujúci robot s Arduinom
Ako sa z človeka stane nasledujúci robot s Arduinom

Nasledujúci robot má zmysel pre človeka a nasleduje ho

Krok 1: Získajte nástroje

Získajte nástroje
Získajte nástroje
Získajte nástroje
Získajte nástroje
Získajte nástroje
Získajte nástroje

Získajte nástroje ako: Ultrazvukový senzor Senzor Arduino uno 4 prevodové motory s kolesom Servo Batéria a puzdro na batériu Ovládač motora Prepojovacie vodiče Podvozok

Krok 2: Pripojenie

Pripája sa
Pripája sa
Pripája sa
Pripája sa
Pripája sa
Pripája sa
Pripája sa
Pripája sa

Pripojte každé zariadenie k ovládaču motora. Pripojte ovládač motora k arduinu.

Krok 3: Kód

Kód
Kód

#include#include#include#define RIGHT A2#define LEFT A3#define TRIGGER_PIN A1#define ECHO_PIN A0#define MAX_DISTANCE 100NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor1 (1, MOTOR12_1KHZ); AF_DCMotor Motor; AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// sem vložte svoj nastavovací kód, aby sa spustil raz: Serial.begin (9600); myservo.attach (10); {for (pos = 90; pos <= 180; pos += 1) {myservo.write (pos); oneskorenie (15);} pre (poz = 180; pos> = 0; pos- = 1) {myservo.write (pos); oneskorenie (15);} pre (poz = 0; pos <= 90; pos += 1) {myservo.write (pos); delay (15);}} pinMode (RIGHT, INPUT); pinMode (LEFT, INPUT);} void loop () {// sem zadajte svoj hlavný kód, aby sa spúšťal opakovane: delay (50); nepodpísaná int vzdialenosť = sonar.ping_cm (); Serial.print ("vzdialenosť"); Serial.println (vzdialenosť); 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 (Vpred); Motor2.setSpeed (120); Motor2.run (Vpred); Motor3.setSpeed (120); Motor3.run (Vpred); Motor4.setSpeed (120); Motor4.run (FORWARD);} else if ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.run (Vpred); Motor2.setSpeed (200); Motor2.run (Vpred); Motor3.setSpeed (100); Motor3.run (BACKWARD); Motor4.setSpeed (100); Motor4.run (BACKWARD);} else if ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Motor1.run (BACKWARD); Motor2.setSpeed (100); Motor2.run (BACKWARD); Motor3.setSpeed (200); Motor3.run (Vpred); Motor4.setSpeed (200); Motor4.run (FORWARD);} else if ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0); Motor1.run (UVOĽNENIE); Motor2.setSpeed (0); Motor2.run (UVOĽNENIE); Motor3.setSpeed (0); Motor3.run (UVOĽNENIE); Motor4.setSpeed (0); Motor4.run (RELEASE);} else if (vzdialenosť> 1 && vzdialenosť <10) {Motor1.setSpeed (0); Motor1.run (UVOĽNENIE); Motor2.setSpeed (0); Motor2.run (UVOĽNENIE); Motor3.setSpeed (0); Motor3.run (UVOĽNENIE); Motor4.setSpeed (0); Motor4.run (UVOĽNENIE); }}

Odporúča: