Mündəricat:
- Addım 1: Avadanlıqlar
- Addım 2: Circuit Diagram Image File
- Addım 3: Dövrə Diaqramının Dondurucu Dosyası
- Addım 4: Verici Kodu
- Addım 5: Alıcı Kodu
- Addım 6: INO Faylları
- Addım 7: Kitabxanaların əlaqəsi
Video: Jestlə İdarə olunan Simsiz Avtomobil: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu təlimatda, jestlə idarə olunan bir avtomobil və ya hər hansı bir robot necə edəcəyimizi öyrənəcəyik. Bu layihə iki hissədən ibarətdir, bir hissəsi ötürücü, digər hissəsi alıcı vahiddir. Transmitter vahidi əslində əlcəklərə quraşdırılır və alıcı vahid avtomobilin və ya hər hansı bir robotun içərisinə yerləşdirilir. İndi gözəl bir maşın hazırlamağın vaxtı gəldi. Gedək!
Addım 1: Avadanlıqlar
Verici vahidi
1. Arduino Nano.
2. MPU6050 Sensor Modulu.
3. RF 433 MHz ötürücü.
4. Hər növ 3 hüceyrəli, 11.1 voltluq Batareya (Burada sikkə hüceyrəsindən istifadə etdim).
5. Vero-Board.
6. Əl Əlcəkləri.
Alıcı vahidi
1. Arduino Nano və ya Arduino Uno.
2. L298N Motor Sürücü Modulu.
3. Mühərriklər daxil olmaqla 4 təkərli robot çərçivəsi.
4. RF 433 RF Alıcı.
5. 3 hüceyrəli, 11.1 volt Li-po Batareya.
6. Vero-board.
Digərləri
1. Yapışqan çubuqlar və silah.
2. Jumper telləri.
3. Vida Sürücüləri
4. Lehim dəsti.
və s.
Addım 2: Circuit Diagram Image File
Addım 3: Dövrə Diaqramının Dondurucu Dosyası
Addım 4: Verici Kodu
#daxil edin
#daxil edin
#daxil edin
MPU6050 mpu6050 (Tel);
uzun taymer = 0;
char *nəzarətçi;
boş quraşdırma ()
{Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (doğru); vw_set_ptt_inverted (doğru); // vw_set_tx_pin (10); vw_setup (4000); // məlumat ötürmə sürəti Kbps
}
boşluq döngəsi ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050. yeniləmə ();
əgər (millis () - taymer> 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 "); taymer = milis (); }
/////////////////////////////////////////////////////////////////////////////////////
əgər (mpu6050.getAccAngleX () 30) {nəzarətçi = "X2"; vw_send ((uint8_t *) nəzarətçi, strlen (nəzarətçi)); vw_wait_tx (); // Bütün mesaj yox olana qədər gözləyin Serial.println ("İLƏ"); } başqa if (mpu6050.getAccAngleY ()> 40) {nəzarətçi = "Y1"; vw_send ((uint8_t *) nəzarətçi, strlen (nəzarətçi)); vw_wait_tx (); // Bütün mesaj yox olana qədər gözləyin Serial.println ("SOL"); } başqa if (mpu6050.getAccAngleY () <-40) {nəzarətçi = "Y2"; vw_send ((uint8_t *) nəzarətçi, strlen (nəzarətçi)); vw_wait_tx (); // Bütün mesaj yox olana qədər gözləyin Serial.println ("SAĞ"); } başqa halda (mpu6050.getAccAngleX ()-10 && mpu6050.getAccAngleY ()-10) {nəzarətçi = "A1"; vw_send ((uint8_t *) nəzarətçi, strlen (nəzarətçi)); vw_wait_tx (); // Bütün mesaj yox olana qədər gözləyin Serial.println ("STOP"); }}
Addım 5: Alıcı Kodu
#daxil edin
int LA = 3;
int LB = 11; int RA = 5; int RB = 6; void setup () {Serial.begin (9600); vw_set_ptt_inverted (doğru); // DR3100 vw_set_rx_pin (12) üçün tələb olunur; vw_setup (4000); // Saniyədə bitlər pinMode (13, Çıxış); pinMode (LA, Çıxış); pinMode (LB, Çıxış); pinMode (RA, Çıxış); pinMode (RB, Çıxış); vw_rx_start (); // Serial.println işləyən PLL qəbuledicisini işə salın ("Hamısı OK");
}
void loop () {uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message (buf, & buflen)) // Bloklanmır
{if ((buf [0] == 'X') && (buf [1] == '1')) {Serial.println ("BACKWARD"); geriyə (); gecikmə (100); // söndür (); } başqa halda ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("İLƏ"); irəli (); gecikmə (100); // söndür (); }
başqa halda ((buf [0] == 'Y') && (buf [1] == '1'))
{Serial.println ("SOL"); sol (); gecikmə (100); // söndür (); }
başqa halda ((buf [0] == 'Y') && (buf [1] == '2'))
{Serial.println ("SAĞ"); sağ (); gecikmə (100); // söndür (); } başqa halda ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("STOP"); söndür (); gecikmə (100); }} başqa {Serial.println ("Siqnal Alınmadı"); }}
irəli boş ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 70); analogWrite (RB, 0); }
geriyə boşluq ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
sol boşluq ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 70); analogWrite (RB, 0); }
sağ boş ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
boşaldır ()
{analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
Addım 6: INO Faylları
Addım 7: Kitabxanaların əlaqəsi
Virtual Tel Kitabxanası:
MPU6050_tockn Libraby:
Tel Kitabxanası:
Tövsiyə:
Arduino istifadə edərək jestlə idarə olunan robot: 7 addım
Arduino istifadə edərək jestlə idarə olunan robot: Robotlar tikinti, hərbi, istehsal, montaj və s. Kimi bir çox sektorda istifadə olunur. Robotlar muxtar və ya yarı muxtar ola bilər. Avtonom robotlar heç bir insan müdaxiləsi tələb etmir və vəziyyətə uyğun olaraq təkbaşına hərəkət edə bilirlər. Bax
Necə bir jestlə idarə olunan bir Rover etmək olar: 4 addım
Jestlə idarə olunan bir Rover necə etmək olar: Burada jestlə idarə olunan rover (tele ilə işləyən rover) qurmaq üçün təlimatlar verilmişdir. Gəmidə bir toqquşmanın qarşısını almaq sensoru olan bir rover qurğusundan ibarətdir. Qeyri -adi pult olmaq əvəzinə ötürücü, geyilə bilən sərin bir əlcəkdir
Jestlə idarə olunan siçan: 6 addım (şəkillərlə)
Jestlə İdarə Edilən Siçan: Dostlarınızla bir dizüstü kompüterdə bir film izləyirsiniz və uşaqlardan biri hirslənir. Ahh .. filmi dayandırmaq üçün yerinizdən çıxmalısınız. Bir proyektor haqqında bir təqdimat verirsiniz və tətbiqlər arasında keçid etməlisiniz. Hərəkət etməlisiniz
Uzaqdan İdarə olunan Avtomobil - Simsiz Xbox 360 Nəzarətçisindən istifadə edərək idarə olunur: 5 addım
Uzaqdan İdarə Edilən Avtomobil - Simsiz Xbox 360 Nəzarətçisindən istifadə edərək idarə olunur: Bunlar simsiz Xbox 360 nəzarətçi ilə idarə olunan öz uzaqdan idarə olunan avtomobilinizi qurmaq üçün təlimatlardır
Jestlə idarə olunan avtomobil: 5 addım (şəkillərlə birlikdə)
Jest ilə İdarə Edilən Avtomobil: İnşaat, hərbi, tibb, istehsal və s. Kimi bütün sektorlarda avtomatlaşdırmada robotlar mühüm rol oynayır. Bluetooth istifadə edərək İdarə Edilən Avtomobil kimi bəzi əsas robotlar hazırladıqdan sonra bu akselerometr əsaslı cihazları hazırladım