Агуулгын хүснэгт:
- Алхам 1: Тоног төхөөрөмж
- Алхам 2: Хэлхээ диаграмын зургийн файл
- Алхам 3: Хэлхээ диаграмын фризинг файл
- Алхам 4: Дамжуулагч код
- Алхам 5: Хүлээн авагчийн код
- Алхам 6: INO файлууд
- Алхам 7: Номын сангийн холбоос
Видео: Дохио зангаагаар удирддаг утасгүй машин: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэхүү гарын авлагад бид дохио зангаагаар удирддаг машин эсвэл ямар ч робот хийх талаар сурах болно. Энэхүү төсөл нь хоёр хэсэгтэй бөгөөд нэг хэсэг нь дамжуулагч, нөгөө хэсэг нь хүлээн авах нэгж юм. Дамжуулагч төхөөрөмжийг гар бээлий дээр суурилуулсан бөгөөд хүлээн авагчийг машин эсвэл бусад робот дотор байрлуулсан болно. Одоо сайхан машин хийх цаг болжээ. Явцгаая!
Алхам 1: Тоног төхөөрөмж
Дамжуулагчийн нэгж
1. Ардуино Нано.
2. MPU6050 мэдрэгчийн модуль.
3. RF 433 МГц дамжуулагч.
4. Ямар ч төрлийн 3 үүр, 11.1 вольтын батерей (Энд би зоосон үүр ашигласан).
5. Vero-Board.
6. Гар бээлий.
Хүлээн авагчийн нэгж
1. Arduino Nano эсвэл Arduino Uno.
2. L298N мотор драйвер модуль.
3. Хөдөлгүүрийг багтаасан 4 дугуйтай роботын хүрээ.
4. RF 433 RF хүлээн авагч.
5. 3 эс, 11.1 вольтын Li-po зай.
6. Vero-board.
Бусад
1. Цавуу мод, буу.
2. Холбогч утас.
3. Шураг жолооч нар
4. Гагнуурын хэрэгсэл.
гэх мэт
Алхам 2: Хэлхээ диаграмын зургийн файл
Алхам 3: Хэлхээ диаграмын фризинг файл
Алхам 4: Дамжуулагч код
#оруулах
#оруулах
#оруулах
MPU6050 mpu6050 (утас);
урт таймер = 0;
char *хянагч;
хүчингүй тохиргоо ()
{Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (үнэн); vw_set_ptt_inverted (үнэн); // vw_set_tx_pin (10); vw_setup (4000); // өгөгдөл дамжуулах хурд Kbps
}
хоосон давталт ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050. шинэчлэх ();
if (millis () - таймер> 1000)
{Serial.println ("========================================== ========== "); Serial.print ("temp:"); Serial.println (mpu6050.getTemp ()); Serial.print ("accX:"); Serial.print (mpu6050.getAccX ()); Serial.print ("\ taccY:"); Serial.print (mpu6050.getAccY ()); Serial.print ("\ taccZ:"); Serial.println (mpu6050.getAccZ ()); Serial.print ("gyroX:"); Serial.print (mpu6050.getGyroX ()); Serial.print ("\ tgyroY:"); Serial.print (mpu6050.getGyroY ()); Serial.print ("\ tgyroZ:"); Serial.println (mpu6050.getGyroZ ()); Serial.print ("accAngleX:"); Serial.print (mpu6050.getAccAngleX ()); Serial.print ("\ taccAngleY:"); Serial.println (mpu6050.getAccAngleY ()); Serial.print ("gyroAngleX:"); Serial.print (mpu6050.getGyroAngleX ()); Serial.print ("\ tgyroAngleY:"); Serial.print (mpu6050.getGyroAngleY ()); Serial.print ("\ tgyroAngleZ:"); Serial.println (mpu6050.getGyroAngleZ ()); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); Serial.println ("=========================================== ========== / n "); таймер = миллис (); }
/////////////////////////////////////////////////////////////////////////////////////
хэрэв (mpu6050.getAccAngleX () 30) {хянагч = "X2"; vw_send ((uint8_t *) хянагч, strlen (хянагч)); vw_wait_tx (); // Бүх зурвас алга болтол хүлээ Serial.println ("FORWARD"); } өөр if (mpu6050.getAccAngleY ()> 40) {хянагч = "Y1"; vw_send ((uint8_t *) хянагч, strlen (хянагч)); vw_wait_tx (); // Бүх зурвас алга болтол хүлээнэ үү Serial.println ("LEFT"); } өөр бол (mpu6050.getAccAngleY () <-40) {хянагч = "Y2"; vw_send ((uint8_t *) хянагч, strlen (хянагч)); vw_wait_tx (); // Бүх зурвас алга болтол хүлээ Serial.println ("ЗӨВ"); } өөр бол (mpu6050.getAccAngleX ()-10 && mpu6050.getAccAngleY ()-10) {хянагч = "A1"; vw_send ((uint8_t *) хянагч, strlen (хянагч)); vw_wait_tx (); // Бүх зурвас алга болтол хүлээ Serial.println ("ЗОГСООХ"); }}
Алхам 5: Хүлээн авагчийн код
#оруулах
int LA = 3;
int LB = 11; int RA = 5; int RB = 6; void setup () {Serial.begin (9600); vw_set_ptt_inverted (үнэн); // DR3100 vw_set_rx_pin (12) -д шаардлагатай. vw_setup (4000); // Бит секунд тутамд pinMode (13, OUTPUT); pinMode (LA, OUTPUT); pinMode (LB, OUTPUT); pinMode (RA, OUTPUT); pinMode (RB, OUTPUT); vw_rx_start (); // Serial.println ("Бүгд ОК") ажиллаж байгаа PLL хүлээн авагчийг эхлүүлэх;
}
void loop () {uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message (buf, & buflen)) // Блоклохгүй
{if ((buf [0] == 'X') && (buf [1] == '1')) {Serial.println ("BACKWARD"); арагшаа (); саатал (100); // унтраах (); } if if ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("FORWARD"); урагш (); саатал (100); // унтраах (); }
өөр бол ((buf [0] == 'Y') && (buf [1] == '1'))
{Serial.println ("Зүүн"); зүүн (); саатал (100); // унтраах (); }
өөр бол ((buf [0] == 'Y') && (buf [1] == '2'))
{Serial.println ("ЗӨВ"); баруун (); саатал (100); // унтраах (); } if if ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("STOP"); унтраах (); саатал (100); }} өөр {Serial.println ("Дохио хүлээн аваагүй"); }}
хоосон урагшлах ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 70); analogWrite (RB, 0); }
хоосон буцах ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
зүүн хоосон ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 70); analogWrite (RB, 0); }
хоосон эрх ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
хүчингүй болгох ()
{analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
Алхам 6: INO файлууд
Алхам 7: Номын сангийн холбоос
Виртуал утас номын сан:
MPU6050_tockn Libraby:
Утасны номын сан:
Зөвлөмж болгож буй:
Arduino ашиглан дохио зангаагаар удирддаг робот: 7 алхам
Arduino ашиглан дохио зангаагаар удирддаг робот: Роботыг барилга, цэрэг, үйлдвэрлэл, угсралт гэх мэт олон салбарт ашигладаг. Роботууд бие даасан эсвэл хагас бие даасан байж болно. Автономит роботууд хүний оролцоо шаарддаггүй бөгөөд нөхцөл байдлын дагуу бие даан ажиллах боломжтой. За
Дохио зангаагаар удирддаг робот - Spinel Crux: 4 алхам
Дохио зангаагаар удирддаг робот - Spinel Crux: Spinel Crux Утасгүй тандалтын төслийн дохио зангаагаар удирддаг робот. Энэ цувралд бид бартаатай газар нутгаар явж, гар дохио зангаа ашиглан удирдах чадвартай робот бүтээх болно. Роботыг жолоодохын тулд бид хяналтын бээлий ашиглах болно
Дохио зангаагаар удирддаг хулгана: 6 алхам (зурагтай)
Дохио зангаагаар удирддаг хулгана: Та найзуудтайгаа зөөврийн компьютер дээр кино үзэж байгаа бөгөөд нэг залуугийн сэтгэл татам болжээ. Аа .. киног түр зогсоохын тулд та байрнаасаа буух хэрэгтэй. Та проекторын талаар танилцуулга хийж байгаа бөгөөд програмуудын хооронд шилжих шаардлагатай байна. Та хөдлөх хэрэгтэй
Микро ашиглан дохио зангаагаар удирддаг хулгана: бит: 5 алхам
Дохио зангаагаар удирддаг хулгана нь микро: бит: ТАНИЛЦУУЛГА Энэхүү төсөл нь дохио зангаагаар удирддаг хулгана бөгөөд дотор нь микро: бит суулгасан бээлий хэлбэртэй байна. Энэ бол миний суулгасан инженер байх үеийн анхны санаагаар өдөөгдсөн төсөл юм. Би утасгүй хулгана, гарын иж бүрдэлтэй байхыг үргэлж хүсч байна
Дохио зангаагаар удирддаг машин: 5 алхам (зурагтай)
Дохио зангаагаар удирддаг машин: Барилга, цэрэг, анагаах ухаан, үйлдвэрлэл гэх мэт бүхий л салбарт автоматжуулалт хийхэд роботууд чухал үүрэг гүйцэтгэдэг. Bluetooth ашиглан удирдлагатай машин гэх мэт үндсэн роботуудыг хийсний дараа би энэхүү акселерометр дээр суурилсан ges -ийг бүтээсэн