Obsah:
Video: 1-drátové generické klientské/podřízené zařízení (senzor) Arduino: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
Přečtěte si prosím úvod a krok 2 mého návodu k sestavení 1vodičového displeje Arduino (144 znaků), abyste získali více informací o situaci a dostupných knihovnách. Jak je zde vysvětleno, použijeme knihovnu OneWire-Hub (emulátor zařízení OneWire slave) od orgua (pozor, kolem jsou další vidlice), abychom mohli stavět generická 1vodičová zařízení (např. Senzory) pomocí Arduina.
Krok 1: Software
Nejdůležitější věcí je vytvořit zařízení, které dokáže jednoduchým způsobem vrátit v podstatě jakýkoli druh hodnoty. To znamená, že ke čtení všech hodnot lze použít standardní software (není třeba konverzace ani binární manipulace). K tomu potřebujeme velmi jednoduché výchozí 1vodičové zařízení, které dokáže vracet plováky a je široce podporováno. Jedinou volbou, kterou znám, je teploměr DS18B20 (monitor baterie DS2438 je také zajímavý a užitečný, ale poměrně složitý, a tedy pomalý mimo jiné nevýhody). Knihovna OneWire-Hub obsahuje příklad nazvaný DS18B20_asInterface, který dělá přesně to, co potřebujeme. Vytváří spoustu DS18B20, z nichž každý představuje jednu pohyblivou hodnotu, kterou chceme vrátit z našich senzorů. Omezeními jsou zde rozlišení a hodnoty musí být v rozsahu -55, 0… 125, 0. Toho lze snadno dosáhnout - v nejhorším případě je změna měřítka - a ve skutečnosti je lepší než hodnoty, které lze vyjádřit např. hodnoty DS2438 (1,5 až 10 V). Alternativně lze nastavit větší rozsah hodnot pomocí:
setTemperatureRaw (static_cast (hodnota * 16,0f));
čtení a zpracování těchto hodnot však nemusí být podporováno veškerým softwarem, protože je mimo specifikace.
Musíte si uvědomit, že zpočátku je maximální počet podřízených omezen na 8, ale lze jej změnit v „OneWireHub_config.h“zvýšením HUB_SLAVE_LIMIT až na 32. Také se musíte ujistit, že v případě potřeby přijmete ONEWIRE_TIME_MSG_HIGH_TIMEOUT 1vodičová síť (např. X10), jak je vysvětleno v kroku 2 1vodičového displeje Arduino (144 znaků). A použít verzi IDE> = 1.8.3 ke kompilaci a nahrání kódu do vašeho Arduina.
Zde jako příklad kód zařízení, které jsem postavil velmi nedávno. Předpokládám, že nepoužíváte stejnou kombinaci senzorů jako já, nebudu se zde dále rozepisovat, zkontrolujte kód a pokládejte otázky, pokud potřebujete pomoc.
Krok 2: Hardware
V podstatě cokoli, co můžete připojit k Arduinu, lze použít jako senzor, který si vyberete. Jediným omezením je, že čtení senzoru by mělo být co nejrychlejší, aby měl dostatek času na to, aby mohla proběhnout 1vodičová komunikace (sdělte krok 2 mého pokynu o 1vodičovém displeji Arduino (144 znaků) v pořadí získat příklad).
Příkladem možného hardwaru může být meteorologická stanice, například:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Navíc nebo místo vás možná budete chtít použít jako senzor samotné Arduino. Více si o tom můžete přečíst v mé instruktáži o méně známých funkcích Arduina - možné hodnoty jsou napětí zdroje a vnitřní teplota.
Zde jako příklad obrázek zařízení, které jsem postavil velmi nedávno. Předpokládám, že nepoužíváte stejnou kombinaci senzorů jako já, nebudu se zde dále rozepisovat, zkontrolujte kód a pokládejte otázky, pokud potřebujete pomoc.
Krok 3: Otestujte zařízení
Připojte jej k síti a zkontrolujte, zda váš software obsahuje všechna ID ROM a hodnoty, které vrací jako teplotu.
Krok 4: Dodatek: ATtiny85
Jednotlivá zařízení (omezení paměti) lze také provést na ATtiny85. Při programování ATtiny85 pomocí Arduino Uno jako ISP s pomocí Arduino IDE to vyžaduje několik kroků:
-
Odkazy
- 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
- použijte Arduino IDE> = 1.8.3
-
nainstalujte možnost ATtiny do IDE
- Soubor> Předvolby> Adresy URL dalších správců desek:
- Nástroje> Deska: ??? > Správce desek…
- vyhledejte: „maličký“a nainstalujte
-
nahrajte skicu ISP na Uno
Soubor> Příklady> ArduinoISP> ArduinoISP
-
vložte ATtiny85 do programovací (nulové) zásuvky a zapojte jej:
- Arduino Pin MOSI D11 na ATtiny Pin 5
- Arduino Pin MISO D12 na ATtiny Pin 6
- Arduino Pin SCK D13 na ATtiny Pin 7
- Pin Arduino Resetujte D10 na ATtiny Pin 1
- Arduino Pin GND na ATtiny Pin 4
- Arduino Pin VCC na ATtiny Pin 8
- (> = 10uF cap na pinu Arduino Uno RESET může být potřeba)
-
vyberte ATtiny85 (viz obrázek):
- Deska: "ATtiny25/45/85"
- Hodiny časovače 1: "CPU"
- B. O. D.: "B. O. D. zakázáno"
- LTO (pouze 1.6.11 +): "Zakázáno"
- Čip: "ATtiny85"
- Hodiny: „8 MHz (interní)“(kompatibilní s ATtiny85 a ATtiny84)
- Hodiny: „16 MHz (PLL)“(alternativní nastavení pouze pro ATtiny85)
- Přístav: ???
-
vyberte programátora:
Nástroje> Programátor: „Arduino jako ISP“(NE „ArduinoISP“!)
-
nastavit nastavení pojistek (hodiny atd.):
Nástroje> Vypálit bootloader
- nahrajte tento kód (kontrolka LED chyby programátoru musí zhasnout, jinak ji resetujte)
-
Rozložení pinů ATtinyX5 (ATtiny85):
- Pin 1: PB5 (RST)
- Pin 2: PB3 (A3) - volitelně připojen přes 220 ohmů k 1 <-TX
- Pin 3: PB4 (A2) - připojen k 1vodičovému DATA
- Pin 4: GND - připojeno k GND
- Pin 5: PB0 (PWM) - připojeno k senzoru I2C SDA
- Pin 6: PB1 (PWM) - připojeno k LED s 4,7 k GND
- Pin 7: PB2 (A1) - připojeno k senzoru I2C SCL
- Pin 8: VCC - připojeno k 5V
Práce s ATTiny85 vyžaduje trochu více práce, protože potřebujete další knihovny pro I2C comm (adafruit/TinyWireM) a sériový výstup (TinyDebugSerial). Navíc, protože paměť je poměrně omezená, možná budete chtít hodně pracovat s #define, např. k odstranění sériového ladění. V příkladu můžete vidět, jak je to všechno pohromadě.
Při testování je prvním krokem kontrola, zda LED dioda bliká se správnou frekvencí 0,5 Hz. Poté jej připojte ke sběrnici 1wire a zkontrolujte nové zařízení.
Doporučuje:
Zařízení ASS (antisociální sociální zařízení): 7 kroků
Zařízení ASS (antisociální sociální zařízení): Řekněme, že jste typ člověka, který má rád lidi, ale nemá rád, když se blíží. Jste také příjemným lidem a těžko řeknete lidem ne. Takže nevíte, jak jim říct, aby ustoupili. No, zadejte - zařízení ASS! Y
Prototyp - poplašné zařízení využívající lidský dotykový senzor (KY -036): 4 kroky
Prototyp - poplašné zařízení využívající lidský dotykový senzor (KY -036): V tomto projektu budu navrhovat poplašné zařízení, které se spustí dotykem. Pro tento projekt budete potřebovat lidský dotykový senzor (KY-036). Dovolte mi, abych vám představil tento projekt. Jak můžete vidět na obrázcích výše, dotykový senzor
[Domácí IoT] Klientské zařízení ESP8266 MQTT: 7 kroků
[Domácí IoT] Klientské zařízení ESP8266 MQTT: Je zajímavé, že pomocí levné MCU s podporou WiFi s protokolem MQTT lze ovládat zařízení, jako je automatický podavač vody pro moji kočku. K dispozici je můj blog s podrobnějšími informacemi (https://regishsu.blogspot.com/2019/07/home-iot-esp…Spe
IOT123 - HUB ASSIMILOVANÉHO SNÍMAČE: MONTÁŽ GENERICKÉ SKŘÍNĚ ICOS10 (IDC): 6 kroků
IOT123 - HUB ASSIMILOVANÉHO SENZORU: MONTÁŽ GENERICKÉHO SKŘÍNĚ ICOS10 (IDC): UPOZORNĚNÍ Toto je vylepšená verze (robustnost obvodu) sestavy ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Assembly. Sestavuje se rychleji a má obvod vyšší kvality, ale stojí více (~ 10 $ navíc, pokud podporuje 10 senzorů). Hlavní fe
Jak vyměnit baterii v zařízení TomTom Go! Zařízení 510 Satnav: 15 kroků
Jak vyměnit baterii v zařízení TomTom Go! Zařízení 510 Satnav: Takže před 2 lety jste šli a utratili stovky za nový lesklý TomTom GO! a vy a sdíleli jste mnoho šťastných cest nahoru a dolů po zemi. Hladký hlas operátora nikdy nekřičí, nebo nadává, když vám chybí odbočky, nebo úplně neposloucháte, co museli