Innehållsförteckning:

Hur man gör en människa efter robot med Arduino: 3 steg
Hur man gör en människa efter robot med Arduino: 3 steg

Video: Hur man gör en människa efter robot med Arduino: 3 steg

Video: Hur man gör en människa efter robot med Arduino: 3 steg
Video: Lesson 95: Using L293D 4 DC Motors Shield for Arduino UNO and Mega | Arduino Step By Step Course 2024, Juli
Anonim
Hur man gör en människa efter robot med Arduino
Hur man gör en människa efter robot med Arduino

Människan följer robotens sinne och följer människan

Steg 1: Skaffa verktygen

Skaffa verktygen
Skaffa verktygen
Skaffa verktygen
Skaffa verktygen
Skaffa verktygen
Skaffa verktygen

Skaffa verktygen som: Ultraljudssensor Sensor Arduino uno 4 växelmotorer med hjul Servo Batteri och batterifodral Motorförare Jumper trådar Chassi

Steg 2: Anslutning

Ansluter
Ansluter
Ansluter
Ansluter
Ansluter
Ansluter
Ansluter
Ansluter

Anslut varje utrustning till motorföraren. Anslut motorföraren till arduino.

Steg 3: Kod

Koda
Koda

#inkludera#inkludera#inkludera#definiera HÖGER A2#definiera VÄNSTER A3#definiera TRIGGER_PIN A1#definiera ECHO_PIN A0#definiera MAX_DISTANCE 100NyPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor1 (1, MOTOR12_1KHZ);; AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// lägg din installationskod här för att köra en gång: Serial.begin (9600); myservo.attach (10); {för (pos = 90; pos <= 180; pos += 1) {myservo.write (pos); fördröjning (15);} för (pos = 180; pos> = 0; pos- = 1) {myservo.write (pos); fördröjning (15);} för (pos = 0; pos <= 90; pos += 1) {myservo.write (pos); delay (15);}} pinMode (RIGHT, INPUT); pinMode (LEFT, INPUT);} void loop () {// lägg din huvudkod här för att köra upprepade gånger: delay (50); osignerad int distans = sonar.ping_cm (); Serial.print ("distans"); Serial.println (distans); 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.körning (FRAMÅT); Motor2.setSpeed (120); Motor2.körning (FRAMÅT); Motor3.setSpeed (120); Motor3.körning (FRAMÅT); Motor4.setSpeed (120); Motor4.run (FORWARD);} annars om ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.körning (FRAMÅT); Motor2.setSpeed (200); Motor2.körning (FRAMÅT); Motor3.setSpeed (100); Motor3.körning (BACKWARD); Motor4.setSpeed (100); Motor4.run (BACKWARD);} annars ifall ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Motor1.körning (BACKWARD); Motor2.setSpeed (100); Motor2.körning (BACKWARD); Motor3.setSpeed (200); Motor3.körning (FRAMÅT); Motor4.setSpeed (200); Motor4.run (FORWARD);} annars om ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0); Motor1.körning (RELEASE); Motor2.setSpeed (0); Motor2.run (RELEASE); Motor3.setSpeed (0); Motor3.körning (RELEASE); Motor4.setSpeed (0); Motor4.run (RELEASE);} annars if (avstånd> 1 && avstånd <10) {Motor1.setSpeed (0); Motor1.körning (RELEASE); Motor2.setSpeed (0); Motor2.run (RELEASE); Motor3.setSpeed (0); Motor3.körning (RELEASE); Motor4.setSpeed (0); Motor4.run (RELEASE); }}

Rekommenderad: