Blog
Už dlhší čas som sa zapodieval myšlienkou na prenesenie diela Andreja Sládkoviča do počítača. V Banskej Bystrici má zvláštnu sochu v záhrade evanjelického kostola a na neďalekom cintoríne je aj pochovaný. Teraz cez sviatky som si našiel trochu voľného času a prekonvertoval som jeho báseň Marína do poľa v C++.
V tomto článku si prepojíme Arduino a HTML stránku, na ktorej sa nachádza AngularJS aplikácia. Na prepojenie využijeme Node.js a komunikáciu medzi serverom a stránkou zabezpečí Socket.
Naše dieťa malo nedávno dva roky a jeho najobľúbenejšie slová sú auto a blik. Poďme si takýto blik vyrobiť pomocou mikrokontroléra ATtiny85. Program Blik je najzákladnejším programom pre Arduino, na ktorom sa naučíte základy ovládania vývodov z mikrokontroléra.
Mikrokontrolér ATtiny85 má dva 8-bitové timery. Pomocou nich je možné ovládať stmievanie LED diód. 8 bitov je ale málo v prípade, že chcete mať zmenu jasu prispôsobenú ľudskému oku.
V dnešnom článku si pripojíme viac Arduin k počítaču pomocou Node.js balíčka serialport. Budeme upravovať predchádzajúci príklad, v ktorom sme pripájali iba jedno Arduino.
Z jedného projektu som vybral príklad monitorovania stlačenia tlačidla pomocou Arduina. Program sleduje stlačenie tlačidla pomocou prerušenia a zasiela informáciu o stlačenom tlačidle pomocou sériového portu do počítača. V príklade nájdete nastavenie prerušenia pomocou funkcie attachInterrupt a makra digitalPinToInterrupt.
Svoje Orange Pi Zero som si kúpil bez krabičky. Keď dorazilo, začal som s ním experimentovať a hneď som narazil na jeden problém. Orange Pi Zero má rozmery 5x5 cm a je neuveriteľne ľahké.
Môžem sa s vami podeliť o skúsenosť so zlyhaním Cloudu. Moje stránky mám umiestnené v Google App Engine. Pred pár dňami im na niekoľko hodín zlyhala dôležitá služba, ktorá sa nazýva Memcache.
V predchádzajúcom článku o Orange Pi Zero sme si ukázali ovládanie GPIO pinov pomocou knižnice WiringOP. Na jednoduché činnosti vám táto knižnica poslúži dobre, ale pri komplikovanejších projektoch by ste sa potrápili, kým by ste všetko odladili. Ak máte k dispozícii Arduino, môžete ho pripojiť do USB portu a využívať jeho možnosti.
Tento článok popisuje aktualizovanú verziu balíčka serialport vo verzii 6. Budeme pomocou sériového portu komunikovať s Arduinom. V javascripte v prehliadači nemôžete používať sériový port na lokálnom počítači.
V datasheete k obvodu DS1307 sa dočítate, že doporučené napájanie integrovaného obvodu je v intervale 4,5 - 5 V. Na Internete ale nájdete veľa príkladov pripájania tohto integrovaného obvodu k ESP8266, kde nik otázku napájania nerieši. Poďme sa pozrieť na to, či DS1307 je schopné bez problémov spolupracovať s ESP8266.
I2C tester je užitočná pomôcka pre každého, kto pripája k Arduinu nové I2C zariadenie. Pomocou neho sa ľahko skontroluje, či I2C komunikácia funguje. Väčšina z nás využíva I2C tester zo stránok Arduina.
Nie je vôbec jednoduché fotografovať elektronické súčiastky. Musíte mať dobré svetlo, dobrý podklad bez odleskov a nikdy neviete, či lepší výsledok dosiahnete s bleskom alebo bez neho. Píšem tento blog už niekoľko rokov a stále som s týmto problémom zápasil.
WiringOP je modifikácia knižnice WiringPi pre Orange Pi. Umožňuje ovládať GPIO vývody na doske. Vývody na doske sa nachádzaju na 26-pinovom konektore.
Integrovaný obvod DS1307 má jeden vývod označený ako SQW. Na ňom je možné zapnúť generovanie signálu s obdĺžnikovým priebehom. Generovaný signál môže mať nastavenú rôznu frekvenciu.
V dnešom článku si vysvetlíme základy používania integrovaného obvodu DS1307. Naučíme sa nastaviť čas a naučíme sa aj čítať čas z obvodu. Vysvetlíme si, ako využívať celú RAM, ktorú nám integrovaný obvod poskytuje.
V tomto článku si ukážeme inštaláciu Node.js na Orange Pi Zero. Tento program umožňuje vytvárať serverové aplikácie pomocou Javascriptu.
Mikrokontrolér ATmega2560 je súčasťou dosky Arduino Mega 2560. Obsahuje viac vývodov a jeho autori pridali aj viac timerov. Obsahuje dva 8-bitové a štyri 16-bitové timery.
Obľúbeným projektom pre Arduino je riadenie svetelnej križovatky. V dnešnom článku si takýto semafór naprogramujeme. Nebudeme to robiť klasicky, ale využijeme sekvencer, pomocou ktorého sa táto úloha zmení na veľmi jednoduchú úlohu.
Narodenie druhého dieťaťa bolo inšpiráciou pre tento projekt. Potrebovali sme ľahko prenositeľný zdroj svetla, na ktorom je možné plynule nastaviť jas. Využil som skúsenosti z projektu Bambíno a ATtiny13A a vytvoril som projekt LED svetla, ktoré je napájané 4,5 V batériou.
V pondelok sa nám s manželkou narodilo druhé bábätko. Bude zaujímavé sledovať, ako sa mi podarí spojiť hobby a náročnú starostlivosť počas prvého mesiaca jej života. A veľmi ma zaujíma aj to, či bude mať takú vášeň pre súčiastky, ako má náš chlapec.
Vyskúšal som malý 1,5 F kondenzátor spolu s mikrokontrolérom ATtiny85. Vyrába ho firma Panasonic a pracuje s napätím maximálne 5,5 V. Kondenzátor je určený na zálohovanie nízkoenergetických zariadení.
Pre dnešnú tému som vybral zaujímavú oblasť. Budeme pomocou Arduina vytvárať signál SOS. Signál sa bude zobrazovať pomocou LED diódy.
Natrafil som na zaujímavý článok, ktorý popisuje nastavenie gama korekcie pre LED diódy. V článku sa objavuje známa tabuľka 256 hodnôt, ktoré umožňujú prispôsobiť jas LED diódy pre ľudské oči. Ja sám som tú tabuľku niekoľkokrát použil (stmievač LED pásika, 1W led stmievač), ale vôbec som nepoznal autora, ktorý danú tabuľku vytvoril.
Arduino má implicitne všetky PWM kanály nastavené na 8-bitové rozlíšenie. Toto nie je maximálne rozlíšenie. Timer1 vie použiť až 16-bitové rozlíšenie.
Dnes sa budeme venovať zaujímavej knižnici, ktorá umožňuje ukladať heslo k WiFi. Vďaka tomu môžete používať jeden program pre všetky svoje ESP8266. V ňom nemáte žiadne heslo.
Urobil som zopár experimentov s NTP serverom a ESP8266. Stiahnutie času a konverzia do UTC je dobre popísaná priamo v demo príkladoch. Konverzia času do časovej zóny a používanie letného času nie je skoro nikde dokumentované.
V tomto článku budeme skenovať WiFi siete pomocou ESP8266. Budeme vychádzať zo vzorového príkladu, ktorý upravíme tak, aby výsledky zobrazoval na OLED displeji 0.96.
V byte, ktorý som si kúpil, bola predsieň upravená tak, aby tam vznikol malý šatník. Okolo šatníka bola pri strope namontovaná drevená konštrukcia, v ktorej boli halogénové svetlá. Nefungovalo to a po obhliadke som zistil, že pôvodné riešenie bolo nebezpečné.
V tomto článku vysvetlím princíp činnosti stmievača LED pásikov. Je to štvrtý zo série článkov, na ktorých vám ukážem, ako postupne prebieha vývoj programov a ako diametrálne sa môže líšiť výsledný program. Tento text popisuje aktuálnu verziu kódu 1.
Ku napísaniu tohoto článku ma inšpirovala otázka na Google+ fóre. Ako dostať meno a heslo (napríklad ku WiFi) do Arduina tak, aby to nebolo nutné zapísať priamo do programu. Tak totiž hrozí nebezpečenstvo, že z neopatrnosti pošlete svoje heslo napríklad na GitHub.
Na túto chvíľu som sa dlho tešil. Konečne je vonku nová verzia Google Cloud Translation API, ktorá prekladá pomocou neurónových sietí. Preto som sa pustil do automatických prekladov mojich stránok do češtiny a angličtiny.
V tomto blogu nájdete mierne vylepšenie konštrukcie stmievača. V prvej verzii som narobil niekoľko drobných chýb, ktoré som tu opravil. Ak si chcete postaviť vlastný stmievač, vychádzajte z tejto konštrukcie.
Nadviažem na starší článok o používaní Arduina ako ISP programátora. Pomocou neho naprogramujeme mikrokontrolér ATtiny84. To je 14-vývodový mikrokontrolér, ktorý je veľmi podobný na ATtiny85.
Šťastná náhoda napomohla tomu, aby som dokončil projekt ilúzie svätojánskej mušky. Vo výpredaji som kúpil vázu, ktorá bola zo skla a mala originálny motív z červených škvŕn. Do nej bolo jednoduché umiestniť celú elektroniku, ktorá vytvorila výslednú ilúziu.
Toto sú komentované príklady pre Node.js. Zdrojové texty nájdete na stránke https://github.
Dnes plynule nadviažeme na predchádzajúci článok. S rádiovými modulmi budeme pracovať pomocou knižnice RadioHead. Opäť využijeme dvojicu vysielač a príjímač, ktorá spolu komunikuje na frekvencii 433 MHz.
Každý z nás sa na Ebay stretol s neuveriteľne lacnými modulmi, ktoré umožňujú bezdrôtovú komunikáciu medzi Arduinami. Ponuka je tam neuveriteľne pestrá a my sa v tomto článku pozrieme na to najlacnejšie v ponuke. Dvojicu vysielač a príjímač, ktorá spolu komunikuje na frekvencii 433 MHz.
V tomto článku vysvetlím princíp činnosti stmievača LED pásikov. Je to tretí zo série článkov, na ktorých vám ukážem, ako postupne prebieha vývoj programov a ako diametrálne sa môže líšiť výsledný program. Postupne prejdeme zdrojové kódy programu od verzie 1.
V niekoľkých článkoch sme sa venovali úvodu k Node.js a dnes sa pozrieme na prvú zaujímavú tému. Budeme pomocou sériového portu komunikovať s Arduinom.
V predchádzajúcom článku sme sa zaoberali čítaním údajov z externej EEPROM. To bolo len zo zvedavosti. Skutočný dôvod získania EEPROM bol test výdrže pamäte.
Tento článok popisuje, ako si nainštalovať virtuálny stroj od firmy Bitnami. Ich pripravené virtuálky majú výhodu v tom, že už je všetko pripravené a nemusíte úplne všetko inštalovať. Iba si predinštalovaný stroj upravíte na svoje potreby.
V tomto článku vysvetlím princíp činnosti stmievača LED pásikov. Je to druhý zo série článkov, na ktorých vám ukážem, ako postupne prebieha vývoj programov a ako diametrálne sa môže líšiť výsledný program. Postupne prejdeme zdrojové kódy programu od verzie 1.
Z nejakej odpálenej dosky som vyspájkoval 32 Kb EEPROM v SOIC8 púzdre. Plánujem ju použiť na test výdrže prepisovania, ale ešte predtým, ako ju definitívne zničím, zaujímalo ma, čo sa na EEPROM ukrýva. Dajú sa z takejto EEPROM ešte prečítať údaje? A aby som to zbytočne nenaťahoval, tak doska síce odpálená bola, ale EEPROM bola v poriadku a tu je kód, pomocou ktorého sa dajú z tejto konkrétnej EEPROM prečítať údaje.
V tomto článku budeme rozvíjať kód, ktorý sme vytvorili v predchádzajúcom článku. Navrhneme si triedu, ktorá bude optimalizovaná na zapisovanie pola objektov do EEPROM. Objektom môže byť napríklad nameraná hodnota, ale fantázii sa medze nekladú.
Pred pár dňami som písal o tom, že mám v Google Cloud experimentálny server pre Node.js. Chcel by som na ňom primárne robiť prepojenia medzi Arduinom a javascriptom.
V tomto článku nadviažeme na predchádzajúci, v ktorom sme si vysvetlili základné použitie externej EEPROM. Navrhneme si triedu, ktorá nám umožní pohodlne ukladať do EEPROM ľubovoľný objekt. Využijeme pritom šablóny jazyka C++ a doplníme do triedy dve funkcie, ktoré budú plniť túto úlohu.
ATtiny85 obsahuje dva 8-bitové timery. Nemajú síce taký rozsah ako tie v ATmega328P, ale na väčšinu úloh to postačuje. V tomto článku sa pozrieme na časovače z hľadiska CTC režimu.
Pred pár mesiacmi sme nahliadli do Arduino Web Editora. Je to online prostredie, ktoré umožňuje písať programy pre Arduino priamo v prehliadači. V dnešnom článku nahliadneme pod jeho kapotu a povieme si niečo o tom, ako toto nové prostredie kompiluje program.
V tomto článku si vysvetlíme, ako môžeme pracovať s externou EEPROM. Externé EEPROM sa obvykle ovládajú protokolom I2C a v tomto článku sa budeme venovať práve takýmto EEPROM. Príklad bude pre 24LC16B, ale až na drobnosti bude tento návod univerzálny pre ľubovolnú EEPROM.
Na stránkach môžete hľadať podľa zadaného výrazu. Fulltextové vyhľadávanie nájde všetky stránky, ktoré daný výraz obsahujú. Hľadanie je urobené pomocou Search API pre Google App Engine.
Pomocou timera si môžete zjednodušiť viaceré úlohy. Môžete ho využiť aj na kontrolu stavu tlačidla. V tomto článku si ukážeme, ako môžeme kontrolovať dve tlačidlá, ktoré menia hodnotu premennej.
Dnes to bude trošku odľahčená téma. Využil som mikrokontrolér ATtiny13A v projekte pre naše malé bambíno. Strašne rado si cvaká vypínačom na stene a sleduje, ako sa svetlo zapne alebo vypne.
Vytvoril som ďalšiu aplikáciu. V tejto je možné zobraziť si tabuľku všetkých registrov konkrétneho mikrokontroléra. V tabuľke možno hľadať podľa názvu registra a podľa názvu bitu.
Tento článok popisuje pripojenie OLED displeja ku Arduinu Uno. OLED displej má veľkosť 0.96 a rozhranie SPI.
Arduino Uno má 6 PWM kanálov na pinoch 3, 5, 6, 9, 10 a 11. V tomto článku si ukážeme, že to nemusí byť konečný počet. Hardverové PWM ale musíme nahradiť vlastným kódom.
V tomto článku vysvetlím princíp činnosti stmievača LED pásikov. Bude to prvý zo série článkov, na ktorých vám ukážem, ako postupne prebieha vývoj programov a ako diametrálne sa môže líšiť výsledný program. Postupne prejdeme zdrojové kódy programu od verzie 1.
V tomto článku nadviažeme na predchádzajúci článok, ktorý popisoval timer2. Pokúsime sa o rovnakú vizualizáciu činnosti registra TCNT0, ktorý sa nachádza v časovači 0. Timer0 v Arduine obsluhuje výpočet času a preto zásahy do neho ovplyvňujú aj funkcie millis a delay.
Pri testovaní mojej aplikácie na výpočet timerov v CTC režime som natrafil na zaujímavý článok, ktorý ma inšpiroval k tomuto pokusu. Jednoduchý spôsob, ako možno vizualizovať to, čo sa deje počas činnosti timera. Preto som len mierne preusporiadal zapojenie z predchádzajúceho experimentu a pustil sa do vlastnej vizualizácie.
V dnešnom článku sa zase pozrieme na časovač (timer) v CTC režime. Predvedieme si jednoduchú animáciu s ôsmimi LED diódami. Pretože všetku prácu s časovaním animácie nám vykoná timer, v kóde budeme musieť iba napísať vhodný kód pre samotnú animáciu.
V tomto článku nájdete popis algoritmu, ktorý vytvorí psychedelické prechody farieb pomocou RGB LED diód. Ako to vyzerá sa popisuje ťažšie, preto si pozrite video na konci článku, kde sa tieto farby plynule menia. Toto bol prvý experiment na danom poli a preto je výsledok trochu iný, ako som čakal.
Pred pár dňami som na moje stránky pridal sekciu Aplikácie. Vytváram tam malé aplikácie, ktoré sa môžu vo svete elektroniky hodiť. Všetky aplikáciu sú vytvárané pomocou Javascriptu.
Výpočet nastavenia časovača v režime CTC sme si ukázali v predchádzajúcom článku. Nie je zložitý, problémom je správne nastaviť všetky registre. Pre každý časovač v Arduine sa nastavenie líši.
Každé Arduino obsahuje niekoľko časovačov (timerov). Tie majú rôzne využitie. My sa v tomto článku zameriame na časovač, ktorý v pravidelných intervaloch vyvoláva prerušenie, ktoré nám umožní v prerušení vykonať požadovanú akciu.
Doplnil som novú sekciu s názvom Aplikácie. Ako prvú aplikáciu som naprogramoval výpočet veličín podľa Ohmovho zákona. Je to síce jednoduchý výpočet, ale práve preto mi dobre poslúžil, aby som sa mohol zdokonaliť v používaní webového frameworku AngularJS.