Verici modülde kullanılan malzemeler:
- MPU6050
- NRF24L01
- ARDUINO NANO
- 9V PİL
- MINI BOARD
kutuphaneler indir.
#include <SPI.h> // nRF24L01+ ile SPI iletişim. #include <RF24.h> // nRF24L01+ kütüphanesi v1.4.1 #include <Wire.h> // Mpu6050 ile I2C iletişim. #include <MPU6050.h> //Mpu6050 kütüphanesi v0.3.0 MPU6050 ivme_sensor; // ivme_sensor isimli nesne oluştur. int x, y, z; // x, y, z düzlemlerinin ivme değişkenleri. RF24 radio(7, 8); // radio isimli nesne oluştur. CE ve CSN pinleri. int veri[2]; // X ve y düzlemi için dizi tanımlama. void setup() { Wire.begin(); // I2C iletişimi başlat. ivme_sensor.initialize(); // Mpu6050'yi başlat. radio.begin(); // nRF24L01+'yı başlat. radio.openWritingPipe(1234); // İletişim anahtarı 1234. } void loop() { ivme_sensor.getAcceleration(&x, &y, &z); // Sensörden ivme bilgilerini al. veri[0] = map(x, -17000, 17000, -255, 255 ); //X düzleminin verisi (ileri-geri) veri[1] = map(y, -17000, 17000, -255, 255); //Y düzeleminin verisi (sağ-sol) radio.write(veri, sizeof(veri)); // veri değişkenindeki bilgiyi nRF24L01+'ya gönder. }
Alıcı modülde kullanılan malzemeler:
- NRF24L01
- L298 MOTOR SÜRÜCÜ
- 3S LIPO PİL
- ARDUINO NANO
- MINI BOARD
Araç için:
- 6V 250 Rpm Motor ve Tekerlek Seti
- Araç gövdesi
- Sarhoş teker
veya hepsi bir arada 2WD Robot Araba Kit
veya aşağıdan 3B yazıcı için .stl dosyasını indirebilirsiniz.
#include <SPI.h> // nRF24L01+ ile SPI iletişim.
#include <RF24.h> // nRF24L01+ kütüphanesi v1.4.1
RF24 radio(7, 8); // radio isimli nesne oluştur. CE ve CSN pinleri.
int veri[2];// X ve Y düzlemi için dizi tanımlama
const byte IN1 = 5, IN2 = 6, IN3 = 9, IN4 = 10; // PWM pinleri. (enA ve enB’de jumper takılı).
void setup() {
radio.begin(); // nRF24L01+’yı başlat.
radio.openReadingPipe(0, 1234); // İletişim anahtarı 1234.
radio.startListening(); // Alıcı moda geç.
}
void loop() {
if (radio.available()) { // Veri geliyorsa…
radio.read(veri, sizeof(veri)); // Gelen veriyi veri değişkenine yükle.
if (veri[0] > 50) { //İleri.
analogWrite(IN1, veri[0]);
analogWrite(IN2, 0);
analogWrite(IN3, veri[0]);
analogWrite(IN4, 0);
}
if (veri[0] < –50) { //Geri.
analogWrite(IN1, 0);
analogWrite(IN2, –veri[0]);
analogWrite(IN3, 0);
analogWrite(IN4, –veri[0]);
}
if (veri[1] > 50) { //Sol.
analogWrite(IN1, 0);
analogWrite(IN2, veri[1]);
analogWrite(IN3, veri[1]);
analogWrite(IN4, 0);
}
if (veri[1] < –50) { // Sağ.
analogWrite(IN1, –veri[1]);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, –veri[1]);
}
if (veri[0] > –50 && veri[0] < 50 && veri[1] > –50 && veri[1] < 50) { // Dur.
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
}
}
}
nRF24L01+ modülü test etme kodları
Verici kodu
#include <SPI.h> // nRF24L01+ ile SPI iletişim. #include <RF24.h> // v1.4.2 RF24 radio(7, 8); // radio isimli nesne oluştur. CE ve CSN pinleri. void setup() { Serial.begin(9600); // Hataları seri monitörde görebilmek için seri iletişimi başlat. if (!radio.begin()) { // nRF24L01+'yı başlat. Serial.println("nRF24L01+ bağlantıları yanlış veya temazsızlık var. nRF24L01+ bozulmuş olabilir."); //nRF24L01+ modülü başlamıyorsa uyarı ver. while (1) {} } radio.openWritingPipe(1234); // İletişim anahtarı 1234. } void loop() { char veri[] = "Test tamam."; radio.write(&veri, sizeof(veri)); //Veriyi gönder. }
Alıcı kodu
#include <SPI.h> // nRF24L01+ ile SPI iletişim. #include <RF24.h> // v1.4.2 RF24 radio(7, 8); // radio isimli nesne oluştur. CE ve CSN pinleri. void setup() { Serial.begin(9600); // Hataları seri monitörde görebilmek için seri iletişimi başlat. if (!radio.begin()) { // nRF24L01+'yı başlat. Serial.println("nRF24L01+ bağlantıları yanlış veya nRF24L01+ bozulmuş olabilir."); //nRF24L01+ modülü başlamıyorsa uyarı ver. while (1) {} } radio.openReadingPipe(0, 1234); // İletişim anahtarı 1234. radio.startListening(); // Alıcı moda geç. } void loop() { if (radio.available()) { // Veri geliyorsa... char veri[12]; radio.read(&veri, sizeof(veri)); Serial.println(veri); //Seri ekrana gelen veriyi yazdır. } }
aracGovde.stl dosyası
46 Responses
Emeğinize sağlık çok teşekkür ederim.
proje satışı yapıyor musunuz? size nereden ulaşabiliriz?
Merhaba Hocam , aynı mantıkla drone tasarlanabilirmi el ile kontorllü dorne
Evet olur.
ben mpu6050 nin eksen lerine seri port ekranından bakın ? işaretleri değişik işaretler veriyor neden olabilir.
kodu bulamadım
Yukarıdaki yeşil renkli yazılara tıklarsanız kodlara ulaşırsınız.
Hocam çok güzel bir çalışma, neden kodda +-50 değerinden büyük küçük diyoruz bunun sebebi nedir.
Zemine olan açıyı belirliyor. – + 50 altında araç duruyor. istediğiniz değerleri deneyip değiştirebilirsiniz
Hocam merhaba. Vericinin baskı devresini atabilir misiniz?
http://www.temrinler.com/?p=4045
Merhabalar,
Araç üzerinde 1 kg’ya yakın yük olacak. palet teker kullanmayı düşünüyorum. düşey ağırlık olduğundan ağırlık merkezini dengelemek için. Nasıl motor seçebilirim ? işin içinden çıkamadım.
hocam elimde arduino uno lar var. alıcı ve vericide uno kullansam yer dışında sıkıntı olur mu?
Hayır. kullanabilirsin.
Hocam merhaba projeyi yapmaya başladım alıcı devresinde nano yerine elimde uno var onu kullanacağım bağlantı pinlerinde ve kodlarda değişiklik olur mu. Motor sürücünün pinlerini nanoda IN1= D5, IN2=D6 , IN3= D9, IN4=D10 olarak bağlıyorsunuz unoda yaptığım zaman IN1=5, IN2=6 , IN3=9, IN4= 10 şeklinde mi bağlantı yapıcam yoksa hem pinler hem kodlar değişecek mi hocam yardımcı olursanız çok sevinirim
Alıcıda UNO kullanabilirsiniz. Kod da değişiklik gerek yok. Motor sürücü pinlerini değiştirirseniz programı ona göre uyarlamalısınız.
Benim haberleşmede sorunum var. Kütüphane de yüklü. Sorun ne olabilir?
FArklı bir bilgisayardan tekrar programlamanızı öneririm.
#include
Alıcıdada vericidede hata veriyo ne yapmalıyım
kütüphaneleri yüklemelisiniz.
Abi Adaptör Modülünü Alıcıyamı Vericiyemi Bağlıyacağız Yoksa İkisinedemi
ikisinde de kullanabilirsin.
Hocam ben kodlamayı bilmiyorum nerden ulaşabilirim bu kodlara
kodlar link olarak vardı. yazı olarak da ekledim.
Benim bir sıkıntım var kütüphaneleri eklerken saymıyo ne yapmalıyım başka bir yolu varsa açıklar mısınız ?
Hocam bu lipo pil kaç mAh acaba 500 mAh alsam olur mu
Olur
ARDUİNO EL İLE UZAKTAN KONTROLLÜ ARABA da kullanılan nano klon mu linkini atababilir misiniz iki tane klon var hangisi?ardunio klon veya orjinali arasında yazdığınız yazılımdaki haberleşme protokollerinde farklılık olur mu?Birde lityum pile bağladınız kablonun adı ile jumperların kaç cm olduğunu yazabilirmisiniz?
klon orjinal farketmez. pil kablosu pille beraber geliyor. uçlarına header lehimliyorum.
10cm veya 20 cm jumperlar kullanabilirsiniz.
Teşekkür ederim.Pille geliyor dediğiniz kablo lityum pilin hemen arkasındaki kablo değil mi?
Rica ederim. evet.
merhaba mpu6050 yerine adxl345 kullanırsam calışırmı
Olur
4 motorlu bir araç için yapsak kodlarda bir değişiklik gerekir mi.
Hayir. Calisir
Herşeyi düzgün bağlamama rağmen çalışmıyor nrflerde bi sorun oldugğunu düşünüyorum kondansatörü ikisinede mi bağlamam gerekiyor?
verici devresini baştan yapar mısınız.
hocam biz sizinle aynı malzemeleri aldık fakat çalışmıyor bize yardımcı olurmusunuz ?
özel elektrik makinaları dersinde bu projeyi aldık ve tamamlamamız lazım
verici devresini baştan yapar mısınız.
Aracımızın sağ tekeri kendi kendine dönüyor uzaktan kumanda hiç etki etmiyor lütfen yardımcı olun
herhangi bir araç plastiği kullansam olur mu
olur.
#include
bu kodda hata veriyor
ardunionun her sürümünü her kütüphanesini denedim yinede hata veriyor.
Nasıl çözebilrim
Hata ekran görüntüsünü muratsasal@gmail.com‘a gönderin yardımcı olayım.
kodları değiştirmişsiniz önceki kodları alabilirmiyim
domer4621@gmail.com
http://www.temrinler.com/?p=4045