Sisukord:
Video: Kuidas Arduino abil nutikat robotit teha: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Tere,
Olen arduino tegija ja selles õpetuses näitan teile, kuidas arduino abil nutikat robotit teha
kui teile meeldis minu õpetus, siis kaaluge minu youtube'i kanali arduino tegija toetamist
Tarvikud
ASJAD, mida teil vaja läheb:
1) arduino uno
2) ultraheli andur
3) Bo mootor
4) rattad
5) jäätisepulgad
6) 9v aku
1. samm: ÜHENDUSED
Pärast kõigi tarvikute hankimist peaksite alustama kõigi asjade ühendamist vastavalt ülaltoodud skeemile
2. samm: liimige kõik kohad kokku
OKEI,
Nüüd ühendage kõik asjad oma kohale, nagu ülaltoodud pildil näidatud
3. samm: PROGRAMMIMINE
Nüüd,
alustage tahvli programmeerimist allpool toodud koodiga
// ARDUINO OBSTACLE AVOIDING CAR //// Enne koodi üleslaadimist peate installima vajaliku kogu // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPingi raamatukogu https://github.com/livetronic/Arduino-NewPing// // Servo raamatukogu https://github.com/arduino-libraries/Servo.git // // Raamatukogude installimiseks minge visandile >> Kaasa Raamatukogu >> Lisa. ZIP -fail >> Valige ülaltoodud linkidelt allalaaditud ZIP -failid //
#kaasake
#kaasake
#kaasake
#defineeri TRIG_PIN A0
#defineeri ECHO_PIN A1 #defineeri MAX_DISTANCE 200
#define MAX_SPEED 150 // määrab alalisvoolumootorite kiiruse
#define MAX_SPEED_OFFSET 20
NewPingi sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMootorimootor1 (1, MOTOR12_1KHZ);
// AF_DCMootorimootor2 (2, MOTOR12_1KHZ); // AF_DCMootorimootor3 (3, MOTOR34_1KHZ); AF_DCMootorimootor4 (4, MOTOR34_1KHZ); Servo myservo;
tõeväärtus läheb Edasi = vale;
int kaugus = 100; int speedSet = 0;
tühine seadistus () {
myservo.attach (10);
myservo.write (115); viivitus (1000); kaugus = readPing (); viivitus (100); kaugus = readPing (); viivitus (100); kaugus = readPing (); viivitus (100); kaugus = readPing (); viivitus (100); }
void loop () {
int kaugusR = 0; int kaugusL = 0; viivitus (40); if (kaugus <= 15) {moveStop (); viivitus (100); moveBackward (); viivitus (300); moveStop (); viivitus (200); kaugusR = lookRight (); viivitus (300); kaugusL = lookLeft (); viivitus (300);
kui (kaugusR> = kaugusL)
{ pööra paremale(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } kaugus = readPing (); }
int lookRight ()
{myservo.write (50); viivitus (650); int kaugus = readPing (); viivitus (100); myservo.write (115); tagasisõidu kaugus; }
int lookLeft ()
{myservo.write (170); viivitus (650); int kaugus = readPing (); viivitus (100); myservo.write (115); tagasisõidu kaugus; viivitus (100); }
int readPing () {
viivitus (70); int cm = sonar.ping_cm (); kui (cm == 0) {cm = 250; } tagasitulek cm; }
void moveStop () {
motor1.run (RELEASE); //motor2.run(RELEASE); //motor3.run(VABASTAMINE); motor4.run (RELEASE); } void moveForward () {
kui (! läheb edasi)
{lähebForward = tõsi; mootor1.jooks (EDASI); //motor2.run(EELT); //motor3.run(EELT); motor4.run (EDASI); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // tõsta kiirust aeglaselt, et vältida akude liiga kiiret laadimist {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); viivitus (5); }}}
void moveBackward () {
läheb edasi = vale; motor1.run (TAGASI); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (TAGASI); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // tõsta kiirust aeglaselt, et vältida akude liiga kiiret laadimist {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); viivitus (5); }}
void turnRight () {
motor1.run (TAGASI); //motor2.run(BACKWARD); //motor3.run(EELT); motor4.run (EDASI); viivitus (350); mootor1.jooks (EDASI); //motor2.run(EELT); //motor3.run(EELT); motor4.run (EDASI); } void turnLeft () {motor1.run (FORWARD); //motor2.run(EELT); //motor3.run(BACKWARD); motor4.run (TAGASI); viivitus (350); mootor1.jooks (EDASI); //motor2.run(EELT); //motor3.run(EELT); motor4.run (EDASI); }
Soovitan:
Kuidas teha nutikat kodu Arduino juhtreleemooduli abil - Koduautomaatika ideed: 15 sammu (piltidega)
Kuidas teha nutikat kodu Arduino juhtreleemooduli abil | Koduautomaatika ideed: Selles koduautomaatika projektis kavandame nutika kodu releemooduli, mis suudab juhtida 5 kodumasinat. Seda releemoodulit saab juhtida mobiiltelefonist või nutitelefonist, infrapuna- või teleri kaugjuhtimispuldist, käsitsi lülitist. See nutikas relee tunneb ka r
Kuidas teha nutikat potti rakendusega juhitava NodeMCU abil: 8 sammu
Kuidas teha nutipotti rakendusega juhitava NodeMCU -ga: selles juhendis ehitame nutipoti, mida juhib ESP32 ja nutitelefonirakendus (iOS ja Android). Ühenduse ja Blynk -raamatukogu jaoks kasutame NodeMCU -d (ESP32) pilve IoT ja nutitelefoni rakenduse jaoks. Lõpuks me
Kuidas teha nutikat üleujutuste tuvastamise häiresüsteemi Raspberry Pi ja osakeste argooni abil: 6 sammu
Kuidas teha nutikat üleujutuse tuvastamise häiresüsteemi Raspberry Pi ja osakeste argooni abil: standardsed üleujutusandurid on suurepärased, et vältida teie kodu või töökoha tohutut kahjustamist. Kuid see teeb raskeks, kui te pole kodus alarmi külastamas. Muidugi võite need nutikad osta. See üleujutuste häiresüsteem tuvastab vedeliku ja käivitab häire
Kuidas teha takistusi, vältides robotit Arduino abil: 5 sammu
Kuidas teha takistusi, vältides robotit Arduino abil: Selles juhendis õpetan teile, kuidas teha takistusi, vältides Arduinoga töötavat robotit. Arduino peab olema tuttav. Arduino on kontrollerplaat, mis kasutab atmega mikrokontrollerit. Võite kasutada mis tahes Arduino versiooni, kuid ma
Kuidas teha nutikat kohvrit Raspberry Pi abil: 4 sammu
Kuidas teha nutikat kohvrit Raspberry Pi abil: selles õpetuses selgitan, kuidas saate Raspberry Pi abil nutika kohvri teha. Kui olete lõpetanud, saate oma kohvrit kogu maailmas jälgida ja kaaluda seda ilma skaalat vajamata. Alustame