Jinsi ya kutengeneza Roboti ifuatayo ya Binadamu na Arduino: Hatua 3
Jinsi ya kutengeneza Roboti ifuatayo ya Binadamu na Arduino: Hatua 3
Anonim
Jinsi ya kutengeneza Roboti ifuatayo ya Binadamu na Arduino
Jinsi ya kutengeneza Roboti ifuatayo ya Binadamu na Arduino

Binadamu anafuata akili ya robot na anafuata mwanadamu

Hatua ya 1: Pata Zana

Pata Zana
Pata Zana
Pata Zana
Pata Zana
Pata Zana
Pata Zana

Pata zana kama: sensa ya Ultrasonic SenseorArduino uno motors 4 za gia na gurudumu Servo Battery na kesi ya betri Dereva wa gari Jumper waya Chassis

Hatua ya 2: Kuunganisha

Kuunganisha
Kuunganisha
Kuunganisha
Kuunganisha
Kuunganisha
Kuunganisha
Kuunganisha
Kuunganisha

Unganisha kila vifaa kwa dereva wa gari. Unganisha dereva wa gari kwa arduino.

Hatua ya 3: Kanuni

Kanuni
Kanuni

# ni pamoja na # ni pamoja na # ni pamoja na # fafanua # HAKI A2 # fafanua KUSHOTO A3 # fafanua TRIGGER_PIN A1 # fafanua ECHO_PIN A0 # fafanua MAX_DISTANCE 100NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor1 (1, MOTOR12_1KHZ); AF_DCMot) AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; ambatisha (10); {kwa (pos = 90; pos <= 180; pos + = 1) {myservo.write (pos); kuchelewesha (15);} kwa (pos = 180; pos> = 0; pos- = 1) {myservo.write (pos); kuchelewesha (15);} kwa (pos = 0; pos <= 90; pos + = 1) {myservo.write (pos); kuchelewesha (15);}} pinMode (KULIA, INPUT); pinMode (KUSHOTO, INPUT);} kitanzi batili () {// weka nambari yako kuu hapa, kuendesha mara kwa mara: kuchelewesha (50); unsigned int umbali = sonar.ping_cm (); Serial.print ("umbali"); Serial.println (umbali); int Right_Value = digitalRead (RIGHT); int Left_Value = digitalRead (LEFT);; Serial.println (Right_Value); Serial.print ("LEFT"); Serial.println (Left_Value); ikiwa ((Right_Value == 1) && (umbali> = 10 && umbali <= 30) && (Left_Value == 1 ({1) Pikipiki 1. Mbio1.kimbia (MBELE); Pikipiki 2. kuweka kasi (120); Mbio2.kimbia (MBELE); Pikipiki 3. kuweka kasi (120); Mbio3.kimbia (MBELE); Pikipiki 4. Kuweka Kasi (120); Motor4.run (FORWARD);} vingine ikiwa ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Mbio1.kimbia (MBELE); Pikipiki 2. kuweka kasi (200); Mbio2.kimbia (MBELE); Motor3.setSpeed (100); Mbio3. Kukimbia (BACKWARD); Pikipiki 4. Kuweka Kasi (100); Motor4.run (BACKWARD);} vingine ikiwa ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Pikipiki1.kimbia (NYUMA); Pikipiki 2. kuweka kasi (100); Mbio2.kimbia (NYUMA); Pikipiki 3. Kuweka Kasi (200); Mbio3.kimbia (MBELE); Pikipiki 4. Kuweka Kasi (200); Motor4.run (FORWARD);} vingine ikiwa ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0); Pikipiki1.kimbia (KUACHIA); Pikipiki2. Speed (0); Pikipiki2.kimbia (KUACHIA); Motor3.setSpeed (0); Pikipiki3.kimbia (KUACHIA); Pikipiki4.setSpeed (0); Motor4.run (RELEASE);} vingine ikiwa (umbali> 1 && umbali <10) {Motor1.setSpeed (0); Pikipiki1.kimbia (KUACHIA); Pikipiki2. Speed (0); Pikipiki2.kimbia (KUACHIA); Motor3.setSpeed (0); Pikipiki3.kimbia (KUACHIA); Pikipiki4.setSpeed (0); Pikipiki4.kimbia (KUACHIA); }}

Ilipendekeza: