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
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: