Tartalomjegyzék:
Videó: Arduino 1 vezetékes általános kliens/slave eszköz (érzékelő): 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Kérjük, olvassa el az Arduino 1 vezetékes kijelző (144 karakter) felépítésével kapcsolatos útmutatóm bevezetőjét és 2. lépését, hogy további információkat szerezzen a helyzetről és a rendelkezésre álló könyvtárakról. Amint azt itt kifejtettük, az orgua OneWire-Hub könyvtárát (OneWire slave device emulator) használjuk (ügyeljen arra, hogy más villák is vannak a környéken), hogy általános 1 vezetékes eszközöket (pl. Érzékelőket) építsenek Arduino segítségével.
1. lépés: Szoftver
A legfontosabb az, hogy olyan eszközt készítsünk, amely alapvetően bármilyen értéket képes egyszerű módon visszaadni. Ez azt jelenti, hogy a szabványos szoftverrel az összes érték közvetlenül olvasható (nincs szükség beszélgetésre vagy bináris manipulációra). Ehhez egy nagyon egyszerű alapértelmezett 1-vezetékes eszközre van szükségünk, amely képes úszókat visszaadni, és széles körben támogatott. Az egyetlen választás, amit tudok, a DS18B20 hőmérő (a DS2438 akkumulátorfigyelő is érdekes és hasznos, de meglehetősen bonyolult és így lassú a többi hátrány között). A OneWire-Hub könyvtár tartalmaz egy DS18B20_asInterface nevű példát, amely pontosan azt teszi, amire szükségünk van. Egy csomó DS18B20 -at hoz létre, amelyek mindegyike egy lebegő értéket képvisel, amelyet vissza akarunk adni az érzékelőnkről. A korlátozások itt a felbontást jelentik, és az értékeknek -55, 0… 125, 0 tartományban kell lenniük. Ez könnyen elérhető - legrosszabb esetben átméretezés -, és valójában jobb, mint pl. a DS2438 értékeket (1,5–10 V). Alternatívaként nagyobb értéktartomány állítható be a következők használatával:
setTemperatureRaw (static_cast (érték * 16.0f));
de előfordulhat, hogy ezeknek az értékeknek az olvasását és feldolgozását nem támogatja minden szoftver, mivel a specifikációkon kívül van.
Amit tudnia kell, az az, hogy kezdetben a slave -ek maximális száma 8 -ra korlátozódik, de megváltoztatható a "OneWireHub_config.h" -ban a HUB_SLAVE_LIMIT érték 32 -re történő növelésével. Ha szükséges, győződjön meg arról, hogy az ONEWIRE_TIME_MSG_HIGH_TIMEOUT alkalmazást is alkalmazza. 1 vezetékes hálózat (pl. X10), az Arduino 1 vezetékes kijelző (144 karakter) 2. lépésében leírtak szerint. Az IDE verzió> = 1.8.3 használatával pedig összeállíthatja és feltöltheti a kódot Arduino -jába.
Itt példaként annak az eszköznek a kódja, amelyet nemrég építettem. Feltételezem, hogy nem ugyanazt az érzékelő kombinációt használja, mint én, ezért itt nem részletezem a részleteket, ellenőrizze a kódot, és ha segítségre van szüksége, kérdezzen.
2. lépés: Hardver
Alapvetően bármi, amit az Arduino -hoz csatlakoztathat, választható érzékelőként használható. Az egyetlen korlátozás az, hogy az érzékelő leolvasása a lehető leggyorsabb legyen, hogy sok idő maradjon az 1 vezetékes kommunikációra (adja meg az Arduino 1 vezetékes kijelzővel (144 karakter) kapcsolatos utasításom 2. lépését) hogy példát kapjunk).
A lehetséges hardverre példa lehet egy időjárás állomás, például:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Ezenkívül vagy helyette csak az Arduino -t szeretné használni érzékelőjeként. Erről részletesebben olvashat az Arduino kevésbé ismert funkcióiról szóló útmutatómban - lehetséges értékek a forrásfeszültség és a belső hőmérséklet.
Példaként itt van egy kép a nemrég épített eszközről. Feltételezem, hogy nem ugyanazt az érzékelőkombinációt használja, mint én, ezért itt nem részletezem a részleteket, ellenőrizze a kódot, és ha segítségre van szüksége, kérdezzen.
3. lépés: Tesztelje az eszközt
Csatlakoztassa a hálózathoz, és ellenőrizze a szoftverben, hogy minden ROM -azonosító jelen van -e, és a hőmérsékletként visszatérő értékeket.
4. lépés: Függelék: ATtiny85
Egyetlen eszköz (memória korlátozás) is elvégezhető az ATtiny85 készüléken. Ennek néhány lépést kell tennie, mivel az ATtiny85 programozását az Arduino Uno mint internetszolgáltató segítségével végezzük az Arduino IDE segítségével:
-
Linkek
- 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
- használja az Arduino IDE> = 1.8.3
-
telepítse az ATtiny opciót az IDE -be
- Fájl> Beállítások> További táblák kezelői URL -ek:
- Eszközök> Tábla: ??? > Igazgatótanácskezelő…
- keress rá: "tiny" és telepítsd
- töltse fel az internetszolgáltató vázlatát az Uno -ba
Fájl> Példák> ArduinoISP> ArduinoISP
-
illessze be az ATtiny85-öt a programozó (nulla erő) aljzatba és csatlakoztassa:
- Arduino Pin MOSI D11 - ATtiny Pin 5
- Arduino Pin MISO D12 - ATtiny Pin 6
- Arduino csap SCK D13 - ATtiny Pin 7
- Arduino Pin Reset D10 to ATtiny Pin 1
- Arduino Pin GND - ATtiny Pin 4
- Arduino Pin VCC - ATtiny Pin 8
- (> = 10uF sapka az Arduino Uno RESET tűn szükséges lehet)
-
válassza az ATtiny85 (lásd a képet):
- Tábla: "ATtiny25/45/85"
- 1. időzítő óra: "CPU"
- B. O. D.: "B. O. D. Letiltva"
- LTO (csak 1.6.11 +): „Letiltva”
- Chip: "ATtiny85"
- Óra: "8 MHz (belső)" (ATtiny85 és ATtiny84 kompatibilis)
- Óra: "16 MHz (PLL)" (alternatív beállítás csak ATtiny85 esetén)
- Port: ???
-
Válassza ki a programozót:
Eszközök> Programozó: "Arduino mint internetszolgáltató" (NEM "ArduinoISP"!)
-
állítsa be a biztosítékok beállításait (óra stb.):
Eszközök> Burn Bootloader
- töltse fel ezt a kódot (a programozó hiba LED -jének ki kell kapcsolnia, különben állítsa vissza)
-
ATtinyX5 Pin elrendezés (ATtiny85):
- 1. tű: PB5 (RST)
- 2. tű: PB3 (A3) - opcionálisan 220ohm -on keresztül 1 <-TX -hez csatlakoztatva
- 3. tű: PB4 (A2) - 1 vezetékes DATA -hoz csatlakoztatva
- 4. tű: GND - csatlakozik a GND -hez
- 5. tű: PB0 (PWM) - az I2C SDA érzékelőhöz csatlakoztatva
- 6. tű: PB1 (PWM) - LED -hez csatlakoztatva 4,7 k -ról GND -re
- 7. tű: PB2 (A1) - az I2C SCL érzékelőhöz csatlakoztatva
- 8. tű: VCC - 5V -ra csatlakoztatva
Az ATTiny85 -tel való munka némi munkát igényel, mivel további könyvtárakat kell beszereznie az I2C comm (adafruit/TinyWireM) és a soros kimenethez (TinyDebugSerial). Továbbá, mivel a memória meglehetősen korlátozott, érdemes sokat dolgozni a #define programmal, pl. soros hibakeresés eltávolításához. A példában mindezt együtt láthatja.
A teszteléshez az első lépés annak ellenőrzése, hogy a LED megfelelő, 0,5 Hz frekvencián villog -e. Ezután csatlakoztassa az 1wire buszhoz, és ellenőrizze az új eszközt.
Ajánlott:
ASS eszköz (antiszociális szociális eszköz): 7 lépés
ASS eszköz (antiszociális szociális eszköz): Tegyük fel, hogy Ön az a fajta ember, aki szereti az emberek közelében lenni, de nem szereti, ha túl közel kerülnek hozzájuk. Te is népkedvelő vagy, és nehezen mondasz nemet az embereknek. Tehát nem tudod, hogyan mondd meg nekik, hogy vonuljanak vissza. Nos, lépjen be - az ASS eszköz! Y
Beltéri környezet érzékelő eszköz felépítése: 4 lépés
Beltéri környezetérzékelő eszköz felépítése: Manapság az emberek jobban aggódnak a beltéri minőség miatt, ahol élnek, mivel ez szorosan összefügg az egészségükkel. A jobb életminőség fontossága magában foglalja annak tudását, hogy javult az életkörülménye. Én is nagyon részese vagyok
[Home IoT] ESP8266 MQTT kliens eszköz: 7 lépés
[Home IoT] ESP8266 MQTT kliens eszköz: Érdekes, hogy egy olcsó WiFi-kompatibilis MCU-t használ az MQTT protokollal az olyan eszközök vezérlésére, mint a macskám automatikus vízadagolója. A blogomban találsz részletesebb információkat (https://regishsu.blogspot.com/2019/07/home-iot-esp…Spe
Napsugárzási eszköz (SID): Arduino -alapú napelem -érzékelő: 9 lépés
Solar Irradiance Device (SID): Arduino -alapú napelem -érzékelő: A Solar Irradiance Device (SID) méri a nap fényességét, és kifejezetten az osztálytermi használatra készült. Arduinos használatával épültek, ami lehetővé teszi számukra, hogy a középiskolásoktól a felnőttekig mindenki létrehozza őket. Ez az inst
Érzékelő hálózati eszköz: 4 lépés
Érzékelő hálózati eszköz: Ez az érzékelő hálózati eszköz képes olvasni és írni több érzékelőről egy weboldalról. Az érzékelő adatait RS485 kommunikáción keresztül továbbítják egy málna pi -hez, ahol az adatokat elküldik egy weboldalra a php használatával