Съдържание:

Как да си направим човешки робот след Arduino: 3 стъпки
Как да си направим човешки робот след Arduino: 3 стъпки

Видео: Как да си направим човешки робот след Arduino: 3 стъпки

Видео: Как да си направим човешки робот след Arduino: 3 стъпки
Видео: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, Ноември
Anonim
Как да си направим човешки робот след Arduino
Как да си направим човешки робот след Arduino

Човек следва усета на робота и следва човека

Стъпка 1: Вземете инструментите

Вземете инструментите
Вземете инструментите
Вземете инструментите
Вземете инструментите
Вземете инструментите
Вземете инструментите

Вземете инструментите като: Ултразвуков сензор Сензор Arduino uno 4 -зъбни двигатели с колело Серво батерия и кутия на акумулатора Драйвер на двигателя Джъмперни проводници Шаси

Стъпка 2: Свързване

Свързване
Свързване
Свързване
Свързване
Свързване
Свързване
Свързване
Свързване

Свържете всяко оборудване към драйвера на двигателя. Свържете драйвера на двигателя към arduino.

Стъпка 3: Код

Код
Код

#включвам#включвам#включвам#дефинирам НАДЯСНО A2#дефинирам НАЛЯВО A3#дефинирам TRIGGER_PIN A1#дефинирам ECHO_PIN A0#дефинирам MAX_DISTANCE 100NowPing сонар (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Мотор1 (1, MOTOR12_KM); AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// поставете вашия код за настройка тук, за да стартирате веднъж: Serial.begin (9600); myservo.attach (10); {for (pos = 90; pos <= 180; pos += 1) {myservo.write (pos); забавяне (15);} for (pos = 180; pos> = 0; pos- = 1) {myservo.write (pos); забавяне (15);} for (pos = 0; pos <= 90; pos += 1) {myservo.write (pos); забавяне (15);}} pinMode (RIGHT, INPUT); pinMode (LEFT, INPUT);} void loop () {// поставете основния си код тук, за да се изпълнява многократно: delay (50); unsigned int distance = sonar.ping_cm (); Serial.print ("разстояние"); Serial.println (разстояние); int Right_Value = digitalRead (RIGHT); int Left_Value = digitalRead (НАЛЯВО); 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 (НАПРЕД); Motor2.setSpeed (120); Motor2.run (НАПРЕД); Motor3.setSpeed (120); Motor3.run (НАПРЕД); Motor4.setSpeed (120); Motor4.run (НАПРЕД);} иначе ако ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.run (НАПРЕД); Motor2.setSpeed (200); Motor2.run (НАПРЕД); Motor3.setSpeed (100); Motor3.run (НАЗАД); Motor4.setSpeed (100); Motor4.run (НАЗАД);} иначе ако ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Motor1.run (НАЗАД); Motor2.setSpeed (100); Motor2.run (НАЗАД); Motor3.setSpeed (200); Motor3.run (НАПРЕД); Motor4.setSpeed (200); Motor4.run (НАПРЕД);} иначе ако ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0); Motor1.run (РЕЛИЗАЦИЯ); Motor2.setSpeed (0); Motor2.run (РЕЛИЗАЦИЯ); Motor3.setSpeed (0); Motor3.run (РЕЛИЗАЦИЯ); Motor4.setSpeed (0); Motor4.run (RELEASE);} иначе ако (разстояние> 1 && разстояние <10) {Motor1.setSpeed (0); Motor1.run (РЕЛИЗАЦИЯ); Motor2.setSpeed (0); Motor2.run (РЕЛИЗАЦИЯ); Motor3.setSpeed (0); Motor3.run (РЕЛИЗАЦИЯ); Motor4.setSpeed (0); Motor4.run (РЕЛИЗАЦИЯ); }}

Препоръчано: