A fejlesztőpanel és a programozás - Arduino és programozása

Keresés a weboldalon

Programozási alapismeretek
Tartalomhoz ugrás

Főmenü:

A fejlesztőpanel és a programozás

Haladás > 1. Elméleti- és kiviteli háttér
4. témakör: a fejlesztő panel megismerése, programozása, szimuláció
A fejlesztő panel felépítését már megismertük. Oldalt látható a képe, de a "Mega és a fejlesztó panel" menűpontban, kinagyítva is látható. A képre kattinva megtekinthatő a teljes panel részeinek a kapcsolási vázlatai, amirők pontosíthatjuk egyes elemek port csatlakozását.
Előző foglalkozáson már megismerkedtünk az Arduino mega vezérlő programozójának (Arduino IDE) felépítésével, néhány használati szabályával, és s digitális port kimenet jellemzőivel, valamint néhány digitális portkezelő- és késleltető utasítással (pinMode, digitalWrite, delay).
3. témakör: a programozásról
Bevezetésként el kell oszlatnom egy tévhitet, mely szerint vannak akik azonosítják egy programozási nyelv ismeretét, a programozni tudással! Ez egy téves feltételezés! A programozási nyelv csupán eszköze programjaink leírásának. Annak ellenére, hogy egy programozási nyelven leírt folyamatot programnak nevezünk, nem a nyelvi megvalósuláson van a hangsúly, hanem a folyamaton, amit a programozási nyelv tesz értelmezhetővé a vezérelt eszköz (pl. mikróvezérlő) számára!
A programozás, adott folyamat elemi lépésekre történő felbontását jelenti!  Ezt kezdetben célszerű saját szavainkkal (folyamat-leírás), vagy ábrán (folyamatábra) való rajzolással elemi lépésekként megjeleníteni. Az elemi lépésekre való felbontásnál van jelentősége az alkalmazott programozási nyelvnek. Egy alacsony szintű programozási nyelvnél (pl. assembler, vagy gépi kód), lényegesen apróbb lépésekre kell lebontani a folyamatot, mint egy magas szintű nyelv esetén. PIC esetén a mikrovezérlő nyelvezetének apró részletéig kell lebontani a folyamatot, arduinohoz viszont van fordító program (compiler) mely egy magasabb szintű nyelven (C arduino) írt utasítás-sorozatot képes az arduino processzorának gépi kódjára lefordítani. A magas szintű programozási nyelvek a programozhatóság tekintetében kissé rugalmatlanabbak, de ez megtérül a folyamat leírásának egyszerűsödésében.  
Az értelmezéshez nézzünk egy példát.
Készítsük el egy felváltva, 1 másodperces periódusidővel, kiegyensúlyozottan villogó LED pár működési programját!
Feladatok
Kiinduló adatok: 8 db LED, melyeket a 30-37 digitális portokon keresztül vezérlünk. Valósítsuk meg 3 különféle -alább felsorolt- fényeffektus folyamatábráját!
1. "Knight rider" fény. Az egyes LED-k 300 ms-ként felkapcsolódnak, majd ha már mind a 8 világít, visszafelé haladva alszanak el, amíg mind ki nem alszik. Majd a folyamat újra indul.
2. Futófény. Egyetlen fénypont fut előre és vissza. Lépésidő 400 ms.
3. Haladó fény. Ez csupán látványban ad haladást, és azt is csak bizonyos időtartományú késleltetésnél. Tevezéshez használjunk 200 ms-t. Az effektus lényege, először a páratlan számú LED-ket kapcsoljuk fel egyszerre, majd a páros számuakat. Ezt ismételjük felváltva. A haladási irányt a páros/páratlan LED-k felcserélésével lehet elérni.
Ismerkedjünk meg  egy arduino szimulátorral
Aki nem rendelkezik otthon arduinoval, az is tud otthon gyakorolni szimulátoron. Természetesen az igazi, ha "élő" vezérlőt, és hozzá kapcsolódó eszközöket vezérel az ember, de a tanulási folyamatban elegendő egy szimulátor, különösen ha az iskolában lehet élesben is gyakorolni. Az oldalsó videó bemutat egy jól használható szimulációs programot (tinkercad), mely online használható. A videóban bemutatásra kerül a hozzéférés, és a használat.. Az alkalmazás használatával nem feltétlen csak arduinos áramkört lehet építeni, hanem tetszölegeset lehet szimulálni és mérni. Számunkra viszont elsősorban az arduino szimulációja a lényeges, mely az építésen túl, a vezérlő programozását is tartalmazza. A videó bemutatja a kezelését. A fenti feladatok is megoldhatók vele!
Vissza a tartalomhoz | Vissza a főmenühöz