Chytrá WiFi zásuvka Sonoff S26
Chytrá domácnost umožňuje ovládat elektrické spotřebiče na dálku. A přesně to umožní zásuvka Sonoff S26.
Senzor překážek pro Arduino YL-70 se skládá z hlavní propojovací desky a čtyř detekčních modulů. Každý detekční modul obsahuje jednu vysílací a jednu přijímací infračervenou diodu. Na hlavní desce se pak nachází pro každý z modulů vlastní trimr pro nastavení citlivosti snímání a integrovaný obvod, který zajišťuje převod snímaných signálů na digitální informaci sepnuto/nesepnuto. Výstupní signály z integrovaného obvodu pak stačí propojit s Arduino deskou a máme hotovo. Zároveň se ještě nachází na hlavní desce pět LED diod, kde krajní dioda indikuje přítomnost napájení a další čtyři diody indikují sepnutí jednotlivých detekčních modulů. Co se týká detekované vzdálenosti, dá se dosáhnout dobré přesnosti v rozmezí cca pár milimetrů až 40 centimetrů.
Pro propojení senzoru překážek s Arduino deskou je nutné propojit celkem 6 vodičů. Propojíme VCC s pinem +5V, GND se zemí Arduina, OUT1 s pinem D4, OUT2 s pinem D5, OUT3 s pinem D6 a OUT4 s pinem D7. Piny s názvem OUT můžeme samozřejmě připojit na jiné volné digitální piny, jen je nutné tuto změnu provést také v programu.
Ukázkový kód obsahuje na svém začátku nastavení vstupních pinů OUT ze senzoru překážek a dále v podprogramu setup nastavení komunikace po sériové lince a inicializaci vstupních pinů pomocí for smyčky. V nekonečné smyčce loop jsou pak při každém průběhu vytištěny informace o všech vstupních pinech opět pomocí for smyčky. Jak je v komentáři zmíněno, je nutné při načítání stavu jednotlivých modulů jejich hodnotu negovat (logicky převrátit), protože hlavní deska má obrácenou logiku, tedy při 0 je modul sepnut a při 1 nesepnut. Na konci programu se poté nachází pouze pauza po dobu jedné vteřiny pro přehlednější výpis.
// Senzor překážek // nastavení čísel propojovacích pinů int pinOut [4] = {4, 5, 6, 7}; void setup() { // komunikace po sériové lince rychlostí 9600 baud Serial.begin(9600); // inicializace vstupních pinů // pomocí for smyčky for (int i=0; i < 4; i++){ pinMode(pinOut[i], INPUT); } } void loop(){ // načtení informací ze všech vstupních pinů Serial.print("Stav vstupnich pinu: "); for (int i=0; i < 4; i++){ // jednobitová proměnná pro uložení stavu bool stav; // načtení stavu aktuálního pinu, nutná // negace, protože modul vrací 0 při detekci stav = !(digitalRead(pinOut[i])); Serial.print(stav); Serial.print(" "); } // ukončení řádku na sériové lince Serial.println(); // pauza pro přehlednější výpis delay(1000); }
Po nahrání programu do Arduino desky s připojeným senzorem překážek uvidíme například tento výpis, při kterém jsem se pokusil detekovat posun ruky skrz připojené detekční moduly:
Stav vstupnich pinu: 0 0 0 0 Stav vstupnich pinu: 1 0 0 0 Stav vstupnich pinu: 1 1 0 0 Stav vstupnich pinu: 1 1 1 0 Stav vstupnich pinu: 1 1 1 1 Stav vstupnich pinu: 0 1 1 1 Stav vstupnich pinu: 0 0 1 1 Stav vstupnich pinu: 0 0 0 1
Senzor překážek pro Arduino YL-70 je snadno použitelný set modulů a hlavní desky, který lze využít v různých stavbách robotů či autonomních vozítek, kdy potřebujeme jednoduchým způsobem snímat okolí námi řízeného objektu. Je však důležité zmínit, že vysílaný a poté zpětně přijímaný infračervený signál se dobře odráží od bílých, obecně světlých ploch, ale naopak černý materiál dokáže většinu vysílaného IR signálu pohltit. Právě proto se tento senzor překážek často používá pro detekování jízdy po černé čáře.
Seznam použitých komponent:
http://dratek.cz/arduino/901-arduino-senzor-prekazek-1420671722.html
http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
http://dratek.cz/arduino/1227-7-ks-mini-nepajive-pole-25-kontaktu-1458405292.html
http://dratek.cz/arduino-kabelaz-propoje-rozsireni/1063-arduino-vodice-samec-samec-40-kusu.html
Chytrá domácnost umožňuje ovládat elektrické spotřebiče na dálku. A přesně to umožní zásuvka Sonoff S26.
e-Paper displeje už jsou dostupné i pro bastlení za rozumné ceny a pro jejich ovládání se hodí tento Driver.