Světelný senzor TEMT6000 je přídavný vstupní modul pro Arduino. Tento modul obsahuje senzor osvětlení, který pracuje podobně jako NPN tranzistor. Při nulovém osvětlení je přechod zavřený a na výstupu naměříme napětí 0 Voltů. Se vzrůstajícím množstvím světla dopadajícího na senzor se pak začne zvedat i napětí na výstupu senzoru, přičemž maximum odpovídá napětí připojenému na napájení senzoru. Senzor je nejvíce citlivý na záření, které má vlnovou délku 570 nm a poloměr citlivosti senzoru je +- 60 stupňů. Pro napájení senzoru můžeme využít napájecí napětí 3,3 nebo 5 Voltů.
Pro úspěšné propojení senzoru TEMT6000 a Arduino desky je nutné zapojit celkem 3 vodiče. Propojíme S s pinem A0, G se zemí Arduina a V s +5V Arduina. Pro analogový výstup S je možné využít také jiný volný analogový pin, ale je nutné tuto volbu provést také na začátku programu.
Ukázkový kód obsahuje na svém začátku nastavení čísla propojovacího pinu a vytvoření proměnných, do kterých se ukládají výsledky měření. V podprogramu setup provedeme inicializaci komunikace po sériové lince a přejdeme do smyčky loop. V prvním kroku v nekonečné smyčce loop vždy načteme hodnoty z analogového pinu do proměnné. Pro získání procentuálního vyjádření naměřených dat pak v dalším příkazu namapujeme rozsah analogových dat 0-1023 na kratší rozsah 0-100 a uložíme jeho hodnotu do druhé proměnné. V následujícím kroku vypíšeme obě informace po sériové lince a poté ještě pro ukázku budeme ověřovat hodnotu procentuálního množství světla v okolí. Pomocí podmínky if kontrolujeme, jestli je v okolí více než 50 % z maximálního rozsahu. Pokud je podmínka splněna, vypíšeme informaci o dostatku světla po sériové lince. Pokud je ale hodnota menší, vypíšeme informaci o jeho nedostatku. Na konci programu se nachází už jen pauza před novým během smyčky.
// Světelný senzor TEMT6000
// nastavení čísla propojovacího pinu
#define analogPin A0
// vytvoření proměnných pro výsledky měření
int analogHodnota;
int prepocet;
void setup() {
// zahájení komunikace po sériové lince
// rychlostí 9600 baud
Serial.begin(9600);
}
void loop() {
// načtení hodnoty z analogového pinu
analogHodnota = analogRead(analogPin);
// přepočet analogové hodnoty z celého rozsahu
// 0-1023 na procentuální rozsah 0-100
prepocet = map(analogHodnota, 0, 1023, 0, 100);
// výpis načtených dat po sériové lince
Serial.print("Nactena hodnota: ");
Serial.print(analogHodnota);
Serial.print(", v procentech: ");
Serial.print(prepocet);
if (prepocet > 50) {
Serial.println(" | V okoli je dostatek svetla.");
}
else {
Serial.println(" | V okoli je nedostatek svetla.");
}
// pauza před novým během loop smyčky
delay(500);
}
Po nahrání ukázkového kódu do Arduino desky s připojeným senzorem TEMT6000 dostaneme například tento výsledek v Sériovém monitoru:
Nactena hodnota: 0, v procentech: 0 | V okoli je nedostatek svetla.
Nactena hodnota: 325, v procentech: 31 | V okoli je nedostatek svetla.
Nactena hodnota: 361, v procentech: 35 | V okoli je nedostatek svetla.
Nactena hodnota: 578, v procentech: 56 | V okoli je dostatek svetla.
Nactena hodnota: 990, v procentech: 96 | V okoli je dostatek svetla.
Nactena hodnota: 1003, v procentech: 98 | V okoli je dostatek svetla.
Nactena hodnota: 998, v procentech: 97 | V okoli je dostatek svetla.
Nactena hodnota: 81, v procentech: 7 | V okoli je nedostatek svetla.
Světelný senzor TEMT6000 je jednoduchý modul, kterým nám přes jeden analogový pin dokáže pomoci s detekcí světla v okolí. Hodí se tedy do projektů, kde potřebujeme rozlišovat mezi různými hladinami osvětlení, ale nevyžadujeme přesnou hodnotu v luxech. Například tedy může sloužit pro spínání světla v místnostech, když se venku dostatečně zatmí, nebo jako detektor černé čáry pro malé roboty. Výhodou tohoto senzoru je rozhodně jeho nízká cena a rozměry. Nevýhodou pak pro někoho může být omezení citlivosti pro zmíněnou vlnovou délku nebo nejasný vztah mezi výstupním napětím a osvětlením v luxech. Avšak po pečlivé kalibraci by bylo i to možné.
Motorizovaný kulový ventil. Má široké uplatnění v různých průmyslových a obytných instalacích. Může být integrován do automatických systémů řízení, kde je možné ovládat průtok dálkově nebo automatizovaně podle předem nastavených podmínek.
Motorizované kulové vently s obvodem CR01, CR02, CR03 nebo CR04 je poměrně jednoduché po elektrické stránce správně zapojit. U ventilu s obvodem CR05 je tomu ale trochu jinak - ventil si sám nehlídá krajní polohy otevření, nebo zavření. Z toho důvodu vznikl tento článek, ukazující některé výhody, použití a především správné zapojení ventilu s obvodem CR05.