Dostalo se mi do ruky staré nefunkční piáno pro děti a tak jsem se ho rozhodl zprovoznit.

Konstrukce postavené na základě MCU. Například Arduino, ESP8266, převážně Arduino.
Dostalo se mi do ruky staré nefunkční piáno pro děti a tak jsem se ho rozhodl zprovoznit.
Při potřebě práce s reálným časem na Arduinu je potřeba použít modul reálného času (RTC). Modulů se nabízí několik základních typů, ale jako nejlepší se ukazuje modul s čipem DS3231. Modul má vlastní záložní baterii a komunikuje po sběrnici I2C. Z výroby je nastavená adresa 0x68. Modul pracuje při napětí 3.3V i 5V, a tak jde použít s různými řídícími jednotkami.
Pro připravovaný projekt jsem scháněl dostatečně malou kompletní klávesnici, nakonec se mi podařilo najít klávesnici od M5 Stack.
Klávesnice je velikosti kreditní karty a obsahuje všechny písmena abecedy, čísla, různé symboly, pár funkčních kláves a RGB LED. Komunikuje po sběrnici I2C na adrese 5Fh.
Tento kódový zámek vznikl pro použití na speciální hasičské soutěži.
V různých konstrukcích s MCU je občas potřeba nastavovat různé hodnoty, pro tento účel se hodí využít rotační enkodér.
Rotační enkodér má výhodu v jednoduchém zapojení a pestrém využití. V tomto testu jsem použil enkodér s tlačítkem, které ale nebude použito.
Enkodér se připojuje pouze třemi vodiči – společný vývod a dva vývody na interní kontakty.
Při potřebě zobrazení dat u Arduina se vyplatí použít malý OLED displej s řadičem SSD1306. Vyrábí se více velikostí i rozlišení, já jsem použil displej o velikosti 0.91″ a rozlišení 128×32 pixelů.
Díky komunikaci po I2C sběrnici je připojení jednoduché a zabere jen 2 piny + napájení.
S blížící se koupací sezónou je na čase vyrobit měření teploty bazénu a rovnou i vzduchu.
Postavil jsem tento jednoduchý teploměr s deskou s ESP8266 a dvěmi čidly DS18B20. Čidla jsou ve vodotěsné variantě, jedno bude umístěné na dně bazénu a druhé ve stínu na měření teploty vzduchu. Dále je tam jeden pull-up rezistor a to je vše. K napájení slouží micro-USB konektor s externím adaptérem.
Po spuštění se teploměr připojí na wifi síť a poté čte teploty z čidel, které jednou za 5 minut odešle na server Thingspeak. Mezitím také odesílá hodnoty po sériové lince, pro případ ladění a servisu.
Je potřeba změnit adresy čidel podle použitých, apiKlíč na Thingspeak a název a heslo k wifi síti.
Zobrazení dat je následně možné přímo na webu Thingspeaku, v telefonu pomocí widgetu nebo například zobrazovací jednotkou.
Pokud si člověk pořídí bazén, určitě po nějaké době začne pokukovat po solárním ohřevu. A když už má i solární ohřev, začne uvažovat jak nejefektivněji řídit čerpadlo pro co nejlepší vytápění.
V práci při testování strojů potřebuji aby se stroj po 2 nebo 12 hodinách (podle typu) zastavil. Vytvořil jsem proto jednoduchý časovač.
Časovač má jednoduchou funkci, po zapnutí se provede volba módu 2 nebo 12 hodin a stiskem start se spustí odpočet který po zvolené době rozepne relé. Zbývající čas je uveden na LCD 16×1 znaků. Přestože je displej 16×1 je nutné s ním komunikovat jako s 8×2. Přičemž první řádek je prvních 8 znaků a druhý řádek je druhých 8 znaků!
Jako mozek časovače je použito Arduino mini. Dále už je tu jen měnič z 24V na 5V. Schéma zapojení není potřeba, zapojení LCD a vstupů a výstupů lze vysledovat z programu, který je ke stažení:
Spínače jsem dělal dva v roce 2018 a stále bez problému fungují.
Provedl jsem první aktualizaci HW a to přidání RF modulu HC-12 na frekvenci 433MHz. Modul je plně SW konfigurovatelný a teoretický dosah má až skoro 2km, no uvidíme.
Aktualizoval jsem blokové schéma. Modul je připojený přímo k MCU přes druhé UART rozhraní a jeden další pin na volbu programování.