İçindekiler:
- Adım 1: Ekipmanlar
- Adım 2: Devre Şeması Görüntü Dosyası
- Adım 3: Devre Şemasının Fritzing Dosyası
- Adım 4: Verici Kodu
- Adım 5: Alıcı Kodu
- Adım 6: INO Dosyaları
- 7. Adım: Kitaplıkların Bağlantısı
Video: Hareket Kontrollü Kablosuz Araba: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu derste, hareket kontrollü bir araba veya herhangi bir robot yapmayı öğreneceğiz. Bu proje iki kısımdan oluşmaktadır, bir kısım verici ünite ve diğer kısım alıcı ünitedir. Verici ünite aslında bir eldiven üzerine monte edilir ve alıcı ünite bir arabanın veya herhangi bir robotun içine yerleştirilir. Şimdi güzel bir araba yapma zamanı. Hadi gidelim!
Adım 1: Ekipmanlar
Verici Ünitesi
1. Arduino Nano.
2. MPU6050 Sensör Modülü.
3. RF 433 MHz Verici.
4. Herhangi bir tipte 3 hücreli, 11,1 volt Pil (Burada düğme pil kullandım).
5. Vero-Board.
6. El Eldivenleri.
Alıcı Ünitesi
1. Arduino Nano veya Arduino Uno.
2. L298N Motor Sürücü Modülü.
3. Motorlar dahil 4 tekerlekli robot çerçevesi.
4. RF 433 RF Alıcı.
5. 3 hücreli, 11,1 volt Li-po Pil.
6. Vero kurulu.
Diğerleri
1. Tutkal çubukları ve tabanca.
2. Atlama telleri.
3. Tornavidalar
4. Lehimleme Kiti.
vesaire.
Adım 2: Devre Şeması Görüntü Dosyası
Adım 3: Devre Şemasının Fritzing Dosyası
Adım 4: Verici Kodu
#Dahil etmek
#Dahil etmek
#Dahil etmek
MPU6050 mpu6050(Tel);
uzun zamanlayıcı = 0;
karakter * denetleyici;
geçersiz kurulum()
{ Serial.başlangıç(9600); Wire.begin(); mpu6050.begin(); mpu6050.calcGyroOffsets(true); vw_set_ptt_inverted(doğru); // vw_set_tx_pin(10); vw_setup(4000);// veri aktarım hızı Kbps
}
boşluk döngüsü()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050.update();
if(millis() - zamanlayıcı > 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"); zamanlayıcı = millis(); }
/////////////////////////////////////////////////////////////////////////////////////
if (mpu6050.getAccAngleX()30) { controller="X2"; vw_send((uint8_t *)denetleyici, strlen(denetleyici)); vw_wait_tx(); // Mesajın tamamı gidene kadar bekleyin Serial.println("İLERİ"); } else if (mpu6050.getAccAngleY()>40) { controller="Y1"; vw_send((uint8_t *)denetleyici, strlen(denetleyici)); vw_wait_tx(); // Mesajın tamamı gidene kadar bekleyin Serial.println("LEFT"); } else if (mpu6050.getAccAngleY()<-40) { controller="Y2"; vw_send((uint8_t *)denetleyici, strlen(denetleyici)); vw_wait_tx(); // Tüm mesaj gidene kadar bekleyin Serial.println("SAĞ"); } else if (mpu6050.getAccAngleX()-10 && mpu6050.getAccAngleY()-10) { controller="A1"; vw_send((uint8_t *)denetleyici, strlen(denetleyici)); vw_wait_tx(); // Mesajın tamamı gidene kadar bekleyin Serial.println("STOP"); } }
Adım 5: Alıcı Kodu
#Dahil etmek
int LA = 3;
int LB = 11; int RA = 5; int RB = 6; geçersiz kurulum() { Serial.begin(9600); vw_set_ptt_inverted(doğru); // DR3100 için gerekli vw_set_rx_pin(12); vw_setup(4000); // Saniyedeki bit sayısı pinMode(13, OUTPUT); pinMode(LA, ÇIKIŞ); pinMode(LB, ÇIKIŞ); pinMode(RA, ÇIKIŞ); pinMode(RB, ÇIKIŞ); vw_rx_start(); // Alıcı PLL'yi Serial.println("All OK");
}
void loop() { uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Engellemeyen
{ if((buf[0]=='X')&&(buf[1]=='1')) { Serial.println("GERİ"); geriye(); gecikme(100); //kapalı(); } else if((buf[0]=='X')&&(buf[1]=='2')) { Serial.println("İLERİ"); ileri(); gecikme(100); //kapalı(); }
else if((buf[0]=='Y')&&(buf[1]=='1'))
{ Serial.println("SOL"); sol(); gecikme(100); //kapalı(); }
else if((buf[0]=='Y')&&(buf[1]=='2'))
{ Serial.println("SAĞ"); sağ(); gecikme(100); //kapalı(); } else if((buf[0]=='A')&&(buf[1]=='1')) { Serial.println("STOP"); kapalı(); gecikme(100); } } else { Serial.println("Sinyal Alınmadı"); } }
ileriyi geçersiz kıl()
{ analogWrite(LA, 70); analogWrite(LB, 0); analogWrite(RA, 70); analogWrite(RB, 0); }
geriye doğru geçersiz ()
{ analogWrite(LA, 0); analogWrite(LB, 70); analogWrite(RA, 0); analogWrite(RB, 70); }
soldaki boşluk()
{ analogWrite(LA, 0); analogWrite(LB, 70); analogWrite(RA, 70); analogWrite(RB, 0); }
hakkı geçersiz ()
{ analogWrite(LA, 70); analogWrite(LB, 0); analogWrite(RA, 0); analogWrite(RB, 70); }
geçersiz kılma()
{ analogWrite(LA, 0); analogWrite(LB, 0); analogWrite(RA, 0); analogWrite(RB, 0); }
Adım 6: INO Dosyaları
7. Adım: Kitaplıkların Bağlantısı
Sanal Tel Kitaplığı:
MPU6050_tockn Kitaplığı:
Tel Kütüphanesi:
Önerilen:
Hareket Kontrollü Araba MPU6050 ve NRF24L01: 4 Adım
Hareket Kontrollü Araba MPU6050 ve NRF24L01: Hareketle kontrol robotu, hobiler tarafından yapılan popüler ortak proje türüdür. Arkasındaki konsept basittir: avuç içi yönelimi, robot arabanın hareketini kontrol eder.MPU6050, bileğin yönünü algılamak ve onu bir
Arduino Kablosuz Kontrollü Robot Araba: 5 Adım
Arduino Kablosuz Kontrollü Robot Araba: Bu yazıda bir Arduino kablosuz kontrol robot arabasının nasıl inşa edileceğini öğreneceksiniz. Hem verici hem de alıcı tarafını oluşturacağız. Verici tarafında bir Arduino nano, joystick modülü ve veri kablosunu göndermek için NRF24L01 yer alacak
Hareket Kontrollü Araba: 5 Adım (Resimlerle)
Hareket Kontrollü Araba: Robotlar, inşaat, askeri, tıp, imalat vb. tüm sektörlerde otomasyonda önemli bir rol oynuyor. Bluetooth Kullanarak Kontrollü Araba gibi bazı temel robotlar yaptıktan sonra, bu ivmeölçer tabanlı ge
Mpu6050 ve Arduino Kullanan Hareket Kontrollü Araba: 7 Adım (Resimlerle)
Mpu6050 ve Arduino Kullanan Hareket Kontrollü Araba: İşte mpu6050 ve arduino kullanılarak yapılmış bir el kumandalı hareket kontrol arabası. Kablosuz bağlantı için rf modülünü kullanıyorum
Hareket Kontrollü Çıkış - Hareket Algılayıcı Işıktan: 6 Adım
Hareket Kontrollü Çıkış - Hareket Algılama Işığından: Bloktaki en korkunç eve giden bir şeker mi şaka mı olduğunuzu hayal edin. Tüm hortlakları, hayaletleri ve mezarlıkları geçtikten sonra nihayet son yola ulaşırsınız. Şekeri önünüzde bir kasede görebilirsiniz! Ama sonra aniden bir gho