Мазмұны:
- 1 -қадам: жабдықтар
- 2 -қадам: схема кескінінің файлы
- 3 -қадам: схеманың фризинг файлы
- 4 -қадам: таратқыш коды
- 5 -қадам: алушының коды
- 6 -қадам: INO файлдары
- 7 -қадам: Кітапханаларға сілтеме
Бейне: Қимылмен басқарылатын сымсыз көлік: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл оқулықта біз қимылмен басқарылатын машинаны немесе кез келген роботты жасауды үйренеміз. Бұл жоба екі бөліктен тұрады, бір бөлігі таратқыш, ал екінші бөлігі қабылдағыш. Таратқыш қондырғы іс жүзінде қолғапқа орнатылған, ал қабылдағыш машинаға немесе кез келген роботқа салынған. Енді жақсы көлік жасаудың уақыты келді. Барайық!
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. жаңарту ();
егер (миллис () - таймер> 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 («АЛҒА»); } else if (mpu6050.getAccAngleY ()> 40) {контроллер = «Y1»; vw_send ((uint8_t *) контроллері, strlen (контроллер)); vw_wait_tx (); // Бүкіл хабар жоғалғанша күтіңіз Serial.println («LEFT»); } else if (mpu6050.getAccAngleY () <-40) {контроллер = «Y2»; vw_send ((uint8_t *) контроллері, strlen (контроллер)); vw_wait_tx (); // Бүкіл хабар жоғалғанша күтіңіз Serial.println («ОҢ»); } else if (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); // өшіру (); } else if ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println («АЛҒА»); алға (); кешіктіру (100); // өшіру (); }
әйтпесе ((buf [0] == 'Y') && (buf [1] == '1'))
{Serial.println («СОЛҒА»); сол(); кешіктіру (100); // өшіру (); }
әйтпесе ((buf [0] == 'Y') && (buf [1] == '2'))
{Serial.println («ОҢ»); оң (); кешіктіру (100); // өшіру (); } else if ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println («STOP»); өшіру (); кешіктіру (100); }} else {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 көмегімен қимылмен басқарылатын робот: Роботтар құрылыс, әскери, өндіріс, құрастыру және т.б. сияқты көптеген салаларда қолданылады. Роботтар автономды немесе жартылай автономды болуы мүмкін. Автономды роботтар адамның араласуын қажет етпейді және жағдайға сәйкес өз бетінше әрекет ете алады. Се
Қимылмен басқарылатын көлік: 5 қадам (суреттермен)
Қимылмен басқарылатын автокөлік: роботтар құрылыс, әскери, медициналық, өндіріс сияқты барлық салаларда автоматтандыруда маңызды рөл атқарады. Bluetooth көмегімен басқарылатын көлік сияқты кейбір негізгі роботтарды жасағаннан кейін мен осы акселерометрге негізделген гессті жасадым
Play Station қашықтан басқарылатын сымсыз 3D басып шығарылған көлік: 7 қадам (суреттермен)
Play Station қашықтан басқарылатын сымсыз 3D басып шығарылған автокөлік: ойынды кім жақсы көрмейді? Play Station мен Xbox виртуалды әлеміндегі жарыс және жекпе -жек !! Сонымен, бұл өмірді қызықты ету үшін мен осы нұсқаулықты жасадым, онда мен сізге кез келген Play Station қашықтан басқару пультін қалай қолдануға болатынын көрсетемін
Mpu6050 және Arduino көмегімен қимылмен басқарылатын көлік: 7 қадам (суреттермен)
Mpu6050 мен Arduino көмегімен қимылмен басқарылатын көлік: міне mpu6050 және arduino көмегімен жасалған қолмен басқарушы қимылды басқару машинасы. Мен сымсыз байланыс үшін rf модулін қолданамын
Қимылмен және дауыспен басқарылатын сымсыз робот қол: 7 қадам (суреттермен)
Қимылмен және дауыспен басқарылатын сымсыз роботтық қол: Негізінен бұл біздің колледждің жобасы болды және бұл жобаны жіберуге уақыттың болмауына байланысты біз кейбір қадамдардың суретін түсіруді ұмытып кеттік. Біз сонымен бірге осы роботты қолмен бір мезгілде ым мен дауысты басқара алатын кодты ойлап таптық, бірақ