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

Durum ve mevcut kütüphaneler hakkında daha fazla bilgi almak için lütfen Arduino 1 telli Ekranın (144 Karakter) nasıl oluşturulacağına ilişkin talimatımın Giriş ve Adım 2'sini okuyun. Orada açıklandığı gibi, bir Arduino kullanarak genel 1 kablolu cihazlar (örn.
1. Adım: Yazılım
En önemli şey, temelde her türlü değeri basit bir şekilde döndürebilen bir cihaz yapmaktır. Bu, standart yazılımın tüm değerleri doğrudan okumak için kullanılabileceği anlamına gelir (konuşma veya ikili manipülasyon gerekmez). Bunun için, şamandıraları döndürebilen ve yaygın olarak desteklenen çok basit, varsayılan 1 telli bir cihaza ihtiyacımız var. Bildiğim tek seçenek DS18B20 Termometredir (DS2438 Pil Monitörü de ilginç ve kullanışlıdır ancak oldukça karmaşıktır ve bu nedenle diğer dezavantajların yanı sıra yavaştır). OneWire-Hub kitaplığı, tam olarak ihtiyacımız olanı yapan DS18B20_asInterface adlı bir örnek içerir. Her biri sensörümüzden/sensörlerimizden döndürmek istediğimiz bir kayan nokta değerini temsil eden bir grup DS18B20 oluşturur. Buradaki kısıtlamalar çözünürlüktür ve değerler -55, 0 … 125, 0 aralığında olmalıdır. Bu kolayca elde edilebilir - en kötü durumda yeniden ölçeklendirme olabilir - ve aslında örn. DS2438 değerleri (1,5 ila 10V). Alternatif olarak, aşağıdakiler kullanılarak daha büyük bir değer aralığı ayarlanabilir:
setTemperatureRaw(static_cast(değer * 16.0f));
ancak bu değerlerin okunması ve işlenmesi, teknik özelliklerin dışında olduğu için tüm yazılımlar tarafından desteklenmeyebilir.
Dikkat etmeniz gereken şey, başlangıçta maksimum bağımlı sayısının 8 ile sınırlı olduğu, ancak HUB_SLAVE_LIMIT'i 32'ye kadar artırarak "OneWireHub_config.h" içinde değiştirilebileceğidir. 1 telli ağ (örn. x10), Arduino 1 telli Ekranın 2. Adımında (144 Karakter) açıklandığı gibi. Ve kodu derlemek ve Arduino'nuza yüklemek için IDE Sürümü> = 1.8.3'ü kullanmak için.
İşte bir örnek olarak, çok yakın zamanda oluşturduğum cihazın kodu. Benim kullandığım sensör kombinasyonunu kullanmayacağınızı varsaydığım için burada daha fazla ayrıntıya girmeyeceğim, kodu kontrol edip yardıma ihtiyacınız olursa sorular sorun.
2. Adım: Donanım

Temel olarak bir Arduino'ya bağlayabileceğiniz her şey, tercih ettiğiniz sensör olarak kullanılabilir. Tek kısıtlama, 1 telli iletişimin gerçekleşmesi için bolca zamanın kalması için sensörün okunmasının mümkün olduğunca hızlı olması gerektiğidir (sırasıyla Arduino 1 telli Ekran (144 Karakter) hakkındaki talimatımın 2. Adımını verin. örnek almak için).
Olası donanıma bir örnek, örneğin aşağıdaki gibi bir hava durumu istasyonu olabilir:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Ek olarak veya sizin yerine Arduino'nun kendisini sensörünüz olarak kullanmak isteyebilirsiniz. Bununla ilgili daha fazla bilgiyi Arduino Daha Az Bilinen Özellikler hakkındaki talimatımda okuyabilirsiniz - olası değerler kaynak voltajı ve dahili sıcaklıktır.
İşte bir örnek olarak, çok yakın zamanda yaptığım cihazın bir görüntüsü. Benim kullandığım sensör kombinasyonunu kullanmayacağınızı varsaydığım için burada daha fazla ayrıntıya girmeyeceğim, kodu kontrol edip yardıma ihtiyacınız olursa sorular sorun.
3. Adım: Cihazı Test Edin
Ağınıza bağlayın ve tüm ROM kimliklerinin mevcut olup olmadığını ve sıcaklık olarak döndürdükleri değerler için yazılımınızı kontrol edin.
Adım 4: Ek: ATtiny85

ATtiny85'te tek aygıtlar (bellek sınırlaması) da yapılabilir. ATtiny85'i Arduino IDE'nin yardımıyla ISP olarak Arduino Uno kullanarak programladığımız için bunun birkaç adıma ihtiyacı var:
-
Bağlantılar
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- Arduino IDE'yi kullan >=1.8.3
-
ATtiny seçeneğini IDE'ye yükleyin
- Dosya > Tercihler > Ek Pano Yöneticisi URL'leri:
- Araçlar > Pano: ??? > Kurullar Müdürü…
- "minik" için arama yapın ve yükleyin
-
ISP taslağını bir Uno'ya yükleyin
Dosya > Örnekler > ArduinoISP > ArduinoISP
-
ATtiny85'i programlama (sıfır kuvvet) soketine takın ve kablolayın:
- Arduino Pin MOSI D11 - ATtiny Pin 5
- Arduino Pin MISO D12 - ATtiny Pin 6
- Arduino Pin SCK D13 - ATtiny Pin 7
- Arduino Pin Reset D10 - ATtiny Pin 1
- Arduino Pin GND'den ATtiny Pin 4'e
- Arduino Pin VCC'den ATtiny Pin 8'e
- (Arduino Uno RESET pininde >=10uF cap gerekebilir)
-
ATtiny85'i seçin (resme bakın):
- Yönetim Kurulu: "ATtiny25/45/85"
- Zamanlayıcı 1 Saat: "CPU"
- B. O. D.: "B. O. D. Devre Dışı"
- LTO (yalnızca 1.6.11 +): "Devre Dışı"
- Çip: "ATtiny85"
- Saat: "8 MHz (dahili)" (ATtiny85 ve ATtiny84 uyumlu)
- Saat: "16 MHz (PLL)" (yalnızca ATtiny85 için alternatif ayar)
- Liman: ???
-
Programcı'yı seçin:
Araçlar > Programcı: "ISP olarak Arduino" ("ArduinoISP" DEĞİL!)
-
sigorta ayarlarını yapın (saat, vb.):
Araçlar > Bootloader'ı Yaz
- bu kodu yükleyin (programcı hata LED'inin kapalı olması gerekir, aksi takdirde sıfırlayın)
-
ATtinyX5 Pin Düzeni (ATtiny85):
- Pim 1: PB5 (RST)
- Pin 2: PB3 (A3) - isteğe bağlı olarak 220ohm ile 1<-TX arasında bağlanır
- Pin 3: PB4 (A2) - 1 kablolu DATA'ya bağlı
- Pin 4: GND - GND'ye bağlı
- Pin 5: PB0 (PWM) - sensör I2C SDA'ya bağlı
- Pin 6: PB1 (PWM) - LED'e 4,7k - GND ile bağlı
- Pin 7: PB2 (A1) - sensör I2C SCL'ye bağlı
- Pin 8: VCC - 5V'a bağlı
ATTiny85 ile çalışmak, I2C comm (adafruit/TinyWireM) ve seri çıktı (TinyDebugSerial) için ek kitaplıklar edinmeniz gerektiğinden biraz daha fazla çalışma gerektirir. Ek olarak, hafıza oldukça sınırlı olduğundan #define ile çok çalışmak isteyebilirsiniz, ör. seri hata ayıklamayı kaldırmak için. Örnekte bunların hepsini bir arada görebilirsiniz.
Test etmek için ilk adım, LED'in 0,5 Hz doğru frekansta yanıp sönüp yanıp sönmediğini kontrol etmektir. Ardından 1wire veriyoluna bağlayın ve yeni cihazı kontrol edin.
Önerilen:
RaspberryPi ile IoT Base Platform, WIZ850io: Platform Aygıt Sürücüsü: 5 Adım (Resimlerle)

RaspberryPi ile IoT Temel Platformu, WIZ850io: Platform Aygıt Sürücüsü: IoT için RaspberryPi platformunu biliyorum. Yakın zamanda WIZ850io, WIZnet tarafından duyurulmuştur. Bu yüzden, bir kaynak kodunu kolayca işleyebildiğim için Ethernet SW modifikasyonu ile bir RaspberryPi uygulaması uyguladım. Platform Aygıt Sürücüsünü RaspberryPi üzerinden test edebilirsiniz
Her İki Mod ESP8266 (AP ve İstemci Modu): 3 Adım

Her İki Mod ESP8266 (AP ve İstemci Modu): Bir önceki yazımda Access point veya wifi istasyonu ve wifi client olarak olan ESP8266 üzerinde modun nasıl ayarlanacağına dair bir Tutorial yapmıştım.Bu yazıda size nasıl yapılacağını göstereceğim. ESP8266 modunu her iki mod olarak ayarlamak için. Yani, bu Modda ESP8266 şunları yapabilir
Masaüstü Aygıt - Özelleştirilebilir Masaüstü Asistanı: 7 Adım (Resimlerle)

Masaüstü Aygıtı - Özelleştirilebilir Bir Masaüstü Yardımcısı: Masaüstü Aygıtı, internetten indirilen çeşitli bilgileri görüntüleyebilen küçük bir kişisel masaüstü yardımcısıdır. Bu cihaz, Berry College'da Eğitmen tarafından yönetilen CRT 420 - Özel Konular sınıfı için tarafımca tasarlanmış ve üretilmiştir
IOT123 - ASSİMİLAT SENSÖR HUB: ICOS10 GENEL SHELL (HOOKUP TEL) Montaj: 4 Adım

IOT123 - ASSİMİLAT SENSÖR HUB: ICOS10 GENEL KABLO (HOOKUP TEL) Montaj: GÜNCELLEME Daha fazla güvenilirlik için IDC devresini (HOOKUP değil) kullanmanızı öneririz. Bu HOOKUP tertibatı, devreyi doğrulamak için zamanınız varsa, kritik olmayan işlemler için uygundur. Bazı kablolar buldum (panellerin üst katmanı: kırmızı/sarı) çok uzun sürmedi
IOT123 - ASSİMİLAT SENSÖR HUB: ICOS10 GENEL KABUK (IDC) MONTAJ: 6 Adım

IOT123 - ASSİMİLAT SENSÖR MERKEZİ: ICOS10 GENEL KABUK (IDC) MONTAJI: NOT Bu, ASSİMİLAT SENSÖR MERKEZİ'nin geliştirilmiş (devre sağlamlığı) versiyonudur: ICOS10 GENEL KABLO (HOOKUP TEL) Tertibatı. Daha hızlı kurulur ve daha kaliteli bir devreye sahiptir, ancak maliyeti daha fazladır (10 sensörü destekliyorsa ~ 10 $ ekstra). Ana fe