Mündəricat:
Video: Arduino 1 telli Ümumi Müştəri/Qul Cihazı (Sensor): 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Vəziyyət və mövcud kitabxanalar haqqında daha çox məlumat əldə etmək üçün Arduino 1 telli Ekranın (144 Karakter) necə qurulacağına dair göstərişlərimin Girişini və Adım 2-ni oxuyun. Orada izah edildiyi kimi, Arduino istifadə edərək ümumi 1 telli qurğular (məsələn, sensorlar) qurmaq üçün orgua tərəfindən OneWire-Hub kitabxanasından (OneWire kölə cihaz emulyatoru) istifadə edəcəyik (ətrafda başqa çəngəllər də var).
Addım 1: Proqram təminatı
Ən əsası, hər hansı bir dəyəri sadə bir şəkildə qaytara biləcək bir cihaz etməkdir. Standart proqramın bütün dəyərləri birbaşa oxumaq üçün istifadə edilə biləcəyi mənasını verir (heç bir söhbətə və ya ikili manipulyasiyaya ehtiyac yoxdur). Bunun üçün üzənləri geri qaytara bilən və geniş dəstəklənən çox sadə bir standart 1 telli qurğuya ehtiyacımız var. Bildiyim yeganə seçim DS18B20 Termometridir (DS2438 Batareya Monitoru çox maraqlı və faydalıdır, lakin olduqca mürəkkəbdir və buna görə də digər çatışmazlıqlar arasında yavaşdır). OneWire-Hub kitabxanasında ehtiyac duyduğumuz şeyi edən DS18B20_asInterface adlı bir nümunə var. Hər biri sensorlarımızdan geri qaytarmaq istədiyimiz bir dəyişkən dəyəri təmsil edən bir dəstə DS18B20 yaradır. Buradakı məhdudiyyətlər qətnamədir və dəyərlər -55, 0… 125, 0 aralığında olmalıdır. Buna asanlıqla nail olmaq olar - ən pis halda ölçüsünü dəyişmək - və əslində məs. DS2438 dəyərləri (1,5 ilə 10 V arasında). Alternativ olaraq daha böyük dəyərlər aralığını istifadə edərək təyin etmək olar:
setTemperatureRaw (static_cast (dəyər * 16.0f));
lakin bu dəyərlərin oxunması və işlənməsi, texniki xüsusiyyətlərə uyğun olmadığı üçün bütün proqramlar tərəfindən dəstəklənə bilməz.
Bilməli olduğunuz şey, başlanğıcda maksimum qul sayının 8 ilə məhdudlaşdırılmasıdır, lakin "OneWireHub_config.h" də HUB_SLAVE_LIMIT -ı 32 -ə qədər artırmaqla dəyişdirilə bilər. Həmçinin ehtiyacınız olarsa ONEWIRE_TIME_MSG_HIGH_TIMEOUT qəbul etməyinizə əmin olmalısınız. 1 telli şəbəkə (məsələn, x10), Arduino 1 telli Ekranın 2-ci Adımında (144 Karakter) izah edildiyi kimi. Kodu tərtib etmək və Arduino -ya yükləmək üçün IDE Version> = 1.8.3 istifadə etmək.
Nümunə olaraq bu yaxınlarda qurduğum cihazın kodu. Sensorların eyni kombinasiyasından istifadə etməyəcəyinizi güman etdiyim üçün burada daha ətraflı məlumat verməyəcəyəm, kodu yoxlayın və kömək istəsəniz suallar verin.
Addım 2: Avadanlıq
Əsasən bir Arduino -ya qoşula biləcəyiniz hər şey seçdiyiniz sensor kimi istifadə edilə bilər. Yeganə məhdudiyyət, 1 telli ünsiyyətin baş verməsi üçün çox vaxtın qalması üçün sensorun oxunmasının mümkün qədər sürətli olmasıdır (Arduino 1 telli Ekran (144 Karakter) haqqında göstərişlərimin 2-ci hissəsini sıralayın. nümunə almaq üçün).
Mümkün avadanlıq nümunəsi bir hava stansiyası ola bilər, məsələn:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Əlavə olaraq və ya sizin əvəzinizə Arduinonun özünü sensor olaraq istifadə etmək istəyə bilərsiniz. Bu barədə daha çox məlumatı Arduino Kiçik Tanınmış Xüsusiyyətlərim haqqında oxuya bilərsiniz - mümkün dəyərlər qaynaq gərginliyi və daxili temperaturdur.
Nümunə olaraq bu yaxınlarda qurduğum cihazın görüntüsü. Sensorların eyni kombinasiyasından istifadə etməyəcəyinizi düşündüyüm üçün burada daha ətraflı məlumat verməyəcəyəm, kodu yoxlayın və kömək istəsəniz suallar verin.
Addım 3: Cihazı yoxlayın
Şəbəkənizə qoşun və bütün ROM ID -lərinin mövcud olmasını və temperatur olaraq geri qaytardıqları proqramları yoxlayın.
Addım 4: Əlavə: ATtiny85
Tək qurğular (yaddaş məhdudiyyəti) ATtiny85 -də də edilə bilər. Arduino IDE -nin köməyi ilə Arduino Uno -nu ISP olaraq istifadə edərək ATtiny85 -i proqramlaşdırdığımız üçün bunun bir neçə addımı lazımdır:
-
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 istifadə edin> = 1.8.3
-
IDE üçün ATtiny seçimini quraşdırın
- Fayl> Tercihlər> Əlavə Kartlar Meneceri URL -ləri:
- Alətlər> İdarə Heyəti: ??? > İdarə Heyəti meneceri…
- "kiçik" axtarın və quraşdırın
-
ISO eskizini bir Unoya yükləyin
Fayl> Nümunələr> ArduinoISP> ArduinoISP
-
ATtiny85-i proqramlaşdırma (sıfır qüvvə) yuvasına daxil edin və tellə bağlayın:
- Arduino Pin MOSI D11 -dən ATtiny Pin 5 -ə
- Arduino Pin MISO D12 - ATtiny Pin 6
- Arduino Pin SCK D13 - ATtiny Pin 7
- Arduino Pin D10 -u ATtiny Pin 1 -ə sıfırlayın
- Arduino Pin GND -dən ATtiny Pin 4 -ə
- Arduino Pin VCC -dən ATtiny Pin 8 -ə
- (> Arduino Uno RESET pinində 10 uF qapaq lazım ola bilər)
-
ATtiny85 seçin (şəklə baxın):
- Lövhə: "ATtiny25/45/85"
- Taymer 1 Saat: "CPU"
- B. O. D.: "B. O. D. Əlil"
- LTO (yalnız 1.6.11 +): "Əlil"
- Çip: "ATtiny85"
- Saat: "8 MHz (daxili)" (ATtiny85 və ATtiny84 uyğun)
- Saat: "16 MHz (PLL)" (yalnız ATtiny85 üçün alternativ ayar)
- Liman: ???
-
Proqramçı seçin:
Alətlər> Proqramçı: "Arduino ISP olaraq" ("ArduinoISP" DEYİL!)
-
sigorta parametrlərini təyin edin (saat və s.):
Alətlər> Bootloader yandırın
- bu kodu yükləyin (proqramçı səhvinin LEDinin söndürülməsi lazımdır, əks halda sıfırlayın)
-
ATtinyX5 Pin Layout (ATtiny85):
- Pin 1: PB5 (RST)
- Pin 2: PB3 (A3) - isteğe bağlı olaraq 220ohm ilə 1 <-TX -ə qoşulur
- Pin 3: PB4 (A2) - 1 telli DATA -ya bağlıdır
- Pin 4: GND - GND -yə bağlıdır
- Pin 5: PB0 (PWM) - I2C SDA sensoruna bağlıdır
- Pin 6: PB1 (PWM) - GND -ə 4.7k olan LED -ə bağlıdır
- Pin 7: PB2 (A1) - I2C SCL sensoruna bağlıdır
- Pin 8: VCC - 5V -a qoşulur
ATTiny85 ilə işləmək üçün I2C comm (adafruit/TinyWireM) və serial çıxışı (TinyDebugSerial) üçün əlavə kitabxanalar əldə etməyiniz lazım olduğu üçün bir az daha çox işə ehtiyac var. Əlavə olaraq yaddaş olduqca məhdud olduğu üçün #define ilə çox işləmək istəyə bilərsiniz. serial ayıklama aradan qaldırılması üçün. Misalda bunların hamısının bir araya gəldiyini görə bilərsiniz.
Test etmək üçün ilk addım, LED -in 0.5Hz -də düzgün tezliklə yanıb -sönmədiyini yoxlamaqdır. Sonra 1wire avtobusuna qoşun və yeni cihazı yoxlayın.
Tövsiyə:
Həm ESP8266 rejimi (AP və Müştəri rejimi): 3 addım
Həm Mode ESP8266 (AP və Müştəri rejimi): Əvvəlki məqalədə, giriş nöqtəsi və ya wifi stansiyası və wifi müştəri olaraq olan ESP8266 -da rejimin necə qurulacağına dair bir təlimat verdim. ESP8266 rejimini hər iki rejim olaraq təyin etmək üçün. Yəni bu rejimdə ESP8266
[Ev IoT] ESP8266 MQTT Müştəri Cihazı: 7 addım
[Ev IoT] ESP8266 MQTT Müştəri Cihazı: Pişiyim üçün avtomatik su qidalandırıcı kimi cihazları idarə etmək üçün MQTT protokolu olan ucuz WiFi effektiv MCU-dan istifadə etmək maraqlıdır. Daha ətraflı məlumat üçün blogum var (https://regishsu.blogspot.com/2019/07/home-iot-esp…Spe
ESP32 Kamera Şəkil Giriş Müştəri: 5 addım
ESP32 Kamera Şəkil Qeydiyyatı Müştəri: ESP32 Kamera Şəkil Qeydiyyatı Müştəri layihəsi, ESP32 modulunun WiFi qabiliyyətindən istifadə edərək şəkil çəkmək və İnternet vasitəsilə mərkəzi serverə göndərmək üçün ESP32 mikro nəzarətçisindən istifadə etməkdir. Əsas PCB lövhəsi iki əsas məqsəd nəzərə alınmaqla hazırlanmışdır:
MKR1000 IoT Müştəri/server Əlaqələri: 4 Addım
MKR1000 IoT Müştəri/Server Əlaqələri: Bu layihə iki Arduino/Genuino MKR1000 cihazının server və müştəri olaraq necə qurulacağını izah edir. Müştəri MKR1000 yerli wifi -yə qoşulacaq və fiziki olaraq müştəri ilə əlaqəli iki girişi dinləyəcək; biri düymədən, digəri isə vibdən
Komanda satırı FTP Müştəri necə istifadə olunur: 8 addım
Command-line FTP Müştəri Necə İstifadə Edilir: Niyə? Bəlkə başqa ftp müştəri yoxdur, bəlkə də pəncərələr, qrafiklər və siçanlar tərəfindən yavaşlatılmasını istəmirsiniz. -Bəlkə də texniki kompüter haqqında çox şey bildiyiniz kimi baxmaq istəyirsiniz