Budete potrebovať

  • doska Arduino UNO;
  • USB kábel (USB A - USB B);
  • Osobný počítač;
  • Dióda vyžarujúca svetlo;
  • pár spojovacích drôtov s dĺžkou 5-10 cm;
  • ak je k dispozícii - doska na chlieb.
Arduino IDE

Stiahnite si vývojové prostredie Arduino (Arduino IDE) z oficiálnej stránky pre váš operačný systém (podporované sú Windows, Mac OS X, Linux). Môžete si vybrať inštalačný program ( Inštalátor), môžete archivovať ( ZIP súbor pre inštaláciu bez správcu). V druhom prípade sa program jednoducho spustí z priečinka bez inštalácie. Stiahnutý súbor obsahuje okrem vývojového prostredia aj ovládače pre dosky z rodiny Arduino.

Stiahnite si Arduino IDE z oficiálnej stránky

2 Arduino pripojenie do počítača

Pripojte dosku Arduino pomocou USB kábla (typ USB-A na USB-B) k počítaču. Na doske by sa mala rozsvietiť zelená LED dióda ON.


Kábel "USB-A - USB-B" na pripojenie Arduina k počítaču

3 Inštalácia ovládača pre Arduino

Nainštalujte ovládač pre Arduino. Zvážte možnosť inštalácie v operačnom systéme Windows. Ak to chcete urobiť, počkajte, kým vás operačný systém nevyzve na inštaláciu ovládača. Odmietnuť. Stlačte klávesy Win + Pause, beh správca zariadení. Nájdite sekciu "Porty (COM a LPT)". Uvidíte tam port s názvom Arduino UNO (COMxx). Kliknite naň pravým tlačidlom a vyberte Aktualizujte ovládač. Povedzte operačnému systému umiestnenie ovládača. Nachádza sa v podadresári vodičov v priečinku, ktorý sme práve stiahli.

Všimnite si port, ku ktorému je pripojená doska Arduino. Ak chcete zistiť číslo portu, spustite Správcu zariadení a vyhľadajte časť „Porty (COM a LPT)“. Číslo portu bude uvedené v zátvorkách za názvom dosky. Ak doska nie je v zozname, skúste ju odpojiť od počítača, počkajte niekoľko sekúnd a potom ju znova pripojte.

Arduino v Správcovi zariadení Windows

4 nastavenie Arduino IDE

Nasmerujte svoje vývojové prostredie na vašu nástenku. Ak to chcete urobiť v ponuke Doska s nástrojmi vyberte Arduino UNO.


V nastaveniach vyberte dosku Arduino UNO

Zadajte číslo portu COM, ku ktorému je pripojená doska Arduino: Nástroje Port.


Nastavte sériový port, ku ktorému je pripojená doska Arduino

5 Otvorte príklad programy

Vývojové prostredie už obsahuje mnoho vzorových programov na štúdium fungovania dosky. Otvorte príklad „Blink“: Ukážky súboru 01. Základy Blikanie.Mimochodom, programy pre Arduino sa nazývajú „náčrty“.


Otvorte ukážkový náčrt pre Arduino

6 Zostava obvodov s LED

Odpojte Arduino od počítača. Zostavte obvod, ako je znázornené na obrázku. Upozorňujeme, že krátka noha LED musí byť pripojená ku kolíku GND, dlhá noha k digitálnemu kolíku „13“ dosky Arduino. Je vhodné použiť dosku na krájanie, ale ak ju nemáte, pripojte drôty skrútením.

Digitálny pin "13" má na doske zabudovaný odpor. Preto pri pripájaní LED diódy k doske nie je potrebné použiť externý prúd obmedzujúci odpor. Pri pripájaní LED na akékoľvek iné Arduino piny je nutné použiť rezistor, inak spálite LED a v najhoršom prípade aj Arduino port, ku ktorému je LED pripojená!


Schéma pripojenia LED k Arduinu v pamäti Arduino

Teraz môžete nahrať program do pamäte dosky. Pripojte dosku k počítaču, počkajte niekoľko sekúnd, kým sa doska inicializuje. Kliknite na tlačidlo Stiahnuť ▼ a vaša skica sa zapíše do pamäte dosky Arduino. LED by na vás mala začať veselo blikať každé 2 sekundy (1 sekunda svieti, 1 sekunda nesvieti). Nižšie je uvedený kód pre náš prvý program Arduino.

void setup() (// inicializačný blok pinMode(13, OUTPUT); // nastavíme pin 13 ako výstup. } void loop() (// slučka, ktorá sa donekonečna opakuje, kým je doska zapnutá: digitalWrite(13, HIGH); // aplikuje vysokú úroveň na pin 13 - rozsvieti LED delay(1000); // pre 1000 ms = 1 sek. digitalWrite(13, LOW); // aplikuje nízku úroveň na pin 13 - vypne oneskorenie LED (1000); // na 1 sek. } // potom sa cyklus opakuje

Prečítajte si komentáre v texte programu - stačia na pochopenie nášho prvého experimentu. Najprv popíšeme inicializačný blok nastaviť(), v ktorom nastavujeme počiatočné hodnoty premenných a funkcie pinov Arduino. Nasleduje nekonečná slučka slučka(), ktorý sa opakuje stále dookola, pokiaľ je doska dodávaná energia. V tomto cykle vykonávame všetky potrebné akcie. V tomto prípade zapíname a vypíname LED. Operátor meškanie () určuje trvanie vykonania (v milisekundách) predchádzajúceho príkazu. Operátor digitalWrite() povie Arduinu, na ktorý kolík má priviesť napätie a presne na akú úroveň napätia. Vaša prvá skica je pripravená!

V sieti je veľa stránok venovaných práci s doskami rodiny Arduino. Čítajte, ovládajte, nebojte sa experimentovať a učiť sa nové veci! Je to zábavná a obohacujúca aktivita, ktorá vám prinesie veľa potešenia.

Poznámka

Buďte opatrní pri práci s doskou Arduino - ide o elektronický produkt, ktorý vyžaduje starostlivé zaobchádzanie. Na spodnej strane dosky sú odkryté vodiče a ak dosku položíte na vodivý povrch, existuje možnosť popálenia dosky. Taktiež sa dosky nedotýkajte vlhkými alebo mokrými rukami a pri práci sa vyhýbajte vlhkým miestam.

28 09.2016

Rozmýšľali ste niekedy nad tým, ako si uľahčiť život doma? Mať veci, ktoré by za vás vyriešili každodenné, rutinné úlohy. Inteligentné zariadenie, ktoré by plnilo užitočnú funkciu, napríklad polievalo záhradu, upratalo miestnosť alebo prevážalo náklad. Tieto problémy sa dajú vyriešiť. Iba jeho nákup však nebude stačiť. Akýkoľvek priemyselný logický ovládač alebo čip potrebuje „mozog“ na vykonanie určitej postupnosti akcií. Na vykonávanie operácií je v našom prípade vhodný programovací jazyk Arduino.

Z tohto článku sa dozviete:

Zdravím vás priatelia! Pre tých, ktorí ma nepoznajú, volám sa Gridin Semyon. Môžete si o mne prečítať. Dnešný článok bude venovaný dvom hlavným programom, bez ktorých nebudeme mať ďalší pohyb a vzájomné porozumenie.

Všeobecný popis programovacích jazykov

Ako som napísal vyššie, zvážime dve populárne vývojové prostredia. Analogicky s, možno rozdeliť na grafický editor a „inteligentný poznámkový blok“. Ide o programy Arduino IDE a FLprog.

Základom vývojového prostredia je Processing/Wiring - ide o bežné C++, doplnené o funkcie a rôzne knižnice. Existuje niekoľko verzií pre operačné systémy Windows, Mac OS a Linux.

Aký je ich zásadný rozdiel?? Arduino IDE je vývojové prostredie, ktoré popisuje programový kód. A FLprog je podobný CFC CoDeSyS, ktorý vám umožňuje kresliť diagramy. Ktoré prostredie je lepšie? Obidve sú dobré a pohodlné svojím vlastným spôsobom, ale ak to chcete s ovládačmi myslieť vážne, najlepšie je naučiť sa jazyky podobné SI. Ich hlavnou výhodou je flexibilita a neobmedzený charakter algoritmu. Veľmi sa mi páči Arduino IDE.

Popis Arduino IDE

Distribúciu je možné stiahnuť z oficiálna web stránka. Stiahnite si archív, zaberá o niečo viac ako 100 MB. Inštalácia je štandardná, ako všetky aplikácie pre Windows. V balení musia byť nainštalované ovládače pre všetky typy dosiek. A takto vyzerá pracovné okno programu.

Vývojové prostredie Arduino pozostáva z:

  • editor programového kódu;
  • oblasti správ;
  • textové výstupné okná;
  • panely nástrojov s tlačidlami pre často používané príkazy;
  • niekoľko menu

Nastavenia Arduino IDE

Program napísaný vo vývojovom prostredí Arduino je tzvskica. Náčrt sa píše v textovom editore, ktorý má farebné zvýraznenie vytvoreného programového kódu. Príklad jednoduchého programu na obrázku nižšie.

Ďalšie funkcie je možné pridať pomocouknižnice,reprezentujúci kód navrhnutý špeciálnym spôsobom. V zásade nie je prístupný vývojárovi. Prostredie je väčšinou dodávané so štandardnou zostavou, ktorú je možné postupne dopĺňať. Sú v podadresáriknižnice Arduino adresár.

Mnohé knižnice sa dodávajú s príkladmi umiestnenými v priečinkupríklad.Výberom knižnice v ponuke sa do zdrojového kódu pridá nasledujúci riadok:

Arduino

#include

#include

Toto je direktíva - druh inštrukcie, hlavičkový súbor popisujúci objekty, funkcie a konštanty knižnice. Pre väčšinu bežných úloh už bolo vyvinutých veľa funkcií. Verte mi, že to uľahčuje život programátora.

Po pripojení elektronickej dosky k počítaču. Urobíme nasledovné nastavenia – vyberieme dosku Arduino a port Com, cez ktorý sa budeme pripájať.

Arduino

void setup() ( // inicializácia digitálneho pinu 13 ako výstupu. pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000 );

void setup() (

// inicializuje digitálny pin 13 ako výstup.

pinMode(13, OUTPUT);

void loop() (

digitalWrite(13, VYSOKÉ);

oneskorenie(1000);

digitalWrite(13, LOW);

oneskorenie(1000);

Takže, mimochodom, je vhodné skontrolovať funkčnosť dosky, ktorá prišla z obchodu. Rýchle a jednoduché.

Je tu ešte jedna pohodlná vec. Volá saMonitor sériového portu (Sériový monitor). Zobrazuje údaje odoslané na platformuArduino.Väčšinou sa pozerám, aké signály mi dávajú rôzne senzory pripojené k doske.

Prepojenie knižníc

Existujú rôzne spôsoby pridania vlastných funkcií. Knižnice môžete pripojiť tromi spôsobmi:

  1. Používanie správcu knižnice
  2. Použitie importu ako súboru .zip
  3. Manuálna inštalácia.

1. Používanie správcu knižnice.V pracovnom okne programu vyberte kartu Náčrt. Potom kliknite na tlačidlo Pripojiť knižnicu. Pred nami otvorí vedúci knižnice. V okne sa zobrazia už nainštalované súbory s podpisomnainštalovanýa tie, ktoré sa dajú nainštalovať.

2. Použitie importu ako súboru .zip.Na internete často nájdete súbory knižnice zabalené do archívov s príponou zip. Obsahuje hlavičku file.h a kód file.cpp. Počas inštalácie nie je potrebné rozbaľovať archív. Stačí prejsť do ponuky Náčrt - Pripojiť knižnicu - Pridať knižnicu .ZIP

3.Manuálna inštalácia.Najprv zatvorte program Arduino IDE. Najprv rozbalíme náš archív. A súbory s príponou .h a .cpp prenesieme do priečinka s rovnakým názvom ako archív. Umiestnite priečinok do koreňového adresára.

Moje dokumenty\Arduino\knižnice

Popis FLPprog

FLprog je bezplatný projekt od nezávislých vývojárov, ktorý vám umožňuje pracovať s funkčnými blokmi alebo rebríkovými diagramami. Toto prostredie je vhodné pre ľudí – nie pre programátorov. Umožňuje vám vizuálne a jasne vidieť algoritmus pomocou diagramov a funkčných blokov. Distribúciu si môžete stiahnuť na oficiálna web stránka.

Projekt sledujem už dosť dlho. Chlapci sa vyvíjajú, neustále pridávajú nové funkcie a menia staré. V tomto prostredí vidím prísľub. Pretože plní dve dôležité funkcie:jednoduchosť a jednoduchosť použitia.

Skúsme vytvoriť jednoduchý projekt. Výstup 13 prepneme na LED.

Poďme vytvoriť nový projekt. V hornom okne pridajte požadovaný počet vstupov a výstupov, nastavte názov a priraďte doske fyzický vstup alebo výstup.

Vytiahneme prvky, ktoré potrebujeme zo stromu objektov a prvky, ktoré potrebujeme na editačnú plochu. V našom prípade môžeme na zapnutie a vypnutie použiť jednoduchú spúšť RS.

Po vytvorení algoritmu kliknite na tlačidlo kompilácie, program poskytne hotový náčrt v IDE.

Pozreli sme sa na možnosti a pohodlie programov na vývoj algoritmov na ovládači série Arduino. Existujú aj programy, ktoré vám umožňujú vytvárať štrukturálne diagramy a vizuálne obrázky. Odporúčam však použiť textový editor, pretože neskôr to bude pre vás jednoduchšie. Povedz mi, ktoré prostredie je pre teba najpohodlnejšie a prečo??

22. septembra som sa zúčastnil seminára v Krasnodare "Ovládače s dotykovým panelom OVEN SPK." Konferencia sa konala v modernom a krásnom hoteli Bristol. Bolo to veľmi zaujímavé a cool.

V prvej časti seminára sme boli informovaní o možnostiach a výhodách produktov OWEN. Potom bola prestávka na kávu so šiškami. Nazbierala som kopu vecí, šišky, sušienky a cukríky, pretože som bola veľmi hladná =)

V druhej časti seminára po obede sme boli prezentovaní. Povedali nám veľa o vizualizácii webu. Tento trend začína naberať na obrátkach. No, samozrejme, ovládanie zariadenia cez akýkoľvek internetový prehliadač. Toto je naozaj skvelé. Mimochodom, samotné vybavenie je v kufri.

V blízkej budúcnosti zverejním sériu článkov o CoDeSyS 3.5. Takže ak by mal niekto záujem, prihláste sa na odber alebo príďte. Vždy budem rád!!!

Mimochodom, skoro by som zabudol, ďalší článok bude o elektronickej doske Arduino. Bude to zaujímavé, nenechajte si to ujsť.

Uvidíme sa v ďalších článkoch.

S pozdravom Gridin Semyon.

Úvod

Freeduino/Arduino je naprogramované v špeciálnom programovacom jazyku – vychádza z C/C++, a umožňuje vám využívať ktorúkoľvek z jeho funkcií. Presne povedané, neexistuje žiadny samostatný jazyk Arduino, rovnako ako neexistuje žiadny kompilátor Arduino - napísané programy sú konvertované (s minimálnymi zmenami) do programu v C/C++ a potom kompilované kompilátorom AVR-GCC. Takže v skutočnosti sa používa variant C/C++ špecializovaný na mikrokontroléry AVR.

Rozdiel je v tom, že získate jednoduché vývojové prostredie a sadu základných knižníc, ktoré zjednodušujú prístup k periférnym zariadeniam umiestneným „na palube“ mikrokontroléra.

Súhlasíte, je veľmi výhodné začať pracovať so sériovým portom rýchlosťou 9600 bitov za sekundu a volať v jednom riadku:

Serial.begin(9600);

A pri použití „holého“ C/C++ by ste sa museli zaoberať dokumentáciou k mikrokontroléru a nazvať niečo takéto:

UBRR0H = ((F_CPU/16 + 9600/2)/9600-1) >> 8;
UBRR0L = ((F_CPU / 16 + 9600 / 2) / 9600 - 1);
sbi(UCSR0B, RXEN0);
sbi(UCSR0B, TXEN0);
sbi(UCSR0B, RXCIE0);

Tu je stručný prehľad hlavných funkcií a vlastností programovania Arduino. Ak nie ste oboznámení so syntaxou jazykov C/C++, odporúčame vám pozrieť si akúkoľvek literatúru o tejto problematike alebo internetové zdroje.

Na druhej strane, všetky uvedené príklady sú veľmi jednoduché a pravdepodobne nebudete mať problémy s pochopením zdrojových textov a písaním vlastných programov aj bez čítania ďalšej literatúry.

Kompletnejšia dokumentácia (v angličtine) je prezentovaná na oficiálnej stránke projektu – http://www.arduino.cc. Nechýba ani fórum, odkazy na ďalšie knižnice a ich popisy.

Analogicky s popisom na oficiálnej webovej stránke projektu Arduino sa „port“ vzťahuje na kontakt mikrokontroléra pripojený ku konektoru pod príslušným číslom. Okrem toho je tu sériový komunikačný port (COM port).

Štruktúra programu

Vo svojom programe musíte deklarovať dve hlavné funkcie: setup() a loop().

Funkcia setup() sa volá raz, po každom zapnutí alebo resete dosky Freeduino. Používa sa na inicializáciu premenných, nastavenie prevádzkových režimov digitálnych portov atď.

Funkcia loop() sekvenčne znova a znova vykonáva príkazy opísané v jej tele. Tie. Po dokončení funkcie sa znova zavolá.

Pozrime sa na jednoduchý príklad:

void setup() // úvodné nastavenia
{
beginSerial(9600); // nastavenie rýchlosti sériového portu na 9600 bps
pinMode(3, INPUT); // nastavenie 3. portu pre vstup dát
}

// Program skontroluje 3. port, či na ňom nie je signál a odošle odpoveď na
// ako textovú správu na sériový port počítača
void loop() // telo programu
{
if (digitalRead(3) == HIGH) // podmienka pre dotazovanie 3. portu
serialWrite("H"); // odošle správu v tvare písmena "H" na COM port
inak
serialWrite("L"); // odošle správu v tvare písmena "L" na COM port
oneskorenie(1000); // oneskorenie 1 sek.
}

pinMode(port, režim);

Popis:

Konfiguruje určený port na vstup alebo výstup signálu.

Možnosti:

port – číslo portu, ktorého režim chcete nastaviť (celé číslo od 0 do 13).

režim - buď INPUT (vstup) alebo OUTPUT (výstup).

pinMode(13, OUTPUT); //Výstupom bude 13. pin
pinMode(12, INPUT); //a 12. je vstup

Poznámka:

Analógové vstupy môžu byť použité ako digitálne vstupy/výstupy pomocou čísel 14 (analógový vstup 0) až 19 (analógový vstup 5)

digitalWrite(port, hodnota);

Popis:

Nastaví úroveň napätia na určenom porte na vysokú (HIGH) alebo nízku (LOW).

Možnosti:

port: číslo portu

hodnota: HIGH alebo LOW

digitalWrite(13, VYSOKÉ); // nastavte pin 13 do stavu „high“.

hodnota = digitalRead(port);

Popis:

Prečíta hodnotu na zadanom porte

Možnosti:

port: číslo portu na vyžiadanie

Návratová hodnota: vracia aktuálnu hodnotu na porte (HIGH alebo LOW) typu int

int val;
val = digitalRead(12); // prieskum 12. pinu

Poznámka:

Ak k čítanému portu nie je nič pripojené, funkcia digitalRead() môže chybne vrátiť hodnoty HIGH alebo LOW.

Vstup/výstup analógového signálu

hodnota = analogRead(port);

Popis:

Číta hodnotu zo zadaného analógového portu. Freeduino obsahuje 6 kanálov, analógovo-digitálny prevodník, každý s 10 bitmi. To znamená, že vstupné napätie od 0 do 5V sa prevedie na celočíselné hodnoty od 0 do 1023. Rozlíšenie odčítania je: hodnoty 5V/1024 = 0,004883 V/hodnota (4,883 mV). Načítanie hodnoty analógového vstupu trvá približne 100 nS (0,0001 C), takže maximálna rýchlosť čítania je približne 10 000-krát za sekundu.

Možnosti:

Návratová hodnota: Vráti int číslo v rozsahu 0 až 1023 načítané zo zadaného portu.

int val;
val = analogRead(0); // načítanie hodnoty na 0. analógovom vstupe

Poznámka:

Analógové porty sú štandardne definované ako vstup signálu a na rozdiel od digitálnych portov ich nie je potrebné konfigurovať volaním funkcie pinMode.

analogWrite(port, hodnota);

Popis:

Výstup analógovej hodnoty na port. Táto funkcia funguje na: 3, 5, 6, 9, 10 a 11 digitálnych portoch Freeduino.

Môže sa použiť na zmenu jasu LED, ovládanie motora atď. Po zavolaní funkcie analogWrite začne príslušný port pracovať v režime modulácie šírky impulzov napätia, kým nedôjde k ďalšiemu volaniu funkcie analogWrite (alebo funkcie digitalRead / digitalWrite na rovnakom porte).

Možnosti:

port: číslo analógového vstupu, ktorý sa požaduje

hodnota: celé číslo medzi 0 a 255. Hodnota 0 generuje 0 V na špecifikovanom porte; hodnota 255 generuje +5V na špecifikovanom porte. Pre hodnoty medzi 0 a 255 sa port začne rýchlo striedať medzi 0 a +5 V napäťovými úrovňami – čím vyššia je hodnota, tým častejšie port generuje HIGH (5 V) úroveň.

analogWrite(9, 128); // nastavenie pinu 9 na hodnotu ekvivalentnú 2,5V;

Poznámka:

Pred volaním analogWrite nie je potrebné volať pinMode na nastavenie portu na výstupné signály.

Frekvencia generovania signálu je približne 490 Hz.

čas = milis();

Popis:

Vráti počet milisekúnd, odkedy Freeduino spustilo aktuálny program. Počítadlo pretečie a vynuluje sa približne po 9 hodinách.

Návratová hodnota: vráti dlhú hodnotu bez znamienka

dlhý čas nepodpísaný; // deklarácia časovej premennej typu unsigned long
čas = milis(); // prenos počtu milisekúnd

delay(time_ms);

Popis:

Pozastaví program na určený počet milisekúnd.

Možnosti:

time_ms – čas oneskorenia programu v milisekundách

oneskorenie(1000); //pauza 1 sekunda

oneskorenieMikrosekundy

delayMicroseconds(time_μs);

Popis:

Pozastaví program na zadaný počet mikrosekúnd.

Možnosti:

time_μs – čas oneskorenia programu v mikrosekundách

delayMicroseconds(500); //pauza 500 mikrosekúnd

pulseIn(port, hodnota);

Popis:

Číta impulz (vysoký alebo nízky) z digitálneho portu a vracia trvanie impulzu v mikrosekundách.

Napríklad, ak je parameter "value" nastavený na HIGH pri volaní funkcie, potom pulseIn() čaká, kým na port dorazí vysoká úroveň signálu. Od momentu jeho príchodu sa začne odpočítavanie, kým sa na porte neprijme nízka úroveň signálu. Funkcia vráti dĺžku impulzu (vysokú úroveň) v mikrosekundách. Pracuje s impulzmi od 10 mikrosekúnd do 3 minút. Upozorňujeme, že táto funkcia nevráti výsledok, kým sa nezistí pulz.

Možnosti:

port: číslo portu, z ktorého čítame pulz

hodnota: typ impulzu HIGH alebo LOW

Návratová hodnota: vráti trvanie impulzu v mikrosekundách (napíšte int)

trvanie int; // deklarácia premennej trvania typu int
trvanie = pulseIn(pin, HIGH); // meranie trvania impulzu

Sériový prenos dát

Freeduino má zabudovaný radič pre sériový prenos dát, ktorý je možné použiť ako na komunikáciu medzi zariadeniami Freeduino/Arduino, tak aj na komunikáciu s počítačom. Na počítači je príslušné pripojenie reprezentované portom USB COM.

Komunikácia prebieha cez digitálne porty 0 a 1, a preto ich nebudete môcť použiť na digitálne I/O, ak používate sériové funkcie.

Serial.begin(prenosová_rýchlosť);

Popis:

Nastavuje rýchlosť prenosu informácií o porte COM v bitoch za sekundu pre sériový prenos údajov. Na komunikáciu s počítačom použite jednu z týchto štandardizovaných rýchlostí: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 alebo 115200. Pri inom komunikátore môžete definovať aj iné rýchlosti. porty 0 a 1.

Možnosti:

baud_rate: Rýchlosť toku dát v bitoch za sekundu.

Serial.begin(9600); //nastavíme rýchlosť na 9600 bps

Sériové.dostupné

počet = Serial.available();

Popis:

Bajty prijaté cez sériový port končia vo vyrovnávacej pamäti mikrokontroléra, odkiaľ ich môže váš program čítať. Funkcia vráti počet bajtov nahromadených vo vyrovnávacej pamäti. Sériová vyrovnávacia pamäť môže uložiť až 128 bajtov.

Návratová hodnota:

Vráti hodnotu int – počet bajtov dostupných na čítanie v sériovej vyrovnávacej pamäti alebo 0, ak nie je nič dostupné.

if (Serial.available() > 0) ( // Ak sú vo vyrovnávacej pamäti údaje
// tu by mal byť príjem a spracovanie údajov
}

char = Serial.read();

Popis:

Prečíta ďalší bajt z vyrovnávacej pamäte sériového portu.

Návratová hodnota:

Prvý dostupný bajt prichádzajúcich údajov zo sériového portu alebo -1, ak neexistujú žiadne prichádzajúce údaje.

incomingByte = Serial.read(); // prečítaný bajt

Popis:

Vymaže vstupnú vyrovnávaciu pamäť sériového portu. Údaje vo vyrovnávacej pamäti sa stratia a ďalšie volania funkcie Serial.read() alebo Serial.available() budú mať zmysel pre údaje prijaté po volaní Serial.flush().

Serial.flush(); // Vyčistite vyrovnávaciu pamäť - začnite prijímať údaje „od začiatku“

Popis:

Výstup dát na sériový port.

Možnosti:

Funkcia má niekoľko volacích formulárov v závislosti od typu a formátu výstupných údajov.

Serial.print(b, DEC) vypíše reťazec ASCII – desiatkové vyjadrenie čísla b.

int b = 79;

Serial.print(b, HEX) vypíše reťazec ASCII – hexadecimálnu reprezentáciu čísla b.

int b = 79;

Serial.print(b, OCT) vypíše reťazec ASCII – osmičkovú reprezentáciu čísla b.

int b = 79;
Serial.print(b, OCT); //vypíše na port reťazec „117“.

Serial.print(b, BIN) vypíše reťazec ASCII - binárnu reprezentáciu čísla b.

int b = 79;
Serial.print(b, BIN); //vypíše na port reťazec „1001111“.

Serial.print(b, BYTE) vytlačí dolný bajt b.

int b = 79;
Serial.print(b, BYTE); //zobrazí číslo 79 (jeden bajt). V monitore
//zo sériového portu dostaneme symbol “O” - jeho
//kód je 79

Serial.print(str) ak str je reťazec alebo pole znakov, prenesie str do bajtu COM portu.

char bajty = (79, 80, 81); //pole 3 bajtov s hodnotami 79,80,81
Serial.print("Tu sú naše bajty:"); //vypíše riadok „Tu sú naše bajty:“
Serial.print(bytes); //vypíše 3 znaky s kódmi 79,80,81 –
//toto sú znaky "OPQ"

Serial.print(b) ak b je typu byte alebo char, vypíše samotné číslo b na port.

char b = 79;
Serial.print(b); //vypíše na port znak „O“.

Serial.print(b) ak b je typu celé číslo, vypíše na port desiatkovú reprezentáciu b.

int b = 79;
Serial.print(b); //vypíše na port reťazec „79“.

Popis:

Funkcia Serial.println je podobná funkcii Serial.print a má rovnaké možnosti volania. Jediný rozdiel je v tom, že po údajoch sa vypisujú dva ďalšie znaky – znak návratu vozíka (ASCII 13 alebo "\r") a znak nového riadku (ASCII 10 alebo "\n").

Príklad 1 a príklad 2 vydajú na port to isté:

int b = 79;
Serial.print(b, DEC); //vypíše na port reťazec „79“.
Serial.print("\r\n"); //zobrazí znaky "\r\n" – posun riadkov
Serial.print(b, HEX); //vypíše na port reťazec „4F“.
Serial.print("\r\n");//vytlačí znaky "\r\n" – posun o riadok

int b = 79;
Serial.println(b, DEC); //vypíše na port reťazec „79\r\n“.
Serial.println(b, HEX); //vypíše na port reťazec „4F\r\n“.

V monitore sériového portu dostaneme.

Z čoho pozostáva program?

Na začiatok stojí za to pochopiť, že program nemožno čítať a písať ako knihu: od obálky po obálku, zhora nadol, riadok po riadku. Každý program pozostáva zo samostatných blokov. Začiatok bloku kódu v C/C++ je označený ľavou zloženou zátvorkou ( , jeho koniec pravou zloženou zátvorkou ) .

Existujú rôzne typy blokov a v závislosti od vonkajších podmienok, ktorý z nich sa vykoná. V minimálnom príklade programu môžete vidieť 2 bloky. V tomto príklade sa volajú bloky definovanie funkcie. Funkcia je jednoducho blok kódu s daným názvom, ktorý môže niekto použiť zvonku.

V tomto prípade máme 2 funkcie s názvom setup a loop. Ich prítomnosť je povinná v akomkoľvek programe C++ pre Arduino. Nesmú robiť nič, ako v našom prípade, ale musia byť napísané. V opačnom prípade sa vo fáze kompilácie zobrazí chyba.

Klasika žánru: blikajúca LED

Poďme teraz doplniť náš program, aby sa aspoň niečo dialo. Na Arduine je LED pripojená na kolík 13. Dá sa to ovládať, čo urobíme.

void setup() ( pinMode(13, OUTPUT) ; ) void loop() ( digitalWrite(13, HIGH) ; delay(100) ; digitalWrite(13, LOW) ; delay(900) ; )

Zostavte a stiahnite si program. Uvidíte, že LED na doske každú sekundu bliká. Poďme zistiť, prečo tento kód vedie k blikaniu každú sekundu.

Každý výraz je príkazom pre procesor, aby niečo urobil. Výrazy v rámci jedného bloku sa vykonávajú jeden po druhom, presne v poradí, bez akýchkoľvek prestávok alebo prepínania. To znamená, že ak hovoríme o jednom konkrétnom bloku kódu, možno ho prečítať zhora nadol, aby sme pochopili, čo sa robí.

Teraz poďme pochopiť, v akom poradí sa vykonávajú samotné bloky, t.j. funkcie nastavenia a slučky. Nerobte si starosti s tým, čo konkrétne výrazy znamenajú, len dodržujte poradie.

    Hneď ako sa Arduino zapne, zabliká alebo stlačí tlačidlo RESET, „niečo“ volá funkciu nastaviť. To znamená, že vynúti vykonanie výrazov v ňom.

    Hneď ako sa nastavenie dokončí, „niečo“ okamžite zavolá funkciu slučky.

    Akonáhle sa slučka dokončí, „niečo“ okamžite znova zavolá funkciu slučky a tak ďalej do nekonečna.

Ak očíslujeme výrazy v poradí, ako sa vykonávajú, dostaneme:

void setup() ( pinMode(13 , OUTPUT) ; ❶ ) void loop() ( digitalWrite(13 , HIGH) ; ❷ ❻ ❿ delay(100 ) ; ❸ ❼ … digitalWrite(13, LOW) ; ❽ (0) 0 delay ❺ ❾ ;

Pripomeňme ešte raz, že by ste sa nemali snažiť vnímať celý program čítaním zhora nadol. Zhora nadol sa číta iba obsah blokov. Vo všeobecnosti môžeme zmeniť poradie deklarácií nastavenia a slučky.

void loop() ( digitalWrite(13 , HIGH) ; ❷ ❻ ❿ delay(100 ) ; ❸ ❼ … digitalWrite(13 , LOW) ; ❹ ❽ delay(900 ) ; ❺ ❾ ❾ ( UT ) nastavenie režimu void (P3) ); ❶)

Výsledok sa nezmení ani o kúsok: po kompilácii dostanete absolútne ekvivalentný binárny súbor.

Čo robia výrazy

Teraz sa pokúsme pochopiť, prečo napísaný program nakoniec spôsobí blikanie LED.

Ako viete, kolíky Arduino môžu fungovať ako výstupy aj vstupy. Keď chceme niečo ovládať, teda vydať signál, musíme prepnúť ovládací pin do výstupného stavu. V našom príklade ovládame LED na 13. kolíku, takže z 13. kolíka treba pred použitím urobiť výstup.

To sa vykonáva výrazom vo funkcii nastavenia:

PinMode(13 , OUTPUT) ;

Výrazy môžu byť rôzne: aritmetika, deklarácie, definície, podmienky atď. V tomto prípade implementujeme do výrazu volanie funkcie. Pamätáte si? Máme ich funkcie setup a loop, ktoré sa volajú niečím, čo sme nazvali „niečo“. Tak teraz my voláme funkcie, ktoré sú už niekde napísané.

Konkrétne v našom nastavení voláme funkciu s názvom pinMode. Nastaví pin určený číslom na určený režim: vstup alebo výstup. Hneď za názvom funkcie uvádzame v zátvorke, o ktorý pin a o akom režime hovoríme, oddelené čiarkami. V našom prípade chceme, aby 13. kolík fungoval ako výstup. OUTPUT znamená výstup, INPUT znamená vstup.

Vyvolajú sa kvalifikačné hodnoty ako 13 a OUTPUT argumenty funkcie. Vôbec nie je potrebné, aby všetky funkcie mali 2 argumenty. Koľko argumentov má funkcia závisí od podstaty funkcie a od toho, ako ju autor napísal. Môžu existovať funkcie s jedným argumentom, tromi, dvadsiatimi; funkcie nemôžu mať žiadne argumenty. Ak ich chcete zavolať, zátvorka sa otvorí a okamžite zatvorí:

NoInterrupts() ;

V skutočnosti ste si mohli všimnúť, že ani naše funkcie nastavenia a slučky neberú žiadne argumenty. A tajomné „niečo“ ich v správnom momente vyvoláva rovnakým spôsobom s prázdnymi zátvorkami.

Vráťme sa k nášmu kódu. Keďže teda plánujeme blikať LED navždy, z ovládacieho kolíka treba urobiť výstup raz a potom si to už nechceme pamätať. Na to je funkcia setup ideologicky určená: nastavenie dosky podľa potreby a následná práca s ňou.

Prejdime k funkcii slučky:

void loop() ( digitalWrite(13, HIGH) ; delay(100) ; digitalWrite(13, LOW) ; delay(900) ; )

Ako už bolo spomenuté, volá sa ihneď po nastavení. A volá sa znova a znova, len čo skončí. Funkcia slučky sa nazýva hlavná slučka programu a je ideologicky navrhnutá tak, aby vykonávala užitočnú prácu. V našom prípade je užitočnou prácou blikanie LED.

Prejdime si výrazy v poradí. Prvým výrazom je teda volanie vstavanej funkcie digitalWrite. Je navrhnutý tak, aby na daný pin aplikoval logickú nulu (LOW, 0 voltov) alebo logickú jednotku (HIGH, 5 voltov) Funkcii digitalWrite sa odovzdajú dva argumenty: číslo pinu a logická hodnota. V dôsledku toho prvá vec, ktorú urobíme, je rozsvietiť LED na 13. kolíku a priviesť naň 5 voltov.

Hneď ako sa to urobí, procesor okamžite prejde na ďalší výraz. Pre nás je to volanie funkcie oneskorenia. Funkcia oneskorenia je opäť vstavaná funkcia, ktorá uspí procesor na určitý čas. Chce to len jeden argument: čas spánku v milisekundách. V našom prípade je to 100 ms.

Kým spíme, všetko ostáva tak, ako je, t.j. LED zostane svietiť. Akonáhle uplynie 100 ms, procesor sa prebudí a okamžite prejde na ďalší výraz. V našom príklade je to opäť volanie známej vstavanej funkcie digitalWrite. Pravda, tentoraz odovzdáme hodnotu LOW ako druhý argument. To znamená, že na 13. kolíku nastavíme logickú nulu, to znamená, že napájame 0 voltov, to znamená, že vypneme LED.

Po zhasnutí LED prejdeme k ďalšiemu výrazu. Toto je opäť volanie funkcie oneskorenia. Tentokrát zaspíme na 900 ms.

Po skončení spánku sa funkcia slučky ukončí. Po dokončení to „niečo“ okamžite znova zavolá a všetko sa stane znova: LED sa rozsvieti, rozsvieti sa, zhasne, čaká atď.

Ak preložíte to, čo je napísané do ruštiny, získate nasledujúci algoritmus:

    Rozsvietenie LED

    Spánok na 100 milisekúnd

    Vypnutie LED

    Spíme 900 milisekúnd

    Poďme k bodu 1

Takto sme dostali Arduino s blikajúcim majákom každých 100 + 900 ms = 1000 ms = 1 sekunda.

Čo sa dá zmeniť

Využime len poznatky, ktoré sme nadobudli na vytvorenie niekoľkých variácií programu, aby sme lepšie pochopili princíp.

Externú LED alebo iné zariadenie, ktoré potrebuje „blikať“, môžete pripojiť k inému kolíku. Napríklad dňa 5. Ako by sa mal v tomto prípade zmeniť program? Musíme nahradiť číslo piatym, kdekoľvek sme pristúpili k 13. kolíku:

Kompilovať, stiahnuť, otestovať.

Čo je potrebné urobiť, aby LED blikala 2-krát za sekundu? Skráťte čas spánku tak, aby bol celkový čas 500 ms:

void setup() ( pinMode(5, OUTPUT) ; ) void loop() ( digitalWrite(5, HIGH) ; delay(50) ; digitalWrite(5, LOW) ; delay(450) ; )

Ako môžem prinútiť, aby LED dvakrát zablikala vždy, keď blikne? Musíte ho zapáliť dvakrát s krátkou pauzou medzi zapnutím:

void setup() ( pinMode(5, OUTPUT) ; ) void loop() ( digitalWrite(5, HIGH) ; delay(50) ; digitalWrite(5, LOW) ; delay(50 ) ; digitalWrite(5, HIGH) ; oneskorenie (50) ; digitalWrite(5, NÍZKA) ;

Ako dosiahnem, aby zariadenie malo 2 LED diódy, ktoré blikajú striedavo každú sekundu? Musíte komunikovať s dvoma kolíkmi a pracovať v slučke s jedným alebo druhým:

void setup() ( pinMode(5 , OUTPUT) ; pinMode(6 , OUTPUT) ; ) void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ); digitalWrite (6 , HIGH) ;

Ako zabezpečiť, aby zariadenie malo 2 LED diódy, ktoré sa prepínajú ako na železničnom semafore: najprv sa rozsvieti jedna a potom druhá? Musíte len nevypínať svietiacu LED hneď, ale počkať do okamihu prepnutia:

void setup() ( pinMode(5, OUTPUT) ; pinMode(6, OUTPUT) ; ) void loop() ( digitalWrite(5, HIGH) ; digitalWrite(6, LOW) ; delay(1000 ); digitalWrite(5, LOW) ; digitalWrite(6 , HIGH) ;

Neváhajte a pozrite sa na ďalšie nápady sami. Ako vidíte, všetko je jednoduché!

O prázdnom priestore a krásnom kóde

V C++ na medzerách, zlomoch riadkov a znakoch tabulátora pre kompilátor príliš nezáleží. Tam, kde je medzera, môže byť zalomenie riadku a naopak. V skutočnosti 10 medzier za sebou, 2 zalomenia riadkov a 5 ďalších medzier sú ekvivalentom jednej medzery.

Prázdne miesto je nástroj programátora, pomocou ktorého môžete urobiť program zrozumiteľným a vizuálnym, alebo ho zdeformovať na nepoznanie. Zapamätajte si napríklad program na blikanie LED:

void setup() ( pinMode(5, OUTPUT) ; ) void loop() ( digitalWrite(5, HIGH) ; delay(100) ; digitalWrite(5, LOW) ; delay(900) ; )

Môžeme to zmeniť takto:

void setup( ) ( pinMode(5 , OUTPUT) ; ) void loop () ( digitalWrite(5 ,HIGH) ; delay(100 ) ; digitalWrite(5 ,LOW) ; delay(900) ; )

Jediné, čo sme urobili, bolo trochu pracovať s prázdnym priestorom. Teraz môžete jasne vidieť rozdiel medzi harmonickým kódom a nečitateľným kódom.

Aby ste sa riadili nevysloveným zákonom programového dizajnu, ktorý je rešpektovaný na fórach, keď ho čítajú iní ľudia a vy ho ľahko vnímate, dodržujte niekoľko jednoduchých pravidiel:

1. Pri zakladaní nového bloku vždy zväčšite odsadenie medzi ( a ). Zvyčajne sa používajú 2 alebo 4 medzery. Vyberte si jednu z hodnôt a držte sa jej.

Zle:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900) ; )

Dobre:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900) ; )

2. Rovnako ako v prirodzenom jazyku: za čiarky vložte medzeru a nedávajte pred.

Zle:

DigitalWrite(5 ,HIGH) ; digitalWrite(5 , HIGH) ; digitalWrite(5 ,HIGH) ;

Dobre:

DigitalWrite(5 , HIGH) ;

3. Umiestnite znak začiatku bloku (na nový riadok na aktuálnej úrovni odsadenia alebo na koniec predchádzajúceho. A znak konca bloku) na samostatný riadok na aktuálnej úrovni odsadenia:

Zle:

void setup() ( pinMode(5, OUTPUT); ) void setup() ( pinMode(5, OUTPUT); ) void setup() ( pinMode(5, OUTPUT); )

Dobre:

void setup() ( pinMode(5, OUTPUT); ) void setup() ( pinMode(5, OUTPUT); )

4. Na oddelenie významových blokov použite prázdne riadky:

Dobre:

lepšie:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900 ) ; digitalWrite(6 , HIGH) ; delay(100 ) ; digitalWrite(6 , LOW) ; delay( 900);

O bodkočiarkach

Možno sa pýtate: prečo je na konci každého výrazu bodkočiarka? Toto sú pravidlá C++. Takéto pravidlá sú tzv syntax jazyka. Podľa symbolu; kompilátor rozumie, kde výraz končí.

Ako už bolo spomenuté, zalomenie riadkov je pre neho prázdnou frázou, preto sa zameriava na toto interpunkčné znamienko. To vám umožní napísať viacero výrazov na jeden riadok:

void loop() ( digitalWrite(5 , HIGH) ; delay(100 ) ; digitalWrite(5 , LOW) ; delay(900) ; )

Program je správny a ekvivalentný tomu, čo sme už videli. Takéto písanie je však zlá forma. Kód je oveľa ťažšie čitateľný. Takže pokiaľ nemáte 100% dobrý dôvod na písanie viacerých výrazov na ten istý riadok, nerobte to.

O komentároch

Jedným z pravidiel dobrého programovania je: „písať kód tak, aby bol taký jasný, že nepotrebuje vysvetlenie“. To je možné, ale nie vždy. Aby sme čitateľom vysvetlili niektoré nezreteľné body v kódexe: svojim kolegom alebo vám o mesiac, existujú takzvané komentáre.

Toto sú konštrukcie v programovom kóde, ktoré kompilátor úplne ignoruje a majú význam iba pre čitateľa. Komentáre môžu byť viacriadkové alebo jednoriadkové:

/* Funkcia nastavenia sa volá úplne prvá, keď sa na Arduino pripojí napájanie A toto je viacriadkový komentár */. void setup() ( // nastavíme pin 13 do výstupného režimu pinMode(13 , OUTPUT) ; ) void loop() ( digitalWrite(13, HIGH) ; delay(100) ; // spánok na 100 ms digitalWrite(13, LOW) ; delay(900) ; )

Ako vidíte, medzi symboly /* a */ môžete napísať toľko riadkov komentárov, koľko chcete. A po sekvencii / / všetko, čo nasleduje až do konca riadku, sa považuje za komentár.

Dúfame teda, že najzákladnejšie princípy písania programov sú jasné. Získané znalosti vám umožňujú programovo ovládať napájanie pinov Arduina podľa určitých časových schém. To nie je až tak veľa, ale na prvé experimenty stále dosť.

Arduino je v skutočnosti vývoj jedinečných projektov pre všetky príležitosti.

Ako som už písal, Arduino je akási doska, na ktorej je umiestnený mikrokontrolér, ktorý sa dá bez problémov naprogramovať.

Konečným cieľom týchto manipulácií je poskytnúť jednoduché ovládanie mnohých externých zariadení. Táto doska komunikuje s vonkajším svetom prostredníctvom mnohých doplnkov:

  • a tak ďalej.

To z neho urobí pomerne univerzálnu platformu pre mnoho projektov na veľmi odlišných úrovniach – pozrite si sekciu na našej webovej stránke Arduino Lessons. V súčasnosti existuje pomerne veľa rôznych mikrokontrolérov, medzi ktorými je obzvlášť populárny Arduino, čo je spojené s aktívnym umiestnením najúžasnejších projektov a vývoja v sieti.

Aby ste mohli jednoducho implementovať jeden z miliónov nápadov, môžete jednoducho použiť najaktuálnejšie informácie, ktoré sú dostupné nezávisle na mnohých stránkach. Nižšie je uvedený príklad implementácie jedného z týchto nápadov - vianočného zvončeka, ktorý možno ovládať:

Na to, ako na to, sa pozrieme v jednej z nasledujúcich lekcií.

V prípade, že nemáte čo i len trochu skúseností s prácou s mikrokontrolérmi (programovanie a konfigurácia), vďaka funkciám Arduina sa môžete ľahko učiť sami vykonávaním relatívne krátkych experimentov. Nižšie navrhujem analyzovať niektoré možnosti Arduina, príklady toho, kde je najlepšie použiť tento jedinečný konštruktor.

Arduino skice

V skutočnosti sa program pre mikrokontrolér tohto typu nazýva skica. Každý takýto program pozostáva priamo z dvoch hlavných funkcií.

Nastaviť

nastaviť()– za predpokladu, že v rámci tejto funkcie bude môcť užívateľ nastaviť všetky kľúčové nastavenia.

Napríklad sa určuje, ktoré piny budú následne fungovať ako výstup alebo vstup, určuje sa pripojenie konkrétnych knižníc, dokonca aj inicializácia premenných, to všetko sa určuje pomocou tejto funkcionality.

Spustenie sa vykonáva striktne raz počas celého náčrtu, keď je zaznamenaný samotný začiatok vykonávania tohto programu.

Slučka

slučka()– predstavuje hlavnú funkciu, ktorá sa vykoná ihneď po spustení (v tomto prípade sa používa nastaviť()).

V skutočnosti ide o samotný program, táto funkcia bude bežať neobmedzene, kým používateľ nevypne napájanie zariadenia.

Príklady náčrtov

Môžete zvážiť niekoľko príkladov náčrtov, ktoré sa stanú sprievodcom pre následnú prevádzku zariadenia. Každý z príkladov sa pokúsim implementovať do nasledujúcich materiálov. Dnes budeme hovoriť len o možnostiach.

Príklad 1

Jeden zo zaujímavých náčrtov možno použiť na zobrazenie aktuálneho prevádzkového času ovládača, po ktorom nasleduje prijatie príkazu „blikanie“, ktorý slúži na inicializáciu postupu blikania prvkov LED.

V náčrte v skutočnosti nie je nič obzvlášť užitočné, ale zahŕňa aj možnosť náhodného zobrazenia určitej frázy “ Údaje prijaté“, možno ho v budúcnosti použiť priamo na testovanie a analyzovanie stanovených pravidiel fungovania modulárneho prvku.

Príklad 2

Príklad 3

Osobitná pozornosť by sa mala venovať možnosti výstupu znakov a následnej inštalácii písiem LCD5110, čo zabezpečí najjednoduchšiu a najspoľahlivejšiu kontrolu nad stavom samotného zariadenia.

Písma sa vydávajú a menia pomocou funkcií Arduina. V tomto prípade budete musieť použiť hotovú dátovú knižnicu, ako aj zdrojový kód.

Príklady použitia Arduina

Pri pohľade na početné príklady Arduina možno len žasnúť nad kreatívnym prístupom vývojárov projektov a mimoriadnou predstavivosťou. V skutočnosti môžete vytvoriť tie najneuveriteľnejšie veci, napríklad rovnaký hudobný prehrávač so sadou LED diód.

Takýto vývoj vysoko ocenia milovníci hudby, pretože im umožní vytvoriť nielen originálny soundtrack, ale tiež im poskytne príležitosť vychutnať si jasnú, mimoriadnu farebnú kombináciu.

Projekty budú môcť hodnotiť aj domáce zvieratá, napríklad mačky. Dôvodom bude automatické kŕmidlo pre mačky, ktoré môže byť vyvinuté napríklad na báze bežného CD prehrávača, a nielen.

Medzi výhody tohto zariadenia je potrebné poznamenať možnosť dávkovania krmiva pre zviera, teraz už nie je potrebné pravidelne kontrolovať množstvo krmiva v miske. Otváracia doba je upravená, po ktorej bude mačka dostávať výživné krmivo presne podľa stanoveného harmonogramu, pričom si vychutná pôvodnú myšlienku svojho majiteľa.

Ak hovoríme o úplne nezvyčajných projektoch, môžeme vyzdvihnúť automatické vybavenie pre kvetinu, ktorá teraz bude môcť prenášať informácie o svojom aktuálnom stave priamo na Twitter. To všetko sa deje pomocou možností mikrokontroléra Arduino, ktorý vám umožní prenášať dáta priamo pomocou internetového pripojenia. Ako vidíte, príklady môžu byť veľmi odlišné, v nasledujúcich článkoch sa pokúsim venovať pozornosť každému z nich.


Zavrieť