Мазмуну:
Video: Arduino аркылуу акылдуу роботту кантип жасоо керек: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
салам,
Мен arduino жаратуучусумун жана бул үйрөткүчтө мен сизге ардуинону колдонуп акылдуу роботту кантип жасоону көрсөтөм.
эгер менин үйрөткүчүм сизге жакса, анда менин yoduube каналымды arduino maker деп колдоп көрүңүз
Жабдуулар
Сизге керектүү нерселер:
1) arduino uno
2) УЗИ сенсору
3) Бо мотор
4) дөңгөлөктөр
5) балмуздак таякчалары
6) 9v батарея
1 -кадам: БАЙЛАНЫШТАР
Андан кийин, бардык материалдарды азыр алуу менен, баарын жогоруда берилген схемага ылайык туташтыра башташыңыз керек
2 -кадам: БААРДЫК КОМПОНЕНТТЕРДИ ОРНУНА ГЛЕЕ
Макул,
азыр бардык нерселерди жогорудагы сүрөттө көрсөтүлгөндөй туташтырыңыз
3 -кадам: ПРОГРАММАЛОО
Эми,
төмөндө берилген код менен тактаны программалоону баштаңыз
// ARDUINO OBSTACLE AVOIDING CAR //// Кодду жүктөөдөн мурун керектүү китепкананы орнотушуңуз керек // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing китепканасы https://github.com/livetronic/Arduino-NewPing// // Servo Library https://github.com/arduino-libraries/Servo.git // // Китепканаларды орнотуу үчүн эскизге өтүңүз >> Кошуу Китепкана >>. ZIP файлын кошуу >> Жогорудагы шилтемелерден Жүктөлгөн ZIP файлдарын тандоо //
#кошуу
#кошуу
#кошуу
#аныктоо TRIG_PIN A0
200
#define MAX_SPEED 150 // DC кыймылдаткычтарынын ылдамдыгын белгилейт
#аныктоо MAX_SPEED_OFFSET 20
NewPing sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor мотор1 (1, MOTOR12_1KHZ);
// AF_DCMotor мотор2 (2, MOTOR12_1KHZ); // AF_DCMotor мотор3 (3, MOTOR34_1KHZ); AF_DCMotor мотор4 (4, MOTOR34_1KHZ); Servo myservo;
логикалык goForward = false;
int расстояние = 100; int speedSet = 0;
жараксыз орнотуу () {
myservo.attach (10);
myservo.write (115); кечигүү (1000); аралык = readPing (); кечиктирүү (100); аралык = readPing (); кечиктирүү (100); аралык = readPing (); кечиктирүү (100); аралык = readPing (); кечиктирүү (100); }
void loop () {
int расстояниеR = 0; int расстояние L = 0; кечиктирүү (40); if (расстояние <= 15) {moveStop (); кечиктирүү (100); moveBackward (); кечигүү (300); moveStop (); кечигүү (200); расR = lookRight (); кечигүү (300); расстояние L = lookLeft (); кечигүү (300);
эгер (расстояние R> = расстояние L)
{ оңго бурулуу(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } аралык = readPing (); }
int lookRight ()
{myservo.write (50); кечигүү (650); int расстояние = readPing (); кечиктирүү (100); myservo.write (115); кайтуу аралыгы; }
int lookLeft ()
{myservo.write (170); кечигүү (650); int расстояние = readPing (); кечиктирүү (100); myservo.write (115); кайтуу аралыгы; кечиктирүү (100); }
int readPing () {
кечиктирүү (70); int cm = sonar.ping_cm (); эгер (см == 0) {см = 250; } см кайтаруу; }
void moveStop () {
motor1.run (ЧЫГАРУУ); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (ЧЫГАРУУ); } void moveForward () {
эгер (! Алга)
{goForward = true; motor1.run (АЛГА); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (АЛГА); үчүн (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // батарейкаларды өтө тез жүктөбөө үчүн ылдамдыкты акырындык менен алып келиңиз {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); кечигүү (5); }}}
void moveBackward () {
баратForward = false; motor1.run (Артка); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (Артка); үчүн (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // батарейкаларды өтө тез жүктөбөө үчүн ылдамдыкты акырындык менен алып келиңиз {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); кечигүү (5); }}
void turnRight () {
motor1.run (Артка); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (АЛГА); кечигүү (350); motor1.run (АЛГА); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (АЛГА); } боштук turnLeft () {motor1.run (АЛГА); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (Артка); кечигүү (350); motor1.run (АЛГА); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (АЛГА); }
Сунушталууда:
DIY -- Arduino Uno менен смартфондун жардамы менен башкарыла турган жөргөмүш роботту кантип жасоо керек: 6 кадам
DIY || Arduino Uno аркылуу смартфонду башкарууга боло турган жөргөмүш роботту кантип жасоо керек: Spider роботун жасап жатканда робототехника жөнүндө көп нерселерди биле алабыз. Бул видеодо биз сизге смартфондун жардамы менен иштей ала турган жөргөмүш роботун жасоону көрсөтөбүз (Androi
Кантип Arduino негизделген четинен роботту жасоо керек: 4 кадам
Кантип Arduino негизделген роботту жасабоо керек: Arduino жана IR сенсорлорун колдонуп, толугу менен автономдуу робот жасайбыз. Ал столдун үстүн түшпөстөн изилдейт. Көбүрөөк билүү үчүн видеону көрүңүз
Үйдө роботту жок кылуу үчүн Arduino DIY тоскоолдуктарын кантип жасоо керек: 4 кадам
Кантип DIY Arduino тоскоолдуктардан качуучу роботту үйдө жасоо керек: Салам балдар, бул көрсөтмөдө сиз роботтон качуу үчүн тоскоолдук кыласыз. Бул Instructable жакын объекттерди аныктоо жана бул объектилерди качуу үчүн багытын өзгөртө алат УЗИ сенсор менен робот курууну камтыйт. УЗИ сенсор
Кантип ESP32 менен ESP8266 аркылуу ESP-NOW аркылуу бир нече ESP сүйлөшүүлөрүн жасоо керек: 8 кадам
Кантип ESP32 жана ESP8266 аркылуу ESP-NOW аркылуу бир нече ESP сүйлөшүүлөрүн жасоо керек: Менин иштеп жаткан долбоорумда, роутерсиз бири-бири менен сүйлөшүү үчүн мага бир нече ESP керек. Бул үчүн, мен ESP-NOW аркылуу ESP роутери жок бири-бири менен зымсыз байланыш түзүү үчүн колдонуп жатам
[Arduino Robot] Кыймылдуу роботту кантип жасоо керек - Бармак робот - Servo Motor - Булак коду: 26 кадам (Сүрөттөр менен)
[Arduino Robot] Кыймылдуу роботту кантип жасоо керек | Бармак робот | Servo Motor | Булак коду: Thumbs Robot. MG90S серво моторунун потенциометрин колдонгон. Бул абдан кызыктуу жана оңой! Код абдан жөнөкөй. Бул болгону 30 линиянын тегерегинде. Сураныч, кандайдыр бир сурооңузду же пикириңизди калтырыңыз! [Instruction] Source Code https: //github.c