
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13

Eski bir TT ölçekli tren modeli sistemine sahip olduğum için lokomotifleri tek tek nasıl kontrol edeceğime dair bir fikrim vardı.
Bunu akılda tutarak, bir adım daha ileri gittim ve sadece trenleri kontrol etmek için değil, tüm yerleşim hakkında bazı ek bilgilere sahip olmak ve başka bir şeyi (lambalar, ray anahtarları…) kontrol etmek için neyin gerekli olduğunu anladım.
WiFi kontrollü model tren sistemi böyle doğdu.
Adım 1: Çalışma Prensipleri

Ana prensip, her bir elemanı tek bir kontrolörden veya birden fazla kontrol kaynağından ayrı ayrı kontrol etmektir. Bu, doğası gereği ortak bir fiziksel katmana - en açık şekilde WiFi - ve ortak bir iletişim protokolü olan MQTT'ye ihtiyaç duyar.
Merkezi unsur MQTT Broker'dır. Her bağlı cihazın (tren, sensör, çıkış…) yalnızca Broker aracılığıyla iletişim kurmasına izin verilir ve yalnızca Broker'dan veri alabilir.
Cihazların kalbi, ESP8266 tabanlı bir WiFi denetleyicisidir, MQTT komisyoncusu ise bir Raspberry pi üzerinde çalışır.
İlk başta Wifi kapsama alanı bir WiFi yönlendirici tarafından sağlanır ve her şey kablosuz olarak bağlanır.
4 tür cihaz vardır:
- Tren kontrolörü: 2 dijital giriş, 1 dijital çıkış, 2 PWM çıkışı vardır (2 ayrı DC motoru kontrol etmek için), - Sensör kontrolörü: 7 dijital girişe sahiptir (giriş anahtarları, optosensörler için…), - Çıkış kontrolörü: 8 dijital çıkışa sahiptir (ray anahtarları için…), - WiFi uzaktan kumanda: 1 artımlı enkoder girişi, 1 dijital giriş (trenleri uzaktan kontrol etmek için) vardır.
Sistem ayrıca Node-Red'den (tabletten, PC'den veya akıllı telefondan…) çalışabilir.
Adım 2: MQTT Veri Değişimi ve Konfigürasyonu

MQTT protokolüne göre, her cihaz ilk başta belirli bir konuya abone olur ve başka bir konuya yayın yapabilir. Bu, tren kontrol ağının iletişiminin temelidir.
Bu iletişim hikayeleri, kısa ve insan tarafından okunabilir olması için JSON formatlı mesajlar aracılığıyla gerçekleşir.
Daha uzak bir perspektiften bakıldığında: Ağın kendi SSID'si (ağ adı) ve parolası olan bir WiFi yönlendiricisi vardır. Her cihazın WiFi ağına erişmek için bu 2'yi bilmesi gerekir. MQTT aracısı da bu ağın bir parçasıdır, bu nedenle MQTT protokolünü kullanmak için her aygıtın aracının IP adresini bilmesi gerekir. Ve son olarak, her cihazın abone olmak ve mesaj yayınlamak için kendi konusu vardır.
Pratik olarak, belirli bir uzaktan kumanda, belirli bir trenin abone olduğu mesajları yayınlamak için aynı konuyu kullanır.
Adım 3: Tren Kontrolörü

Bir oyuncak treni kontrol etmek için temel olarak 3 şeye ihtiyacımız var: bir güç kaynağı, WiFi özellikli bir kontrolör ve motor sürücü elektroniği.
Güç kaynağı gerçek kullanım planına bağlıdır: LEGO durumunda, bu Power Functions pil kutusudur, "oldschool" TT veya H0 ölçekli tren seti durumunda bu, yolun 12V güç kaynağıdır.
WiFi özellikli denetleyici bir Wemos D1 mini (ESP8266 tabanlı) denetleyicidir.
Motor sürücü elektroniği, TB6612 tabanlı bir modüldür.
Tren kontrolörü, 2 ayrı ayrı kontrol edilen PWM çıkışına sahiptir. Aslında biri motor kontrolü için, diğeri ise ışıklı sinyalizasyon için kullanılır. Reed kontağı tabanlı algılama için 2 giriş ve bir dijital çıkışa sahiptir.
Denetleyici, JSON mesajlarını WiFi ve MQTT protokolü aracılığıyla kabul eder.
SPD1 motoru kontrol eder, örneğin: motoru %80 güçte geri hareket ettirmek için {"SPD1":-204} mesajı kullanılır (maksimum hız değeri -255'tir).
SPD2, "yön duyarlı" LED ışığının yoğunluğunu kontrol eder: {"SPD2": -255} mesajı (geriye doğru) LED'in tam gücünde parlamasını sağlar.
OUT1 dijital çıkışın durumunu kontrol eder: {"OUT1": 1} çıkışı açar.
Bir girişin durumu değişirse, kontrolör buna göre bir mesaj gönderir: {"IN1": 1}
Denetleyici geçerli bir mesaj alırsa, onu yürütür ve aracıya bir geri bildirim sağlar. Geri bildirim, gerçekte yürütülen komuttur. Örneğin: komisyoncu {"SPD1": 280} gönderirse, motor tam güçte çalışıyordur ancak geri bildirim mesajı şöyle olacaktır: {"SPD1": 255}
4. Adım: LEGO Tren Kontrolü

LEGO treni durumunda şemalar biraz farklıdır.
Güç doğrudan pil kutusundan gelir.
ESP8266 tabanlı Lolin kartı için 3.5V sağlamak için mini bir düşürücü dönüştürücüye ihtiyaç vardır.
Bağlantılar, ikiye kesilmiş bir LEGO 8886 uzatma kablosuyla yapılır.
Adım 5: Uzaktan Kumanda

Kontrolör yalnızca trene mesajlar yayınlar (BCD anahtarı tarafından tanımlanır).
Kodlayıcı döndürülerek, uzaktan kumanda {"SPD1": "+"} veya {"SPD1": "-"} mesajları gönderir.
Tren bu "artımlı tip" mesajını aldığında, PWM çıkış değerini 51 veya -51 değiştirir.
Bu şekilde uzaktan kumanda, trenin hızını 5 adımda (her yönde) değiştirebilir.
Artımlı kodlayıcıya basıldığında {"SPD1": 0} gönderilir.
Adım 6: Sensör Kontrolörü

Sözde sensör denetleyicisi, girişlerinin durumlarını ölçer ve bunlardan herhangi biri değişirse bu değeri yayınlar.
Örneğin: {"IN1": 0, "IN6": 1} bu örnekte aynı anda 2 girişin durumu değişti.
Adım 7: Çıkış Denetleyicisi

Çıkış denetleyicisi, ULN2803 tabanlı bir modüle bağlı 8 dijital çıkışa sahiptir.
Abone olduğu konu üzerinden mesajlar alır.
Örneğin {"OUT4": 1, "OUT7": 1} mesajı 4. ve 7. dijital çıkışı açar.
8. Adım: Raspberry Pi ve WiFi Yönlendirici
Kullanılmış bir TP-Link WiFI yönlendiricim vardı, bu yüzden bunu bir Erişim Noktası olarak kullandım.
MQTT komisyoncusu, Mosquitto'nun kurulu olduğu bir Raspberry Pi'dir.
MQTT ile birlikte standart Raspbian OS kullanıyorum:
sudo apt-get install mosquitto sivrisinek istemcileri python-sivrisinek
TP-Link yönlendirici, Raspberry için bir adres rezervasyonuna sahip olacak şekilde yapılandırılmalıdır, böylece her yeniden başlatmadan sonra Pi aynı IP adresine sahip olur ve her cihaz ona bağlanabilir.
Ve bu kadar!
9. Adım: Tamamlanmış Kontrolörler


İşte bitmiş kontrolörler.
TT ölçekli loko o kadar küçük bir boyuta sahip ki, bir Lolin tahtasının trene sığacak kadar küçük olması için daraltılması (kesilmesi) gerekiyordu.
Derlenmiş ikili dosyalar indirilebilir. Güvenlik nedeniyle, çöp kutusu uzantısı txt olarak değiştirildi.
Önerilen:
WIFI VE BLYNK KULLANARAK SERVO MOTOR KONTROLÜ: 5 Adım

WIFI VE BLYNK KULLANARAK SERVO MOTOR KONTROLÜ: Merhaba Arkadaşlar, Bu talimatta, Node MCU ve Blynk Uygulamasını kullanarak bir servo motorun hareketini WiFi üzerinden nasıl kontrol edeceğimizi öğrenelim
Butonlar, Raspberry Pi ve Scratch ile Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: 8 Adım (Resimlerle)

Basmalı Düğmeler, Raspberry Pi ve Scratch Kullanarak Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: Öğrencilerime PWM'nin nasıl çalıştığını açıklamanın bir yolunu bulmaya çalışıyordum, bu yüzden kendime 2 basmalı düğme kullanarak bir LED'in parlaklığını kontrol etmeye çalışma görevi verdim - bir düğme bir LED'in parlaklığını arttırır ve diğeri onu karartır. Programlamak için
ESP8266 RGB LED ŞERİT WIFI Kontrolü - NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak - RGB LED STRIP Akıllı Telefon Kontrolü: 4 Adım

ESP8266 RGB LED ŞERİT WIFI Kontrolü | NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak | RGB LED STRIP Akıllı Telefon Kontrolü: Merhaba arkadaşlar, bu eğitimde nodemcu veya esp8266'yı bir RGB LED şeridini kontrol etmek için IR uzaktan kumanda olarak nasıl kullanacağımızı öğreneceğiz ve Nodemcu wifi üzerinden akıllı telefon ile kontrol edilecek. Yani temel olarak RGB LED STRIP'i akıllı telefonunuzla kontrol edebilirsiniz
HT12D Kullanarak RF 433MHZ Radyo Kontrolü HT12E - 433mhz ile HT12E & HT12D Kullanarak Rf Uzaktan Kumanda Yapma: 5 Adım

HT12D Kullanarak RF 433MHZ Radyo Kontrolü HT12E | 433mhz ile HT12E ve HT12D Kullanarak Rf Uzaktan Kumanda Yapma: Bu talimatta size HT12E kodlamalı & HT12D kod çözücü IC.Bu talimatta çok ucuz BİLEŞENLER GİBİ kullanarak veri gönderip alabilirsiniz: HT
WiFi ve IR Remote ve Android Uygulaması Kullanarak NodeMCU ve IR Alıcı ile 8 Röle Kontrolü: 5 Adım (Resimlerle)

WiFi ve IR Remote ve Android Uygulaması ile NodeMCU ve IR Alıcı ile 8 Röle Kontrolü: WiFi ve ir uzaktan kumanda ve android uygulama üzerinden nodemcu ve ir alıcı kullanılarak 8 röle anahtarının kontrol edilmesi.Uzaktan kumandası wifi bağlantısından bağımsız çalışır.BURADA GÜNCEL BİR VERSİYON TIKLAYINIZ BURADA