Turinys:
- Prekės
- 1 žingsnis: JUNGTYS
- 2 veiksmas: priklijuokite visas sudedamąsias dalis
- 3 žingsnis: PROGRAMAVIMAS
Video: Kaip sukurti protingą robotą naudojant „Arduino“: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Sveiki,
Aš esu arduino kūrėjas ir šioje pamokoje aš jums parodysiu, kaip padaryti išmanųjį robotą naudojant arduino
jei jums patiko mano pamoka, apsvarstykite galimybę palaikyti mano „YouTube“kanalą, pavadintą „arduino maker“
Prekės
DAUG REIKIA:
1) arduino uno
2) ultragarso jutiklis
3) Bo variklis
4) ratai
5) ledų lazdelės
6) 9 V baterija
1 žingsnis: JUNGTYS
Dabar, kai gausite visas atsargas, turėtumėte pradėti jungti visus dalykus pagal aukščiau pateiktą schemą
2 veiksmas: priklijuokite visas sudedamąsias dalis
GERAI,
Dabar prijunkite visus daiktus, kaip parodyta aukščiau esančiame paveikslėlyje
3 žingsnis: PROGRAMAVIMAS
Dabar,
pradėkite programuoti lentą naudodami žemiau pateiktą kodą
// „ARDUINO OBSTACLE AVOIDING CAR“//// Prieš įkeldami kodą turite įdiegti reikiamą biblioteką // // „AFMotor Library“https://learn.adafruit.com/adafruit-motor-shield/library-install // // „NewPing“biblioteka https://github.com/livetronic/Arduino-NewPing// // Servo biblioteka https://github.com/arduino-libraries/Servo.git // // Norėdami įdiegti bibliotekas, eikite į eskizą >> Įtraukti Biblioteka >> Pridėti. ZIP failą >> Pasirinkite atsisiųstus ZIP failus iš aukščiau pateiktų nuorodų //
#įtraukti
#įtraukti
#įtraukti
#define TRIG_PIN A0
#define ECHO_PIN A1 #define MAX_DISTANCE 200
#define MAX_SPEED 150 // nustato nuolatinės srovės variklių greitį
#define MAX_SPEED_OFFSET 20
„NewPing“sonaras (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotorinis variklis1 (1, MOTOR12_1KHZ);
// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotorinis variklis4 (4, MOTOR34_1KHZ); Servo myservo;
loginis einaForward = false;
int atstumas = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); vėlavimas (1000); atstumas = skaitytiPing (); vėlavimas (100); atstumas = skaitytiPing (); vėlavimas (100); atstumas = skaitytiPing (); vėlavimas (100); atstumas = skaitytiPing (); vėlavimas (100); }
void loop () {
int atstumasR = 0; int atstumasL = 0; vėlavimas (40); if (atstumas <= 15) {moveStop (); vėlavimas (100); Judėk atgal(); vėlavimas (300); moveStop (); vėlavimas (200); atstumasR = lookRight (); vėlavimas (300); atstumasL = lookLeft (); vėlavimas (300);
jei (atstumasR> = atstumasL)
{ Pasukite į dešinę(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } atstumas = skaitytiPing (); }
int lookRight ()
{myservo.write (50); vėlavimas (650); int atstumas = skaitytiPing (); vėlavimas (100); myservo.write (115); grįžimo atstumas; }
int lookLeft ()
{myservo.write (170); vėlavimas (650); int atstumas = skaitytiPing (); vėlavimas (100); myservo.write (115); grįžimo atstumas; vėlavimas (100); }
int readPing () {
vėlavimas (70); int cm = sonar.ping_cm (); jei (cm == 0) {cm = 250; } grįžti cm; }
void moveStop () {
motor1.run (RELEASE); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (RELEASE); } void moveForward () {
jei (! eina pirmyn)
{eina pirmyn = tiesa; motor1.run (į priekį); //motor2.run(PIRMININKAS); //motor3.run(PIRMININKAS); motor4.run (į priekį); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lėtai didinkite greitį, kad akumuliatoriai nebūtų kraunami per greitai {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); vėlavimas (5); }}}
void moveBackward () {
eina pirmyn = klaidinga; motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lėtai didinkite greitį, kad akumuliatoriai nebūtų kraunami per greitai {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); vėlavimas (5); }}
void turnRight () {
motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(PIRMININKAS); motor4.run (į priekį); vėlavimas (350); motor1.run (į priekį); //motor2.run(PIRMININKAS); //motor3.run(PIRMININKAS); motor4.run (į priekį); } void turnLeft () {motor1.run (FORWARD); //motor2.run(PIRMININKAS); //motor3.run(BACKWARD); motor4.run (BACKWARD); vėlavimas (350); motor1.run (į priekį); //motor2.run(PIRMININKAS); //motor3.run(PIRMININKAS); motor4.run (į priekį); }
Rekomenduojamas:
Pasidaryk pats -- Kaip sukurti robotą vorą, kurį galima valdyti naudojant išmanųjį telefoną naudojant „Arduino Uno“: 6 veiksmai
Pasidaryk pats || Kaip sukurti voratinklio robotą, kurį galima valdyti naudojant išmanųjį telefoną naudojant „Arduino Uno“: Gaminant „Spider“robotą, galima sužinoti tiek daug apie robotiką. Kaip ir robotų kūrimas yra įdomus ir sudėtingas. Šiame vaizdo įraše parodysime, kaip sukurti robotą „Voras“, kurį galime valdyti naudodami savo išmanųjį telefoną (Androi
Kaip sukurti robotą šunį naudojant 9G servos: 3 žingsniai
Kaip sukurti robotą šunį naudojant 9G servos: tai robotas šuo, įkvėptas „Boston Dynamic“„Spotmini“, tačiau šį kartą daug mažesniu mastu. Ši roboto šuns versija sukurta su keliolika servo ir kai kurių kitų komponentų, tokių kaip „Ardurino Nano“. Galite rasti puikių pamokomų
Kaip pasigaminti protingą gėlių vazoną: 8 žingsniai
Kaip pasigaminti protingą gėlių vazoną: ar žinote, kas paskatino žmones sukurti pirmąjį miestą? Tai žemės ūkis. Šiame projekte mes pagaminsime 3D atspausdintą gėlių vazoną, kuriame galėtų būti nedidelis vidutinio dydžio augalas su LED ekranu išorėje, rodančiame drėgmę
Paprasta ir protinga robotinė ranka naudojant „Arduino“!!!: 5 žingsniai (su nuotraukomis)
Paprasta ir protinga robotinė ranka naudojant „Arduino“!!!: Šioje instrukcijoje aš padarysiu paprastą robotą ranką. Tai bus kontroliuojama naudojant pagrindinę ranką. Ranka prisimins judesius ir žais iš eilės. Idėja nėra nauja, idėją gavau iš „Stoerpeak“sukurtos „robotų rankos“. Norėjau t
Kaip sukurti autonominį krepšinio žaidimo robotą, naudojant „IRobot“, sukurti kaip pagrindą: 7 žingsniai (su paveikslėliais)
Kaip sukurti autonominį krepšinio žaidimo robotą naudojant „IRobot“sukurti kaip pagrindą: tai mano įrašas, skirtas iššūkiui „iRobot Create“. Sunkiausia viso šio proceso dalis buvo nuspręsti, ką robotas ketina daryti. Norėjau pademonstruoti puikias „Create“savybes, kartu pridėdamas šiek tiek robo nuojautos. Visas mano