Hoe maak je een menselijke volgende robot met Arduino - Ajarnpa
Hoe maak je een menselijke volgende robot met Arduino - Ajarnpa
Anonim
Hoe maak je een menselijke volgende robot met Arduino
Hoe maak je een menselijke volgende robot met Arduino

Mens volgt robotgevoel en volgt mens

Stap 1: Verkrijg de tools

Verkrijg het gereedschap
Verkrijg het gereedschap
Verkrijg het gereedschap
Verkrijg het gereedschap
Verkrijg het gereedschap
Verkrijg het gereedschap

Verkrijg de tools zoals: Ultrasone sensorSensorArduino uno 4 reductiemotoren met wielServo Batterij en batterijbehuizing Motordriver Jumper-draden Chassis

Stap 2: Verbinden

Verbinden
Verbinden
Verbinden
Verbinden
Verbinden
Verbinden
Verbinden
Verbinden

Sluit elke apparatuur aan op de motordriver. Sluit de motordriver aan op Arduino.

Stap 3: Coderen

Code
Code

#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, MOTOR2,12_1KHZ2);;AF_DCMotor Motor3(3, MOTOR34_1KHZ);AF_DCMotor Motor4(4, MOTOR34_1KHZ);Servo myservo;int pos =0;void setup() { // plaats hier uw setup-code om één keer uit te voeren: Serial.begin(9600);myservo.attach(10);{for(pos = 90; pos <= 180; pos += 1){ myservo.write(pos); vertraging (15);} voor (pos = 180; pos >= 0; pos-= 1) { myservo.write (pos); vertraging (15);}for(pos = 0; pos<=90; pos += 1) { myservo.write(pos); delay(15);}}pinMode(RIGHT, INPUT);pinMode(LEFT, INPUT);}void loop() {// plaats hier je hoofdcode om herhaaldelijk uit te voeren: delay(50); unsigned int distance = 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 (VOORUIT); Motor2.setSpeed (120); Motor2.run (VOORUIT); Motor3.setSpeed (120); Motor3.run(VOORUIT); Motor4.setSpeed (120); Motor4.run(FORWARD);}else if((Right_Value==0) && (Left_Value==1)) { Motor1.setSpeed(200); Motor1.run (VOORUIT); Motor2.setSpeed (200); Motor2.run (VOORUIT); Motor3.setSpeed (100); Motor3.run (ACHTERUIT); Motor4.setSpeed (100); Motor4.run(ACHTERUIT);}else if((Right_Value==1)&&(Left_Value==0)) { Motor1.setSpeed(100); Motor1.run (ACHTERUIT); Motor2.setSpeed (100); Motor2.run (ACHTERUIT); Motor3.setSpeed (200); Motor3.run(VOORUIT); 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);}else if(distance > 1 && distance <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); } }

Aanbevolen: