Obsah:
Video: 1-drôtové generické klientske/podradené zariadenie Arduino (snímač): 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Prečítajte si úvod a krok 2 môjho pokynu o tom, ako vytvoriť 1-vodičový displej Arduino (144 znakov), aby ste získali viac informácií o situácii a dostupných knižniciach. Ako je tam vysvetlené, použijeme knižnicu OneWire-Hub (emulátor podradeného zariadenia OneWire) organizácie orgua (pozor, okolo sú ďalšie vidlice), aby sme pomocou Arduina mohli postaviť generické 1-drôtové zariadenia (napr. Senzory).
Krok 1: Softvér
Najdôležitejšie je vytvoriť zariadenie, ktoré dokáže jednoduchým spôsobom vracať v zásade akúkoľvek hodnotu. To znamená, že na čítanie všetkých hodnôt je možné použiť štandardný softvér (nie je potrebná žiadna konverzácia ani binárna manipulácia). Na to potrebujeme veľmi jednoduché predvolené 1-drôtové zariadenie, ktoré dokáže vrátiť plaváky a je široko podporované. Jedinou voľbou, ktorú poznám, je teplomer DS18B20 (monitor batérie DS2438 je tiež zaujímavý a užitočný, ale pomerne zložitý, a teda pomalý okrem iných nevýhod). Knižnica OneWire-Hub obsahuje príklad s názvom DS18B20_asInterface, ktorý robí presne to, čo potrebujeme. Vytvára veľa DS18B20, z ktorých každý predstavuje jednu pohyblivú hodnotu, ktorú chceme vrátiť z našich senzorov. Obmedzeniami sú rozlíšenie a hodnoty musia byť v rozsahu -55, 0… 125, 0. To sa dá ľahko dosiahnuť - v najhoršom prípade zmena stupnice - a je v skutočnosti lepšie ako hodnoty, ktoré je možné reprezentovať napr. hodnoty DS2438 (1,5 až 10V). Väčší rozsah hodnôt je možné nastaviť aj pomocou:
setTemperatureRaw (static_cast (hodnota * 16,0f));
čítanie a spracovanie týchto hodnôt však nemusí byť podporované všetkým softvérom, pretože je mimo špecifikácií.
Musíte si uvedomiť, že spočiatku je maximálny počet otrokov obmedzený na 8, ale dá sa zmeniť v „OneWireHub_config.h“zvýšením HUB_SLAVE_LIMIT až na 32. Tiež sa musíte uistiť, že v prípade potreby prijmete ONEWIRE_TIME_MSG_HIGH_TIMEOUT 1-vodičová sieť (napr. X10), ako je vysvetlené v kroku 2 1-vodičového displeja Arduino (144 znakov). A použiť verziu IDE> = 1.8.3 na kompiláciu a nahranie kódu do vášho Arduina.
Tu je príklad kódu zariadenia, ktoré som postavil veľmi nedávno. Keďže predpokladám, že nepoužívate rovnakú kombináciu senzorov ako ja, nebudem sa tu podrobnejšie zaoberať, skontrolujte kód a položte otázky, ak potrebujete pomoc.
Krok 2: Hardvér
V zásade čokoľvek, čo môžete pripojiť k Arduinu, môžete použiť ako svoj vybraný senzor. Jediným obmedzením je, že čítanie senzora by malo byť čo najrýchlejšie, aby mal dostatok času na uskutočnenie 1-vodičovej komunikácie (poraďte krok 2 môjho pokynu o 1-vodičovom displeji Arduino (144 znakov) v uvedenom poradí). získať príklad).
Príkladom možného hardvéru môže byť meteorologická stanica, ako napríklad:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Navyše alebo namiesto vás možno budete chcieť ako snímač použiť samotné Arduino. Viac si o tom môžete prečítať v mojom návode na používanie menej známych funkcií Arduina - možnými hodnotami sú napätie zdroja a vnútorná teplota.
Tu je ako príklad obrázok zariadenia, ktoré som postavil veľmi nedávno. Keďže predpokladám, že nepoužívate rovnakú kombináciu senzorov ako ja, nebudem sa tu podrobnejšie zaoberať, skontrolujte kód a položte otázky, ak potrebujete pomoc.
Krok 3: Otestujte zariadenie
Pripojte ho k sieti a skontrolujte, či váš softvér obsahuje všetky ID ROM a hodnoty, ktoré vracajú ako teplotu.
Krok 4: Príloha: ATtiny85
Jednotlivé zariadenia (obmedzenie pamäte) je možné vykonať aj na serveri ATtiny85. Pri programovaní ATtiny85 pomocou Arduino Uno ako ISP s pomocou Arduino IDE to vyžaduje niekoľko krokov:
-
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žívať Arduino IDE> = 1.8.3
-
nainštalovať voľbu ATtiny do IDE
- Súbor> Predvoľby> Adresy URL ďalších správcov dosiek:
- Nástroje> Doska: ??? > Správca dosiek …
- vyhľadajte výraz „malý“a nainštalujte ho
-
nahrajte skicu ISP na server Uno
Súbor> Príklady> ArduinoISP> ArduinoISP
-
vložte ATtiny85 do programovacej zásuvky (s nulovou silou) a zapojte:
- Pin Arduino MOSI D11 na ATtiny Pin 5
- Pin Arduino MISO D12 na ATtiny Pin 6
- Pin Arduino SCK D13 na ATtiny Pin 7
- Pin Arduino resetujte D10 na ATtiny Pin 1
- Pin Arduino GND na ATtiny Pin 4
- Pin Arduino VCC na ATtiny Pin 8
- (> = Možno bude potrebná čiapka 10uF na pine RESET Arduino Uno)
-
vyberte ATtiny85 (pozri obrázok):
- Doska: "ATtiny25/45/85"
- Hodiny časovača 1: „CPU“
- B. O. D.: „B. O. D. je zakázaný“
- LTO (iba 1.6.11 +): „Zakázané“
- Čip: "ATtiny85"
- Hodiny: "8 MHz (interné)" (kompatibilné s ATtiny85 a ATtiny84)
- Hodiny: „16 MHz (PLL)“(alternatívne nastavenie iba pre ATtiny85)
- Prístav: ???
-
vyberte programátora:
Nástroje> Programátor: „Arduino ako ISP“(NIE „ArduinoISP“!)
-
nastaviť nastavenia poistky (hodiny atď.):
Nástroje> Napáliť bootloader
- nahrajte tento kód (kontrolka chyby programátora musí zhasnúť, inak ho resetujte)
-
Rozloženie pinov ATtinyX5 (ATtiny85):
- Pin 1: PB5 (RST)
- Pin 2: PB3 (A3) - voliteľne pripojený cez 220 ohmov k 1 <-TX
- Pin 3: PB4 (A2) - pripojený k 1 -vodičovému DATA
- Pin 4: GND - pripojený k GND
- Pin 5: PB0 (PWM) - pripojený k senzoru I2C SDA
- Pin 6: PB1 (PWM) - pripojený k LED s 4,7 k na GND
- Pin 7: PB2 (A1) - pripojený k senzoru I2C SCL
- Pin 8: VCC - pripojený k 5V
Práca s ATTiny85 vyžaduje trochu viac práce, pretože potrebujete ďalšie knižnice pre I2C comm (adafruit/TinyWireM) a sériový výstup (TinyDebugSerial). Pretože je pamäť dosť obmedzená, budete chcieť pravdepodobne veľa pracovať s #define, napr. na odstránenie sériového ladenia. V príklade môžete vidieť, ako je to všetko spojené.
Pri testovaní je prvým krokom kontrola, či LED dióda bliká so správnou frekvenciou 0,5 Hz. Potom ho pripojte k zbernici 1wire a vyhľadajte nové zariadenie.
Odporúča:
Zariadenie ASS (antisociálne sociálne zariadenie): 7 krokov
Zariadenie ASS (antisociálne sociálne zariadenie): Povedzme, že ste typ človeka, ktorý má rád okolo seba ľudí, ale nemá rád, keď sa dostávajú príliš blízko. Ste tiež potešiteľom ľudí a ťažko dokážete ľuďom povedať nie. Takže neviete, ako im povedať, aby ustúpili. No, zadajte - zariadenie ASS! Y
Prototyp - poplašné zariadenie používajúce snímač ľudského dotyku (KY -036): 4 kroky
Prototyp - poplašné zariadenie využívajúce snímač ľudského dotyku (KY -036): V tomto projekte navrhnem poplašné zariadenie, ktoré sa spustí dotykom. Na tento projekt budete potrebovať ľudský dotykový senzor (KY-036). Dovoľte mi pozrieť sa na tento projekt. Ako vidíte na vyššie uvedených obrázkoch, dotykový senzor
Vytvorte zariadenie Chromecast ako zariadenie Raspberry Pi: 7 krokov
Vytvorte zariadenie Chromecast ako zariadenie Raspberry Pi: Už vlastním Chromecast v2 (okrúhly, USB kľúč ako v1 a v3 vyzerá ako v2, ale s G na i a s napájacou tehlou s ethernetovým portom) a i páči sa mi to, je to zábava používať a ľahko sa nastavuje, ALE … Áno, existuje ALE, čo
[Domov IoT] Klientske zariadenie ESP8266 MQTT: 7 krokov
[Domov IoT] Klientské zariadenie ESP8266 MQTT: Je zaujímavé, že pomocou lacného MCU s podporou WiFi s protokolom MQTT môžete ovládať zariadenia, ako je automatický podávač vody pre moju mačku. Existuje môj blog s podrobnejšími informáciami (https://regishsu.blogspot.com/2019/07/home-iot-esp…Spe
Pomocné zariadenie na vyberanie lepidla Horné zariadenie: 8 krokov
Horné zariadenie na výber lepidla s asistenčnou technológiou: Toto zariadenie je určené na vyberanie malých predmetov (mince, kreditné karty, čajové vrecúška, papiere) lepiacim mechanizmom zo sediacej alebo stojacej polohy. Zariadenie je manuálne, ale je navrhnuté tak, aby ho obsluhovala jednoduchá osoba s obmedzenou silou ruky