Talaan ng mga Nilalaman:
- Hakbang 1: Itim na Kahon
- Hakbang 2: Arduino
- Hakbang 3: Ang paglakip ng Arduino sa Blackbox
- Hakbang 4: Ultrasonic Sensor
- Hakbang 5: Koneksyon sa Breadboard ng Sensor sa Arduino
- Hakbang 6: Motor Shield
- Hakbang 7: Pagkonekta sa Motor Shield sa Arduino
- Hakbang 8: Pagkonekta sa 4 Mga Motors at Baterya sa Shield
- Hakbang 9: I-program ang Robot
Video: Sagabal Pag-iwas sa Robotic Car: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Paano Bumuo ng Isang Obstacle na Pag-iwas sa Robot
Hakbang 1: Itim na Kahon
ang unang hakbang na ginamit ko ang isang itim na kahon bilang batayan para sa aking robot.
Hakbang 2: Arduino
Ang Arduino ay utak ng buong system at binubuo ang aming mga motor
Hakbang 3: Ang paglakip ng Arduino sa Blackbox
Inilakip ko ang arduino sa blackbox gamit ang mainit na pandikit
Hakbang 4: Ultrasonic Sensor
Upang makagawa ng isang robot na maaaring ilipat sa pamamagitan ng sarili nitong kailangan namin ng isang uri ng isang input, isang sensor na umaangkop sa aming layunin. Ang isang ultrasonic sensor ay isang instrumento na sumusukat sa distansya sa isang bagay gamit ang mga ultrasonic sound wave. Ang isang ultrasonic sensor ay gumagamit ng isang transducer upang magpadala at tumanggap ng mga ultrasonic pulses na nagpapasa ng pabalik na impormasyon tungkol sa kalapitan ng isang bagay
Hakbang 5: Koneksyon sa Breadboard ng Sensor sa Arduino
Gumamit ako ng mga wire sa lalaki ang koneksyon sa pagitan ng breadboard at arduino.
Bigyang pansin na ang iyong sensor ng ping ay maaaring may iba't ibang layout ng pin ngunit dapat itong magkaroon ng boltahe na pin, ground pin, trig pin at isang echo pin.
Hakbang 6: Motor Shield
Ang mga board ng Arduino ay hindi maaaring makontrol ang mga dc motor sa pamamagitan ng kanilang sarili, sapagkat ang mga alon na binubuo nila ay masyadong mababa. Upang malutas ang problemang ito ginagamit namin ang mga kalasag sa motor. Ang motor na kalasag ay mayroong 2 mga channel, na nagbibigay-daan sa kontrol ng dalawang DC motor, o 1 stepper motor. … Sa pamamagitan ng pagtugon sa mga pin na ito maaari kang pumili ng isang motor channel upang simulan, tukuyin ang direksyon ng motor (polarity), itakda ang bilis ng motor (PWM), itigil at simulan ang motor, at subaybayan ang kasalukuyang pagsipsip ng bawat channel
Hakbang 7: Pagkonekta sa Motor Shield sa Arduino
Ikabit lamang ang kalasag ng motor sa arduino na may mga sensor ng wire na naka-cr in
Hakbang 8: Pagkonekta sa 4 Mga Motors at Baterya sa Shield
Ang bawat Motor Shield ay mayroong (hindi bababa sa) dalawang mga channel, isa para sa mga motor, at isa para sa isang mapagkukunan ng kuryente, Ikonekta ang mga ito na may paggalang sa bawat isa
Hakbang 9: I-program ang Robot
patakbuhin ang code na ito
# isama ang # isama
NewPing sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1 (1, MOTOR12_1KHZ); AF_DCMotor motor2 (2, MOTOR12_1KHZ); AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); Servo MyServo;
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
boolean goesForward = false; int distansya = 80; int speedSet = 0;
walang bisa ang pag-setup () {
myservo.attach (10); myservo.write (115); pagkaantala (2000); distansya = readPing (); pagkaantala (100); distansya = readPing (); pagkaantala (100); distansya = readPing (); pagkaantala (100); distansya = readPing (); pagkaantala (100); }
void loop () {int distanceR = 0; int distansyaL = 0; pagkaantala (40); kung (distansya <= 15) {moveStop (); antala (50); ilipatBackward (); pagkaantala (150); ilipatStop (); pagkaantala (100); distanceR = lookRight (); pagkaantala (100); distansyaL = lookLeft (); pagkaantala (100);
kung (distansyaR> = distansyaL) {turnRight (); ilipatStop (); } iba pa {turnLeft (); ilipatStop (); }} iba pa {moveForward (); } distansya = readPing (); }
int lookRight () {myservo.write (50); pagkaantala (250); int distansya = readPing (); antala (50); myservo.write (100); distansya ng pagbabalik; }
int lookLeft () {myservo.write (120); pagkaantala (300); int distansya = readPing (); pagkaantala (100); myservo.write (115); distansya ng pagbabalik; pagkaantala (100); }
int readPing () {pagkaantala (70); int cm = sonar.ping_cm (); kung (cm == 0) {cm = 200; } bumalik cm; }
void moveStop () {motor1.run (RELEASE); motor2.run (RELEASE); motor3.run (RELEASE); motor4.run (RELEASE); } walang bisa moveForward () {
kung (! goesForward) {goesForward = true; motor1.run (FORWARD); motor2.run (FORWARD); motor3.run (FORWARD); motor4.run (FORWARD); para sa (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); antala (5); }}}
void moveBackward () {goesForward = false; motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (BACKWARD); motor4.run (BACKWARD); para sa (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); antala (5); } void turnLeft () {motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (FORWARD); motor4.run (FORWARD); pagkaantala (500); motor1.run (FORWARD); motor2.run (FORWARD); motor3.run (FORWARD); motor4.run (FORWARD); }
void turnLeft () {motor1.run (BACKWARD); motor2.run (BACKWARD); motor3.run (FORWARD); motor4.run (FORWARD); pagkaantala (500); motor1.run (FORWARD); motor2.run (FORWARD); motor3.run (FORWARD); motor4.run (FORWARD); }
Inirerekumendang:
HeadBot - isang Robot na Nagbabago ng Sarili para sa Pag-aaral at Pag-abot sa STEM: 7 Mga Hakbang (na may Mga Larawan)
HeadBot - isang Self-Balancing Robot para sa STEM Learning and Outreach: Headbot - isang dalawang talampakan ang taas, self-balancing robot - ay ang ideya ng South Eugene Robotics Team (SERT, FRC 2521), isang mapagkumpitensyang pangkat ng robotics ng high school sa UNA Kompetisyon ng Robotics, mula sa Eugene, Oregon. Ang sikat na robot sa pag-abot na ito ay ginagawang
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: 4 Mga Hakbang (na may Mga Larawan)
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: Mahirap ang mga password … at ang pag-alala sa isang ligtas ay mas mahirap pa! Bukod dito kung mayroon kang kasama, nagbabagong password ay magtatagal ito upang mai-type. Ngunit huwag matakot sa aking mga kaibigan, mayroon akong solusyon dito! Lumikha ako ng isang maliit na awtomatikong pag-type ng makina na
Pag-uuri ng Robotic Bead: 3 Mga Hakbang (na may Mga Larawan)
Pag-uuri ng Robotic Bead: Sa proyektong ito, magtatayo kami ng isang robot upang pag-uri-uriin ang mga kuwintas ng Perler sa pamamagitan ng kulay. Palagi kong nais na bumuo ng isang robot na pag-uuri ng kulay, kaya't nang ang aking anak na babae ay interesado sa paggawa ng Perad bead, nakita ko ito bilang isang perpektong pagkakataon .Perler beads ay ginagamit t
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: 9 Mga Hakbang (na may Mga Larawan)
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: Ano ito? &Quot; Roomblock " ay isang robot platform na binubuo ng isang Roomba, isang Raspberry Pi 2, isang laser sensor (RPLIDAR) at isang mobile baterya. Ang mounting frame ay maaaring gawin ng mga 3D printer. Pinapayagan ang sistema ng nabigasyon ng ROS na gumawa ng isang mapa ng mga silid at gamitin ang
Mga Tagubilin sa Pag-browse sa Oras ng Pag-save: 6 Mga Hakbang
Mga Tagubilin sa Pag-save ng Oras: Kung ikaw ay isang gumagamit na nag-click sa buong lugar upang malaman kung ano ang bago, o pagmasdan kung ano ang tinalakay sa Komunidad maaari itong magamit. Lumikha ng iyong sariling home page, na direktang nagli-link sa iyo sa kung saan mo nais pumunta