Arduino leckék kezdőknek Maker Uno használatával =====0. Lecke Hardver és szoftver beállítás===== ====1. rész: Helyezze el a címke matricákat a kivezetésekhez==== 1. Vegye ki a Maker UNO-t és a címke matricát a csomagolásból. {{ :makeruno:uno1.png?nolink&400 |}} 2. Húzza le a matricákat, és rögzítse a kivezetésekre a kép szerint. {{ :makeruno:uno2.png?nolink&400 |}} 3. Csatlakoztassa a Maker Uno-t a számítógépéhez a Micro USB kábel segítségével. {{ :makeruno:uno3.png?nolink&400 |}} - Ezután megjelenik egy felugró ablak az ablak jobb alsó részén. {{ :makeruno:uno3.1.png?nolink&400 |}} ====2. rész: Arduino Ide letöltése és telepítése===== 1. Látogasson el az alábbi weboldalra https://www.arduino.cc/en/main/software \\ 2. Válassza ki az Ön operációs rendszerének megfelelő változtot és töltse le. {{ :makeruno_:uno4.png?nolink&600 |}} 3. A folytatáshoz kattintson duplán a letöltött fájlra. 4. A telepítés befejezése után megjelenik az Arduino ikonja. Kattintson duplán az ikonra az Arduino IDE elindításához. {{ :makeruno_:uno6.png?nolink&200 |}} ====3. rész: Illesztő program letöltése és telepítése==== Windows felhasználóknak 1. Töltse le az illesztőprogramot https://cdn.cytron.io/makeruno/CH341SER.EXE \\ 2. Kattintson duplán a letöltött fájlra “CH341SER”\\ 3. Kattintson az "INSTALL" feliratú gombra. {{ :makeruno_:uno7.png?nolink&300 |}} 4. Kattintson az OK-ra {{ :makeruno_:uno8.png?nolink&300 |}} 5. Keresse meg a windows-ban az eszközkezelőt {{ :makeruno_:uno9.png?nolink&500 |}} 6. Kattintson a „Portok (COM és LPT)” kibontásához. Ellenőrizze, hogy a CH340 melyik portot használja. jegyezze meg ezt a com számot. {{ :makeruno_:uno10.png?nolink&500 |}} 7. Indítsa el az Arduino IDE alkalmazást. Válassza ki a megfelelő com portot. Eszközök> Portok> COM X (Ellenőrizze, hogy a Maker UNO csatlakoztatva van-e a számítógépéhez) {{ :makeruno_:uno11.png?nolink&500 |}}

Gratulálunk! Ön sikeresen beállította a Maker UNO-t és elkezdhetünk valamit készíteni. =====1. Lecke - Digitális kimenet===== ====1. Feladat :Kapcsoljunk be egy Led-et==== - Csatlakoztassa a Maker Uno-t a számítógéphez.\\ - Indítsa el az Arduino IDE alkalmazást. {{ :makeruno_:uno12.png?nolink&500 |}} - Írja be az alábbi kódot a vázlatba. {{ :makeruno_:uno13.png?nolink&500 |}} - Kattintson az Ellenőriz gombra, várjon néhány másodpercet, amíg meg nem jelenik a „Fordítás Kész ” felirat a vázlat alján. {{ :makeruno_:uno14.png?nolink&500 |}}

Hibaelhárítás
1. Ha hiba lép fel, soronként haladjon végig a kódon, hogy megbizonyosodjon róla mindent helyesen írt-e be. Javítsa, majd fordítsa újra.
2. Ne keverje össze a zárójelet () és a kapcsos zárójelet {}. - Ezután kattintson a feltöltés gombra. Várjon néhány másodpercet amíg meglátja a „Kész a feltöltés” feliratot a vázlat alján. {{ :makeruno_:uno15.png?nolink&500 |}}

Hibaelhárítás
1. Hiba esetén ellenőrizze, hogy a Maker UNO csatlakoztatva van-e a számítógépéhez és válassza ki ismét a megfelelő portot az Arduino IDE-n. „Eszközök> Port” - Ellenőrizze az eredményt. {{ :makeruno_:uno16.png?nolink&400 |}} Látni fogja, hogy a 7. LED világít.

Hogyan működik ? {{ :makeruno_:uno17.png?nolink&500 |}}

Tudtad ?

Bemeneti eszközök: kapcsoló, érzékelő, mikrofon, potenciométer stb.
Kimeneti eszközök: LED, LCD képernyő, hangjelző, hangszóró, motor stb.

Arduino funkciók

1. lábak beállítása bemenetként vagy kimenetként:

pinMode (pin, mode);

pin: annak a lábnak a száma amelynek módját be kívánja állítani
mode: INPUT, OUTPUT vagy INPUT_PULLUP (bemenet,kimenet vagy belső felhúzó ellenállás használata)

2. A digitális érintkező bekapcsolása HIGH (be) vagy LOW (ki)

digitalWrite (pin, érték);

pin: a láb száma
érték: HIGH vagy LOW
====2. Feladat :Villogtassunk egy Led-et==== 1. módosítsuk a programunkat az alábbiak szerint. {{ :makeruno_:uno18.png?nolink&500 |}} 2. Kattintson az Ellenőriz gombra, várjon néhány másodpercet, amíg meg nem jelenik a „Fordítás Kész ” felirat a vázlat alján. 3. Majd kattintson a feltöltés gombra.Várjon néhány másodpercet amíg meglátja a „Kész a feltöltés” feliratot a vázlat alján. 4. Ellenőrizzük az eredményt. A 7. LED villogni fog. 5. Változtassuk meg a késleltetés értékét 1000-re és töltsük rá a Maker nano-ra. {{ :makeruno_:uno19.png?nolink&500 |}} 6. Figyelje meg az eredményt és hasonlítsa össze az előző programmal.

Hogyan működik ? {{ :makeruno_:uno20.png?nolink&500 |}}

Jó tudni !

Arduino funkciók

1. A program szüneteltetése:
delay(ms);

ms: a szüneteltetési idő milliszekundumban ====3. Feladat :Led-ek villogtatása sorozatban==== Ebben a projektben a 2-es, 3-as, 3-as, 4-es, 5-ös, 5-ös, 6-os és 7-es LED-et akarjuk villogtatni egymás után. 1. Módosítsa a korábbi kódját erre. {{ :makeruno_:uno21.png?nolink&500 |}} 2. Kattintson az Ellenőrzés majd a Feltöltés gombra. 3. Ellenőrizzük az eredményt. - A Led-ek 2-7-ig együtt villognak nem úgy ahogyan szerettük volna.

Hogyan működik ? {{ :makeruno_:uno22.png?nolink&500 |}} 4. Módosítsuk a programunkat. {{ :makeruno_:uno23.png?nolink&500 |}} 5. Ellenőrizzük az eredményt. - A Ledek egymás után fognak felvillanni.

Jó tudni !

{{ :makeruno_:uno24.png?nolink&500 |}} A probléma megoldása: mindenegyes LED bekapcsolása után késleltetjük a program futását. =====2. Lecke - Digitális bemenet===== ====4. Feladat: Beépített nyomógomb==== Ebben a projektben egy LED-et szeretnénk vezérelni a beépített nyomógomb segítségével 1. Nyisson meg egy új vázlatot, majd írja be ezt a kódot a vázlatba. {{ :makeruno_:uno25.png?nolink&500 |}} 2. Ellenőrizze majd töltse fel a programot. 3. Ellenőrizze az eredményt. - A 4-es LED bekapcsol ha megnyomjuk a gombot.

Hogyan működik ? {{ :makeruno_:uno26.png?nolink&500 |}}

Jó tudni !

Arduino funkciók

1. A beépített nyomógomb használatához be kell állítanunk a belső felhúzó ellenállást.
pinMode(2, INPUT_PULLUP);
2. A fedélzeti LED a 2. érintkezőnél bemeneti jelzőként működik. Alacsony szintet ad ha megnyomják a gombot.
3. A beépített kapcsoló a 2. lábhoz csatlakozik. Használatakor ez a láb foglalt, és nem csatlakoztatható más külső alkatrész.

Kódolás szintaxisa

1. Az „if-else” utasítás használata.
if (1. feltétel)
{
// csináld az A dolgot
}
else if (2. feltétel)
{
// csináld a B dolgot
}
else
{
// csináld a C dolgot
}

2. Elhelyezhetünk egy "//" jelet, ha emlékeztetőt akarunk hagyni a programozás közben.
Ami mögött ez a jel van a program figyelmen kívül hagyja, és nem hajtja végre. ====5. Feladat: Külső nyomógomb használata==== Ebben a projektben egy egyszerű áramkört fogunk építeni egy külső kapcsoló segítségével. 1. Szerezze be ezeket az összetevőket. {{ :makeruno_:uno27.png?nolink&500 |}} 2. Készítse el az áramkört az alábbiak szerint. {{ :makeruno_:uno28.png?nolink&500 |}} 3. Készítse el a kódját az alábbiak szerint, majd töltse fel a Maker Uno-ra. {{ :makeruno_:uno30.png?nolink&500 |}} 4. Ellenőrizze az eredményt. - Amikor a nyomógomb le van nyomva a 4. LED világítani kezd. {{ :makeruno_:uno29.png?nolink&500 |}}

Hogyan működik ? {{ :makeruno_:uno31.png?nolink&500 |}}

Jó tudni !

Arduino funkciók

1. A kapcsoló egy bemenet. A kapcsolóra kötött lábat használat előtt be kell állítani bemenetnek.
pinMode(pin, INPUT); {{ :makeruno_:uno32.png?nolink&500 |}} =====3. Lecke - Analóg kimenet===== ====6. Feladat: Áramkör építése LED használatával==== 1. Szerezze be az alábbi komponenseket. {{ :makeruno_:uno33.png?nolink&500 |}} 2. Építse meg az alábbi áramkört. {{ :makeruno_:uno34.png?nolink&600 |}} 3. Töltse fel az alábbi programot a Maker Uno-ra {{ :makeruno_:uno35.png?nolink&500 |}} 4. Ellenőrizze az eredményt. A beépített LED és az 5. érintkezőre kötött LED villogni fog miután a beépített kapcsolót megnyomták. A program addig fut amíg nem nyomják meg a reset gombot.

Hogyan működik ? {{ :makeruno_:uno36.png?nolink&500 |}}

Jó tudni !

Alap elektronika:


1. A fénykibocsátó diódának (LED) 2 lába van,
polaritás helyesen kell csatlakoztatni,
a hosszú láb a pozitív a rövid láb a negatív.
Fordított bekötés esetén nem fog működni. {{ :makeruno_:uno37.png?nolink&150 |}}

2. Az ellenállásnak nincs polaritása,
úgy csatlakoztathatja a lábakat ahogy tetszik.
3. Az ellenállás színsávjaiból tudjuk kiolvasni az értékét.
Az alábbi táblázat megmutatja, hogy miként olvassuk el őket. {{ :makeruno_:uno38.png?nolink&300 |}}

Kódolás szintaxisa

Egy ciklus folyamatosan fog futni amíg a zárójelben megadott feltétel igaz.
While (feltétel)
{
// utasítások
}
Példa:

1. Csináljon valamit 200-szor
var = 0;
While (var <200)
{
//csinálj valamit
var ++;
}

2. Csinálj valamit végtelenül
While (1)
{
// csinálj valamit
}
====7. Feladat: LED fényerejének változtatása==== 1. Maradjon ugyanaz az áramkörön mint a 6. projektben. Töltse fel ezeket a kódokat az Maker Uno-ra. {{ :makeruno_:uno39.png?nolink&500 |}} 2. Ellenőrizze az eredményt.

Hogyan működik ?

{{ :makeruno_:uno40.png?nolink&500 |}} 3. Van egy másik lehetőség a fenti kód egyszerűsítésére. Módosítsa a kódot az ábra szerint, majd töltse fel a kártyára: {{ :makeruno_:uno41.png?nolink&500 |}} 4. Ellenőrizze az eredményt. Pontosan meg kell egyezni az eredménynek az előzővel.

Hogyan működik ?

{{ :makeruno_:uno42.png?nolink&500 |}}

Jó tudni !

Arduino funkciók

1. Kétféle kimenet létezik, digitális és analóg.A digitális kimenetnek két állapota 0 (LOW)
vagy 1 (HIGH). Az analóg kimenet értéke 0 és 255 között változtatható. Az analóg kimenetet
a következő funkcióval vezérelheti.

analogWrite (láb, érték);

2. Azonban nem minden láb használható analóg kimenetként.
Csak a 3., 5., 6., 9., 10. és 11. lábak alkalmazhatók analóg kimenetként.
(ezeknél a lábaknál egy ~ jel található) {{ :makeruno_:uno43.png?nolink&250 |}}

Kódolás szintaxisa

1. A kódolás lehetővé teszi a programozó számára, hogy egyszerűsítse a nagyon
hosszú utasításokat néhány kódsorban amelyek ugyanazt a feladatot hajtják végre.
2. A programsorok számának csökkentése szintén hozzájárul a feldolgozási idő csökkentéséhez
ezért nagyon fontos, hogy mindig optimalizálja a kódot.
3. Ebben a projektben 200ms-onként csökkentenünk kell a LED fényerejét.
A „brightness” csak egy változó név ha akarja A vagy B névvel is megnevezheti.
4. Ezeket az összehasonlító parancsokat használhatja a kódolás során.

x == y (x egyenlő y-nal)
x ! = y (x nem egyenlő y-nal)
x < y (x kisebb, mint y)
x > y (x nagyobb, mint y)
x <= y (x kisebb vagy egyenlő y-nal)
x >= y (x nagyobb vagy egyenlő y-nal) =====4. Lecke - Dallamok===== ====8. Feladat - Komponáljunk alaphangsort==== 1. Nyisson meg egy új vázlatot, írja be ezeket a kódokat a vázlatba, majd töltse fel a kártyára. {{ :makeruno_:uno44.png?nolink&500 |}} 2. Ellenőrizze az eredményt. - A következő dallamot kell hallania. " Do Re Mi Fa So La Ti ”.

Hogyan működik ? {{ :makeruno_:uno45.png?nolink&500 |}}

Jó tudni !

1. A beépített piezo hangjelző a 8. lábhoz van csatlakoztatva. Ha használni
szeretné át kell váltani a hangszóró kapcsolóját. Amikor a 8-as lábhoz mást
szeretne csatlakoztatni vissza kell kapcsolnia a kapcsolót. {{ :makeruno_:uno46.png?nolink&300 |}}

Arduino funkciók

1. Hangjelzés a piezo hangjelzőből.

tone (láb, frekvencia, időtartam);

- láb: Az a láb amelyre egy piezo hangjelző csatlakozik
- frekvencia: a hang frekvenciája hertzben
- időtartam: a hang időtartama milliszekundumban

2. A hang lejátszás után mindig kell szünetet tartani.
A szünetnek 30% -kal hosszabbnak kell lenni mint a hang időtartama, hogy a hang teljes legyen.

pl .: A hang időtartama 1 ütemnél 250ms, ezért engedélyeznünk kell 325 ms késleltetést.

Kotta

1. A hangjegy helyzete a kottavonalon meghatározza annak hangmagasságát (a piezo hangjelző frekvenciáját).
Minél magasabban helyezkedik el a jel a vonalakon annál magasabb lesz a hangmagasság.
{{ :makeruno_:uno47.png?nolink&600 |}}

2. A különböző zenei jelölések arra szolgálnak, hogy megmondják milyen időtartamig szól egy hang.
Arduinóban a negyedhang (1 ütem) lejátszásának időtartama 250 ms.
{{ :makeruno_:uno48.png?nolink&500 |}} ====9. Feladat - Komponáljuk meg a "Boldog Születésnapot" dallamot==== Írja össze a „Happy Birthday To You” dal első sorát. {{ :makeruno_:uno49.png?nolink&500 |}} 1. Módosítsa az előző kódot az alábbiak szerint majd töltse fel a kártyára. {{ :makeruno_:uno50.png?nolink&600 |}} 2. Ellenőrizze az eredményt. ====10. feladat - Program kód optimalizálás==== Ahelyett, hogy manuálisan beírnánk a hangok frekvenciáját és időtartamát soronként, optimalizálhatjuk előző programunkat egy adott mintakóddal. Ez lehetővé teszi számunkra, hogy hosszú dallamot komponáljunk könnyedén. 1. Nyisson meg egy mintakódot. Fájl> Példák> 02 Digital> toneMelody {{ :makeruno_:uno51.png?nolink&600 |}} 2. A megnyitott példából. Minden hang frekvenciája előre van definiálva a B0 - DS8-ig. Amit tennünk kell, hogy beírjuk a dallamot amit szeretnénk és a dallam időtartamát sorrendben. {{ :makeruno_:uno52.png?nolink&600 |}} Rákattinthatunk a „pitches.h” fülre ,hogy megtekinthessük az előre definiált frekvenciákat. {{ :makeruno_:uno53.png?nolink&600 |}} 3. Nézze meg még egyszer ugyanezt a kottát, majd írja be a dallamnak megfelelő hangokat és időtartamot. {{ :makeruno_:uno54.png?nolink&600 |}} {{ :makeruno_:uno55.png?nolink&600 |}} 4. Ellenőrizze az eredményt.

Hogyan működik ? {{ :makeruno_:uno56.png?nolink&600 |}}

Jó tudni !

Kódolás szintaxisa


1. Észrevetted, hogy a dallam csak egyszer játszódik le és nem ismétlődik meg mint az előző programban ?

Ennek oka, hogy a teljes kódot a void setup () alá írták nem pedig a void loop () alá. Csak akkor ismétlődik meg a program ha újraindítjuk a reset gomb megnyomásával.

2. A „for” ciklus használata

for (inicializálás; feltétel; növekmény)

{
// utasítások
}

Példa:

for (int i=0; i <= 4; i++)
{
digitalWrite (i,HIGH);
delay (1000);
}

A zárójeleken belül az első kifejezés létrehoz a cikluson belül egy lokális(helyi) változót (i), ez fogja
számlálni nekünk, hogy hányszor fut le a ciklusunk. Itt mindig meg kell adnunk a kezdő értéket is.
-a második kifejezés egy egyenlőség vagy egyenlőtlenség, a ciklus mindaddig fut míg ez a kifejezés igaz.
-a harmadik a ciklus érték adó része , itt minden futásnál növeljük 1-el a változó értékét.
- a cikluson belül 1 másodperces késleltetéssel magasra állítjuk az 1,2,3,4-es lábakat. =====5. Lecke - Analóg bemenet===== ====11. Feladat: Analóg érték megjelenítése a soros monitoron==== 1. Szerezze be az alábbi komponenseket. {{ :makeruno_:uno57.png?nolink&600 |}} 2. Építse meg a képen látható áramkürt. {{ :makeruno_:uno58.png?nolink&600 |}} 3. Írja be majd töltse fel az alábbi kódot a kártyára. {{ :makeruno_:uno59.png?nolink&600 |}} 4. A feltöltés befejezése után kattintson a jobb oldalon található (soros monitor) elemre Azonnal megjelenik egy felugró ablak. {{ :makeruno_:uno60.png?nolink&600 |}} {{ :makeruno_:uno61.png?nolink&600 |}} 5. Forgassa a potenciométert az óramutató járásával megegyező irányba és az óramutató járásával ellentétes irányba. A soros monitoron megjelenített érték változik, ahogy Ön forgatja a potenciométert. A kijelzett analóg értékeket a potenciométer biztosítja. {{ :makeruno_:uno62.png?nolink&600 |}} 6. Ellenőrizze az eredményt

Hogyan működik ? {{ :makeruno_:uno63.png?nolink&600 |}}

Jó tudni !

Arduino funkciók


1. Csak az A0, A1, A2, A3, A4 és A5 érintkezők rendelkeznek analóg bemeneti funkcióval. Ennélfogva az analóg érzékelőket ezekhez a lábakhoz kell csatlakoztatnunk.

2. A digitális bemenetnek csak 2 értéke van: 0 (alacsony) vagy 1 (magas).
Azonban az analóg bemenet 0 és 1023 közötti értéket vehet fel. ====12. Feladat: IR szenzor olvasása analóg bemeneten==== 1. Szerezze be az alábbi komponenseket. {{ :makeruno_:uno64.png?nolink&600 |}} 2. Építse meg az alábbi áramkört. {{ :makeruno_:uno65.png?nolink&500 |}} 3. Töltse fel az előző feladatban használt programot a kártyára. 4. Az analóg bemenet értékének megfigyeléséhez kattintson a soros monitorra. Mozgassa a tenyerét az IR-érzékelő előtt, hogy lássa az analóg érték változását. {{ :makeruno_:uno66.png?nolink&600 |}} 5. Ellenőrizze az eredményt.

Hogyan működik ?

Az infravörös (IR) szenzor egy IR adóból és egy IR vevőből állt. Az adó infravörös fényt bocsát ki amikor bekapcsol. Ha van tárgy az érzékelő elé helyezve az IR fényt visszaveri és fogadja az IR vevő. Az objektum és az infravörös érzékelő közötti távolság változásával a vevő által kapott IR fény intenzitása változik. Az intenzitást analóg értékre kell konvertálni, amelyet a soros monitoron megfigyelhetünk meg. {{ :makeruno_:uno67.png?nolink&600 |}} ------------------------------------------------------------------------------------------------------------------- ====13. Feladat: Fekete vonal érzéklése IR-érzékelő használatával==== 1. Készítsen elő egy darab fehér kartont és egy fekete filctollat. {{ :makeruno_:uno68.png?nolink&500 |}} 2. Hajtsa be a kartont az alábbiak szerint: {{ :makeruno_:uno69.png?nolink&500 |}} 3. Rajzoljon egy 2 cm vastag fekete vonalat a karton közepére a filctoll segítségével. {{ :makeruno_:uno70.png?nolink&500 |}} 4. Rögzítse a karton és az infravörös érzékelő közötti távolságot (kb. 2 cm-re). Mozgassa vízszintesen a kartont a fehér felülettől a fekete vonalig. {{ :makeruno_:uno71.png?nolink&500 |}} 5. Figyelje meg és rögzítse az analóg értékeket a soros monitorról amikor az infravörös érzékelő a fehér felület illetve a fekete vonal felé néz. | ^ Analóg érték ^ ^ Fehér felület | | ^ Fekete vonal | | 6. Írja be ezeket a kódokat egy új vázlatba, majd töltse fel a kártyára. {{ :makeruno_:uno72.png?nolink&500 |}} Megjegyzés: Az IRvalue > 500 az Én esetem küszöbértéke. Megváltoztathatja a érték a soros monitoron látható analóg értékeknek megfelelően. 7. Ellenőrizze az eredményt A LED 3 világít amikor a fekete vonal észlelhető és kialszik amikor a fehér felület észlelhető.

Hogyan működik ?

{{ :makeruno_:uno73.png?nolink&500 |}}

Jó tudni !

A tárgy észlelése és a távolság mérése mellett az IR érzékelőt fekete-fehér felületek
megkülönböztetésére is lehet használni. Ez azért lehetséges mert a fehér felület képes
visszaverni az IR fény nagy részét, míg a sötét felület hajlamos elnyeli az IR fényt.
Ezért az IR vevő kevesebb IR fényt fog kapni amikor a sötét felület felé néz. {{ :makeruno_:uno74.png?nolink&500 |}}

Kódolás szintaxisa

Ebben a projektben az IR-érzékelő analóg értéke változott a tárgy színe alapján.
A változó számot tárolnunk kell egy helyen ,hogy szükség esetén meg tudjuk hívni.
Ezért hozzárendeltünk egy változót.

int var = val; vagy int var;

var: a változó neve (lehet IR érték, A vagy B vagy bármi más amit szeretnénk)
val: a változóhoz rendelt érték (tetszőleges szám lehet -32 768-tól 32 767-ig) =====6. Lecke===== ====14. Feladat: DC motor vezérlése ==== 1. Szerezze be az alábbi komponenseket. {{ :makeruno_:uno75.png?nolink&600 |}} 2. Építse meg az alábbi áramkört. {{ :makeruno_:uno76.png?nolink&600 |}} 3. Írja be a vázlatba az alábbi kódot majd töltse fel a kártyára. {{ :makeruno_:uno77.png?nolink&600 |}} 4. Fogja meg a motort az egyik kezébe és nyomja meg a kártyán lévő gombot. {{ :makeruno_:uno78.png?nolink&600 |}} 5. Ellenőrizze az eredményt.

Hogyan működik ?

{{ :makeruno_:uno79.png?nolink&500 |}}

Hibaelhárítás

1. Ellenőrizze, hogy a motoron lévő lapát nem akadt-e el valamiben.
2. Ellenőrizze a beépített LED-t az 5. lábnál. Teljes fényerővel kell világítania 3 másodpercig
majd további 3-ig halványul a fénye.
3. Ha minden rendben van akkor ellenőriznie kell az áramköri lapot ,hogy minden
alkatrész megfelelően van-e csatlakoztatva

Jó tudni!

Hogyan lehet szabályozni a motor sebességét?
Az egyenáramú motor forgatásához alkalmazzon megfelelő bemeneti feszültséget.
A bemeneti feszültséget a motor gyártója javasolja.
A leggyakoribb értékek 3V, 6V és 12V.
A motorok azonban akkor is képesek működni ha kisebb vagy nagyobb feszültséget alkalmazunk
mint az ajánlott feszültség. A játékmotornak amelyet ebben a feladatban használunk
az ajánlott feszültsége 3 V, de megpróbálhatjuk 3,3 V ill. 5 V-al megtáplálni.
Lássuk, mi fog történni. {{ :makeruno_:uno80.png?nolink&700 |}} Csatlakoztassuk 3,3 V-hoz - A motor lasabban forog\\ Csatlakoztassuk 5 V-hoz - A motor gyorsabban forog

Ez a teszt azt mutatja, hogy a bemeneti feszültség megváltoztatja a motor sebességét.
Ezért a korábbi programban amikor alacsonyabb PWM-értéket alkalmazunk a motor lassabban forog.
De kérjük vegye figyelembe, hogy az ajánlottnál magasabb feszültség alkalmazása
lerövidíti a motor életciklusát.

Hogyan lehet változtatni a motor forgási irányát?
A forgási irány megváltoztatása egyszerű. Csak fel kell cserélni a pozitív és negatív pólusokat. {{ :makeruno_:uno81.png?nolink&400 |}} Piros kábel 5V, fekete kábel föld. 1-es forgásirány {{ :makeruno_:uno82.png?nolink&400 |}} Fekete kábel 5V, piros kábel föld. 2-es (ellentétes) forgásirány

Nem tudjuk megváltoztatni a motor forgási irányát a korábban megépített áramkörrel.
Ennek a legegyszerűbb módja ha beszerzünk egy motorvezérlőt ami képes irányítani
mind a sebességet mind az irányt. De akár építhetünk saját magunk is motorvezérlőt. {{ :makeruno_:uno83.png?nolink&700 |}} Pár minta a piacon kapható motorvezérlőkből. ====15. Feladat: A motor sebességének szabályozása egy nyomógombbal ==== 1. Írja be a vázlatba az alábbi kódot majd töltse fel a kártyára. {{ :makeruno_:uno84.png?nolink&500 |}} 2. Ellenőrizze az eredményt.

Hogyan működik?

{{ :makeruno_:uno85.png?nolink&500 |}} A kapcsoló első megnyomásakor, mode = 1, a motor 100-on működik.\\ A kapcsoló második megnyomásakor az üzemmód 2 lesz, a motor teljes sebességgel fog járni.\\ A kapcsoló harmadik megnyomásakor az üzemmód értéke ismét 0-ra áll vissza.\\ A motor leáll.

Jó tudni !

Kódolás szintaxisa


1. A switch..case is lehetővé teszi a programozók számára a különböző kódok végrehajtását
bizonyos feltételek teljesülése esetén. Ez akkor hasznos, ha különböző programrészek
használatához 1 kapcsolót akar használni.

Példa:
switch (var)
{
case 1:
// csináljon valamit amikor a var =1
breaks;

case 2:
//csináljon valamit amikor a var =2
breaks;

default:
// ha nincs egyezés akkor csináljon valamit
breaks;
}

2. Észrevetted, hogy nem tettünk „; ”-t while(1) után a korábbi feladatainkban
de tettünk „; ”-t A while (digitalRead (2) == LOW) után ebben a feladatban?

“ ; ” nélkül
while (feltétel)
{
// ha a feltétel igaz akkor a kapcsos zárójel között található egész programkód lefut
}

“ ; ” használatával
while (feltétel);
// ha a feltétel igaz akkor csak az utána következő 1 utasítás fut le.
pl.:
while (digitalRead(2) == LOW);
ha a kapcsolót megnyomták (feltétel teljesül), akkor a
program addig fut amíg el nem endedik a kapcsolót.

3. A motor forgásának megakadályozásához az alábbiak egyikét használhatja:
digitalWrite (pin, LOW);

vagy

analogWrite (pin, 0);
=====7. Lecke - Ultrahangos érzékelő===== ====16. Feladat: Ultrahangos érzékelő beállítása==== 1. Szerezze be az alábbi alkatrészeket: {{ :makeruno_:uno86.png?nolink&500 |}} 2. Építse meg az alábbi áramkört. {{ :makeruno_:uno87.png?nolink&700 |}} 3. Írja be az alábbi kódot majd töltse fel a kártyára. {{ :makeruno_:uno88.png?nolink&500 |}} 4. A feltöltés befejezése után kattintson a soros monitor ikonjára, hogy lássa az eredményt.\\ Tegyen egy tárgyat az érzékelő elé. Próbálja állítani a tárgy és az érzékelő közötti \\ távolságot, hogy lássa a különbséget.\\ {{ :makeruno_:uno89.png?nolink&500 |}} 5. Ellenőrizze az eredményt.

Hogyan működik ?

{{ :makeruno_:uno90.png?nolink&500 |}} 6. Ezeket a kódokat függvénybe fogjuk csoportosítani aminek a neve „ultrasonic”, így a főprogramunk egyszerűsödik. Amikor Önnek szüksége van az ultrahangos érzékelőre csak hívja meg a függvényt. {{ :makeruno_:uno91.png?nolink&300 |}} Módosítsa az előző programot, majd töltse fel a kártyára. {{ :makeruno_:uno92.png?nolink&500 |}} 7. Ellenőrizze az eredményt. Ugyanazt kell tapasztalnia mint az előző programnál.

Jó tudni !

Ultrahangos érzékelő


Az érzékelő ultrahangot bocsát ki a levegőbe. Ha egy tárgy kerül elé akkor érzékeli
az arról visszaverődő ultrahangot. A programmal mérjük a kibocsátott és a visszavert hang
között eltelt időtartamot és ez alapján meg tudjuk becsülni a távolságot. {{ :makeruno_:uno93.png?nolink&500 |}}

Az ultrahangos érzékelőt széles körben használják autónk hátsó lökhárítójánál
, hogy segítsék a vezetőket a nem látható objektumok felderítésére.
Az ultrahangos érzékelő előnyei az infravörös érzékelőkkel szemben ,hogy érzéketlenek
a környező világításra így működhet napfényben és sötétben is.

Arduino funkció

1. Ezzel a funkcióval leolvashatja az impulzus időciklusát.
pulseIn (pin, érték)
pin: annak a lábnak a száma amelyen ki akarja olvasni az impulzust.
érték: az impulzus típusa: HIGH vagy LOW.

2. Adat típus
Legtöbbször az „int” -t típusú változót használjuk a programjainkban de
ebben a projektben a „long” típust használjuk. A változó típusával jelezzük az
Arduino számára, hogy milyen számot szeretnénk tárolni a változóban
legyen szó kis számról nagy számról, tizedes számokról.
Ebben a feladatbe nagy számot kell tárolnunk ezért használjuk a „long” típust. ^ Változó típusa ^ Számtartomány ^ | Char | -127 to 128 | | Int | -32,768 to 32,767 | | Long | -2,147,483,648 to 2,147,483,647 | | Float | tizedes számok | ====17. Feladat: Építsen meg egy autó hátsó lökhárító-érzékelőt==== 1. A piezo hangjelzőt arra fogjuk használni, hogy sípoljon ha az érzékelő által érzékelt távolság túl kicsi. A hangjelző lassabban sípol amikor az objektum messze van az érzékelőtől és gyorsabban csipog amikor az objektum közelebb kerül. Írja be ezeket a kódokat és töltse fel a kártyára. {{ :makeruno_:uno94.png?nolink&500 |}} {{ :makeruno_:uno95.png?nolink&500 |}} 2. Ellenőrizze az eredményt.

Hogyan működik ?

{{ :makeruno_:uno96.png?nolink&500 |}}