İçindekiler:
- Adım 1: Aynı Kodda Hem MASTER hem de SLAVE
- Adım 2: BLUETOOTH Modülleri Seri Okuma ve Yazma Yoluyla Konuşur
- Adım 3: Yarışı Kontrol Etmek
- Adım 4: Kodun Geri Kalanı
- Adım 5: Sırada Ne Var?
Video: Arduino Hot Wheels Speed Track Bölüm #2 - Kod: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu projenin ilk bölümünde prototipin donanımını 2 breadboard üzerinde kurduk.
Ve bu bölümde kodun nasıl çalıştığını inceleyeceğiz ve ardından test edeceğiz.
Tüm kod incelemesi ve çalışma kodunun gösterimi için yukarıdaki videoyu izlediğinizden emin olun.
Adım 1: Aynı Kodda Hem MASTER hem de SLAVE
Kod 2 parçadır, ancak aynı dosyanın içindedir. Hangi kodun derleneceğini veya yoksayılacağını belirlemek için #define ve #ifdef kullanıyorum, böylece yalnızca MASTER devre tahtası için olan herhangi bir kodu ve yalnızca KÖLE devre tahtası için olan kodu ayırabilirim.
Temel olarak, MASTER tanımı bulunursa, MASTER kod bloğunun içindeki herhangi bir kod derlenecek ve bu bloğun dışındaki herhangi bir kod derleme zamanında kaldırılacaktır.
#ifdef MASTER
//Ustaya özel kod burada
#Başka
#define KÖLE
// Köleye özel kod burada
#endif
Aynı tekniği, MASTER derlendiğinde #define SLAVE için de kullanıyorum, bu nedenle yalnızca MASTER'ı tanımlamanız veya SLAVE'in tanımlanmasını etkinleştirmeme konusunda endişelenmeniz gerekiyor.
Adım 2: BLUETOOTH Modülleri Seri Okuma ve Yazma Yoluyla Konuşur
Bu projede yalnızca SLAVE devre tahtası, MASTER devre tahtasıyla konuşur. MASTER asla geri konuşmaz, sadece dinler ve gelen verilere göre hareket eder.
Modüller, Arduino kodlama ekosistemindeki yerleşik Seri sınıfını kullanarak konuşur ve dinler.
Bluetooth modülleri 38400 baud'da iletişim kurar, böylece her iki kod yolu da Seri iletişimlerini aşağıdakileri kullanarak başlatır:
Seri.başla(38400);
Ve SLAVE şunları kullanır:
Serial.write(buradaki veriler);
MASTER ile konuşmak için MASTER şunları kullanır:
veri = Seri.read();
Seri akışı dinlemek ve içeriğini okumak ve bir değişken içinde saklamak.
Adım 3: Yarışı Kontrol Etmek
SLAVE, mikro denetleyicisine bağlı yeşil buton aracılığıyla MASTER'a yarış fazla mı yoksa hazır modda mı olduğunu söyler. Hazır modunda, IR sensörleri hiçbir şey yapmaz ve MASTER, hazır modunda olduğunu belirtmek için ekranda 8 çizgi gösterecektir.
SLAVE, MASTER'a bir yarışın başlayacağını söylediğinde, SLAVE, arabaların altından geçmesi için yanındaki IR sensörlerini (yarış pistinin başlangıcı) sorgulamaya başlar.
Her araba her bir IR sensörünün altından geçerken, MASTER'a bir A (araba 1) veya B (araba 2) gönderir.
MASTER bir A veya B aldığında, o belirli araba için zamanlayıcıyı etkinleştirir ve ardından arabanın bitiş çizgisinde karşılık gelen IR sensörünün altından geçmesini bekler.
Ekran her 50ms'de bir güncellenerek her arabanın o anki saatini 2 ondalık basamakla saniye cinsinden gösterir.
Her iki araba da bitiş çizgisine ulaştığında, MASTER hangi arabanın en hızlı olduğuna karar verir ve kazananı belirtmek için o zaman ekranda yanıp söner.
Adım 4: Kodun Geri Kalanı
Kodun geri kalanı, yalnızca 8 basamaklı ekranda verilerin görüntülenmesini kontrol eden veya düğmeye basma mantığını vb. yöneten yardımcı program kodudur.
Bu projenin giriş bölümündeki videonun sonunda, 2 breadboard üzerinde çalışan kodun bir örneğini gösteriyorum, bu yüzden kontrol ettiğinizden emin olun!
Bu projenin kodunu github depomdan alabilirsiniz.
Adım 5: Sırada Ne Var?
Şimdilik bu kadar… 3. bölümde bileşenleri devre tahtasından daha kalıcı bir şeye taşımaya bakacağız… bizi izlemeye devam edin!
Umarım bu projeden keyif alırsınız!
Beni takip et:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Önerilen:
Arduino Bölüm 2'de Kolay Çok Düşük Güç BLE -- Sıcaklık/Nem Monitörü -- Rev 3: 7 Adım
Arduino Bölüm 2'de Kolay Çok Düşük Güç BLE -- Sıcaklık/Nem Monitörü -- Rev 3: Güncelleme: 23 Kasım 2020 – 15 Ocak 2019'dan beri 2 x AAA pilin ilk değişimi, yani 2xAAA Alkalin için 22 ay Güncelleme: 7 Nisan 2019 – Rev 3 / lp_BLE_TempHumidity, pfodApp V3.0.362+ kullanarak Tarih/Saat grafikleri ekler ve hangi
Arduino-Tomation Bölüm 5: LE TUNNEL DE CHAUFFE: 4 Adım
Arduino-Tomation Bölüm 5: LE TUNNEL DE CHAUFFE: İki ay önce çalıştığım yerin deposunda saklanan unutulmuş küçük bir sistemi güçlendirmeye karar verdim. Bu sistem elektronik cihazları ısıtmak ve ısıtmak için yapıldı veya özel yüksek sıcaklık ne olursa olsun. Konveyör bandına direndim. Bu yüzden biraz yarattım
Arduino-Tomation Bölüm 4: TRI DE BRIQUE: 5 Adım
Arduino-Tomation Bölüm 4: TRI DE BRIQUE: Bu Instructables'ta size Atmega1284p'den yapılmış bir Arduino klon kartı tarafından uyarlanmış ve kontrol edilen başka bir makine hakkında konuşacağım. Bu kart bir ethernet kalkanını destekleyebilir ve bir SCADA (AdvancedHMI, Unigo) veya endüstriyel bir
Standart Hot Wheels'ı R/C Hot Wheels'a Nasıl Değiştirirsiniz:D: 6 Adım (Resimlerle)
Standart Hot Wheels'ı R/C Hot Wheels'a Nasıl Değiştirebilirim:D: Küçüklüğümden beri Hot Wheels Cars'ı severim. Tasarım fantezisi araçlar için bana ilham verdi. Bu sefer Star War Hot Wheels, C-3PO ile kendilerini aştılar. Ancak, bir pistte ilerlemekten veya itmekten daha fazlasını istiyorum, karar verdim, “L
Arduino Hot Wheels Speed Track - Bölüm 1 - Prototip: 4 Adım
Arduino Hot Wheels Speed Track - Bölüm 1 - Prototip: Oğlumun sıcak tekerlekleri sevmesi ve arabalarıyla evin her yerinde yarışmaması şaşırtıcı olmamalı! En sevdiği şeylerden biri, hangisinin en hızlı olduğunu belirlemek için tüm arabalarını (şu anda 100'ün üzerinde) yarıştırmaktır. Şu anda her şeyi gözle yapıyor ve