SlideShare a Scribd company logo
Fizikai számítástechnika

elektronikai alapok és arduino programozás
Harsányi Réka és Juhász Márton András (társszerző)

A fizikai számítástechnika óra célja, hogy a
művész hallgatók hozzájuthassanak minimális
elektronikai alapokhoz, megismerjék
az arduino-t, ami egy nyílt forráskódú
mikrokontroller. Ki és bemenetei alkalmasak
arra hogy vezéreljenek eszközöket, és néhány
vizuális programmal is összeköthetőek, így
soros portként alkalmazható. Speciálisan
művészek számára fejlesztették ki, saját
programnyelvvel rendelkezik amit könnyű
megérteni. Számos angol nyelvű lecke és
könyv áll rendelkezésre ebben a témakörben.
Ellenben magyar nyelvű nincs.
[ Mi az a fizikai számítástechnika? ]
Nem más mint annak a szemléletmódnak az elsajátítása, hogy miként kommunikálnak az emberek
számítógépeken keresztül, ide értve akár a mikrokontrollereket is, amik vezérlési feladatokra
optimalizált extra kicsi számítógépek. Így könnyen hozhatunk létre interakciókat. Ehhez viszont meg
kell tanulnunk a megfelelő nyelvezetet, hogy hogyan változik át fény-, hang-, hő- (hatás), stb.
elektromos jellé, és hogyan tudunk ezekhez az analóg adatokhoz hozzáférni és digitális jellé
alakítani, valamint reagálni rájuk. Tanulunk szenzorokról, alacsony feszültségű motorokról. Ez egy
aktív részvételt igénylő tanulási folyamat, ami azt jelenti, hogy sok időt kell eltölteni áramkörök
építésével, forrasztással, programozással és mindezek elemzésével, megértésével. Persze
mindezekkel párhuzamosan az elektronika alapjait is el kell sajátítaniuk a diákoknak. Azt, hogy
melyek a legalapvetőbb alkatrészek és mik a tulajdonságaik, hogyan kell őket áramkörbe kötni.
A fizikai számítástechnika fontos részét képezi még a DIY (do it yourself=csináld magad) vonal. Pl.
némelyik szenzor otthon is elkészíthető megfelelő anyagokból, lényegesen költséghatékonyabban.
[ Hogyan épül fel a tananyag? ]
ELEKTRONIKAI ALAPOK

Az első 6 fejezet az elektronika alapokra koncentrál:
multiméter használata, Ohm és ellenállás, elektromosság, rövid áramkör, Volt
és feszültség, Amper és áramerősség, olvadóbiztosíték használata, potméter, egyenáram és
váltakozó áram, ellenállások és színkódolásuk, kísérletezés a feszültséggel, Watt és teljesítmény,
alapvető mérések / mértékek / számítások, elemek soros és párhuzamos kötése, áramköri jelek
kapcsolók működése, kondenzátor, Farad és kapacitás fogalma, dugaszolós panel felépítése és
használata, nyomógomb: idő és kapacitás viszonya, feszültség ellenállás és kapacitás viszonya,
tranzisztor: NPN / PNP, tranzisztor és jelfogó, áramkör ellenőrzése multiméterrel, kísérletezés
hangszóróval: oszcillálás, alapvető forrasztási képesség elsajátítása, dióda, hálózati adapter hack,
próbapanel használata és típusai, pulzáló fény egyszerű áramkörből, elemek élettartamának
kiszámítása adott áramkörben, mágneses érzékelő/kapcsoló áramkörbe építve, integrált áramkörök,
digitális elektronika, logikai kapu alapok és csatlakoztatásának szabályai, mágneses tekercs és
indukció, DC stepper és servo motorok, játékokat működtető szerkezetek (hangra aktiválódó lézer,
tapsszenzor, elemlámpa, led mátrix, lézerpointer,stb.)
[ Hogyan épül fel a tananyag? ]
ARDUINO ALAPOK

A további fejezetek a hivatalos Arduino leckéket tartalmazzák
7.
Arduino: bevezetés, arduino felépítése, program telepítése és használata, programozás lépésről
lépésre, LED nyomógombbal, ki- és bemenetek, PWM, fényszenzor/fotoellenállás, analóg bemenet,
soros kommunikáció, serial motor használata, motor meghajtása, hibakeresés
8.
Arduino: operátorok, funkciók, szintaxisok; http://www.arduino.cc/en/Tutorial/HomePage
hivatalos leckék: 1. alapok: kiolvasás digitális és analóg pinből, 2. digitális pinek: LED villogtatás,
nyomógomb, hang, egyszerű nyomógombos billentyűzet
9.
Arduino: hivatalos leckék: 3. analóg pinek: be- kimenet serial.print, bemenetbe potméter,LED
fadeelése, analóg szenzor kalibrálása, PWM, egyenletes kiolvasás analóg szenzorból
10.
Arduino: hivatalos leckék: 4. kommunikáció, Max MSP-vel, VVVV-vel, Processinggel: ASCII
karakterkészlet, LED fade egérmozgatással, adat grafikon Processingben, fizikai pixel, virtuális szín
keverő, meghívás ás válasz, soros bemenet – igaz vagy hamis állítások
11.
Arduino: hivatalos leckék: 5. vezérlő struktúrák: if feltétel, for, array, while, switch állítás
12.
Arduino: hivatalos leckék: 6. szenzorok: gyorsulásmérő szenzor kopogás észlelése piezo-val,
ultrahangos távolságérzékelő; 7. kijelzők: LED dióda bargraph, 8x8 LED panel
13.
Arduino: hivatalos leckék: 8. a string osztály, karakterek
14.
Arduino: EEPROM, Ethernet, Firmata, LiquidCrystal, SPI – könyvtárak
15.
Arduino: Servo, Software Serial, Stepper motor, Wire, és Arduino ISP - könyvtárak
16.
Hivatkozások gyűjteménye
[ Elektronikai alapok ]
A diákok megismerkednek az alapvető alkatrészekkel és eszközökkel, miközben elektronikai eszközöket
szerelnek szét és raknak össze utána valamilyen rendhagyó formában. Egyúttal belekóstolnak a koncepció
tervezásbe is, mivel adott témakörben kell fiktív alkotásokat létrehozniuk. A BKF történetében már
megvalósult ezekből egy kiállítás Rekreátorok címmel. Az erről készült dokumentumfilm itt látható:
https://www.youtube.com/watch?v=V6fzfaAOEb4

A fizikai számítástechnika órán
belül ez a blokk egy áttekintésre,
jobb megértésre szolgál. Mivel a
fókusz az arduino programozáson
van.
[ Mi az az Arduino? ]
Egyrészt egy mikrokontroller, másrészt a programozási környezet neve.
Több fajtája létezik, mi az órán az Arduino Duemilanove-t használjuk.
Az Arduino egy nyílt forrású gyors prototipizáláshoz ideális mikrokontroller modul. Használata a világos
felépítésű elektronikának és jól értelmezhető programnyelvnek köszönhetően könnyen és gyorsan
elsajátítható. Hirtelen elterjedése interaktív művészeti alkotásokban, hobbi alkalmazásokban és gyors
vezérléstechnikai megoldások kivitelezésében egy jól kiépült nemzetközi tudásbázist hozott létre,
hozzáférhetővé téve az elektronika egyszerű használatát minden érdeklődő számára.
Sokrétű ki és bemenetein keresztül fel tudja venni a kapcsolatot bármilyen jellegű szenzorral és
programjának megfelelő válaszadásra képes, meghajtva lámpákat, motorokat, kijelzőket... A
mikrokontrollert Arduino nyelven lehet programozni ami a Wiring nyelvén alapszik, felhasználói
felületét pedig a Processing alapja nyújtja. Az Arduino egyedülálló áramkörként is működtethető, vagy
összekapcsolható számítógéppel amin Flash, Processing, MaxMSP, GarageBand, illetve egyéb soros
kommunikációra képes programokkal képes együttműködni.
Az Arduino a 2006-os Ars Electronica digitális közösségek szekciójában is elismerésben részesült. A
csapat: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, és David Mellis. Készült egy
dokumentum film is az Arduino fejlesztéséről (angolul elérhető). https://vimeo.com/18539129
[ Mi az hogy Open Source? ]
Az Open Source a számítástechnika világában népszerű kifejezés. Jelentése: nyílt forráskód.
Az ilyen programok forráskódjához bárki hozzáférhet és kedvére alakíthatja, módosíthatja,
mi több a módosítást üzletileg is termékké teheti. A a programok ingyen letölthetők
honlapukról (arduino.cc). A kapcsolások és a nyomtatott áramköri tervek szintén
hozzáférhetők és magáncélra szabadon felhasználhatók.
“Az Open Source - Nyílt forráskódú szoftver jelentése:
Jelentős vita alakult ki a két tábor között, annak eldöntésére, hogy melyik fogalom
létezett előbb és, hogy melyik fogalom illik jobban, gyakorlatilag két nagyon hasonló
szoftver kategóriára. A valóságban a Free Software és az Open Source Software fogalmi
meghatározása majdnem teljesen fedi egymást. Talán a Free Software nagyobb
szabadságfokot enged meg a felhasználóknak, mint az Open Source, ezekre az eltérésekre
érdemes odafigyelni, amikor egy adott szoftver felhasználási feltételeit olvassuk.”
forrás: https://sites.google.com/site/szoftvermindenkinek/home/nyilt-forraskodu-szoftverek/tudasbazis-1
“Az Open Source meghatározása:
Talán a legpontosabb meghatározást az Open Source Initiative - OSI (Nyílt Forráskód
kezdeményezés) http://www.opensource.org adja és e szerint a Szabad Forráskódú Rendszereknek
10 követelménynek kell eleget tenniük:
•	 Szabad terjeszthetőség: A licensz nem tilthatja meg a szoftver ingyenes terjesztését
•	 Forrás kód: A programnak tartalmaznia kell a forráskódot, vagy szabad hozzáférést a forráskódhoz
•	 Származtatott munka: A licensznek lehetővé kell tennie a program megváltoztatását, illetve
származtatott munkák elvégzését.
•	 A szerző forráskódjának integritása: A licensz megkövetelheti, hogy a megváltoztatott programok
az eredetitől eltérő névvel és verziószámmal kerüljenek forgalomba.
•	 Személyek diszkriminációjának tilalma: a licensz egyetlen személyt, vagy személyek csoportját
sem diszkriminálhatja
•	 Felhasználási területek diszkriminációjának tilalma: A licensz nem lehet diszkriminatív egyetlen
felhasnálási területtel szemben sem
•	 Licensz jogainak terjeszthetősége: A licensz jogok mindenkire egyformán vonatkoznak, legyen az
elsődleges felhasználó, vagy továbbfelhasználó
•	 A licensz nem lehet termék specifikus: Az eredeti licensz jogok akkor is érvényesek, ha a program
egy másik programba ágyazva kerül forgalmazásra.
•	 A licensz más szoftverek jogait nem korlátozhatja: Például nem követelhetjük meg, hogy egy
adott, általunk forgalmazott program minden eleme nyílt forráskódú legyen, ha az egyik eleme az.
•	 Technológiai semlegesség: A licensz nem követelhet meghatározott technológiák alkalmazását”
forrás: https://sites.google.com/site/szoftvermindenkinek/home/nyilt-forraskodu-szoftverek/tudasbazis-1
arduino.cc
[ Arduino fajtái ]
Több fajtája létezik, mi az órán az Arduino Duemilanove-t használjuk. A modulokat készen és KIT-ben
is meg lehet vásárolni, a programok ingyen letölthetők honlapunkról. A kapcsolások és a nyomtatott
áramköri tervek szintén hozzáférhetők és magáncélra szabadon felhasználhatók.
[ Arduino shieldek és Könyvtárak ]
Speciális kiegészítő modulok is kaphatóak hozzá, ezek egy adott feladat elvégzésére
képesek, egy az Arduino szoftverbe telepítendő Könyvtár is tartozik hozzájuk.
[ Arduino Duemilanove felépítése]
•	 Digitális pinek 14db (In/Out) áramerősségük 40mA. 0 (RX) és 1(TX) TTL soros port
kommunimációhoz van, RX fogad, TX küld. 2 és 3 pin külső megszakításhoz, a csatlakozón
fellépő fel- vagy lefutó él hatására fellépő megszakításkérés, ami a mikrovezérlő valamelyik
bemenetének értékváltozására generálódik. PWM pinek - pulse width modulation =
impulzus-szélesség moduláció, 8 biten működik. SPIpinek, 10-13, SPI busz (Serial Peripheral
Interface=soros periféria illesztő), az SPI Library-hez. LED 13 pin, a beépített LED van ide
kivezetve, HIGH (be) vagy LOW (ki) állapota lehet.
•	 Analóg pinek 6db. A4 és A5 I2C (TWI) busz kommunikáció, Wire Library-hez.AREF
ajánlott feszültség az analóg pinekhez, analogReference() -szel lehet meghívni. Reset ha a
shield-en van a reset gomb akkor ezt LOW-ra kell állítani.
•	 Áramot kezelő pinek: Vin=bemeneti feszültség, ha külső áramforrást használunk (USB
is ilyen, vagy ha rákötsz 9V elemet, akkor itt tudsz hozzáférni az áramhoz).Gnd=földelés.
5V=értelemszerűen 5V jön belőle. 3V3=az alaplapra szerelt FTDI chip által termelt 3,3V
feszültség, maximális áramerősség 50mA (az összes többinek 40mA).
•	 USB-n 5V-ton működik, ajánlott bementi feszültség 7-12V között.
•	 Atmega chip.
•	 Reset gomb.
[ Az Arduino szoftver felépítése]
Az Arduino Board-hoz egy Arduino nevű open source fejlesztőkörnyezet tartozik, aminek
legfrissebb verziója a hivatalos oldalról letölthető, háromféle operációs rendszerhez:
Windows-hoz, Mac OS X-hez és Linux-hoz. A letöltött fájlt kicsomagoljuk ha kell, és máris
futtathatjuk az Arduino szoftvert, nem kell külön telepíteni.
Letöltés erről a linkről lehetséges: http://arduino.cc/en/Main/Software
[ Programozás: szükséges minimum kód ]
Az Arduino által használ kódok, más néven Sketch-ek kiterjesztése a régebbi vezrióknál .pde volt, de
az 1.0 verzió óta már .ino kiterjesztést használ.
Arduino sketch írásnál a szükséges minimum a setup() és a loop() függvények meghívása (persze
ehhez írhatunk saját függvényeket, de e nélkül nem fog működni a kódunk). Ezek az úgynevezett
dedikált funkciók.
A setup funkció a program futtatásakor csak egyszer fut le az elején. Itt adhatjuk meg hogy melyik
pin-t hogyan akarjuk használni (bemenetként vagy kimenetként). Itt inicializáljuk a pineket
(értékadás 0-val). Itt hívjuk meg a soros portot.
A loop funkció, mint a neve is mutatja, többször fut le egymás után. A bemeneti és kimeneti
adatokat itt változtathatjuk.
Ezek dedikált funkciók, tehát be vannak építve a fejlesztőkörnyezetbe.
Void-dal kell őket meghívni: void setup(), void loop(). Kapcsos zárójel
jelzi a funkcióblokk elejét és végét. Kerek zárójelbe kerülnek a paraméterek.
Az utasítások végét pontosvasszővel jelezzük. Ha egysoros kommentet
akarsz írni azt dupla perjel // után megteheted, így nem zavar bele a kódba.
Ha hosszabb szöveget akarsz akkor azt /* ilyen jelek közé tedd be. */
harsanyireka.blog.hu
[ Szimulátor programok]
Ha nem rendelkezünk a fizikai eszközökkel, akkor hazsnálhatunk szimulátor programokat. Ezekben
lemodellezhetjük a projektünket, a beépített alkatrészek segítségével. Folyamatosan bővítik a
lehetőségeit, így érdemes mindig a legújabb verziókat használni. Fizetős és ingyenes verziója
egyaránt létezik. Egy példát konkrétan megemlítek, mivel az órán is ezt használjuk: Fritzing a neve.

fritzing.org
[ Arduino Könyvtárak ]
Számítástudományban a könyvtár olyan előre megírt
kódrészeket jelent amik meghatározott komplex
funkciók elvégzésére képesek. Osztályaik és függvényeik
felhasználásával a független programokban nincs szükség
ezen feladatok ismételt megoldására. Általánosságban olyan
csomagokként értelmezzük őket, amik szolgáltatásként
teszik elérhetővé a konfigurációs adatokat, konstansokat
és kódokat. Például egy matematikai könyvtár (Arduino
esetében a math.h) a programnyelvből közvetlenül nem
elérhető függvényeket írja le, mint a tangens, kotangens,
logaritmus, gyökvonás. A rendkívül hasznos függvényeken
túl, sok esetben bizonyos típusú hardware elemek
használatát könnyítik meg – operációs rendszer hiányában
ezeket a könyvtárakat felfoghatjuk úgy is mint eszközillesztő programokat (device driver). Mivel az Arduino egy
nyílt forrású, együttműködő közösség által is fejlesztett
rendszer, megkülönböztetünk hivatalos és kontribúciós
könyvtárakat. Az előbbieket standard-ként is szokás
nevezni, mivel kiforrottságuk miatt a fejlesztőkörnyezet
programcsomagjának részét képezik és olyan általános
funkciókat írnak le, amik végrehajtására minden Arduino
típus képes.
[ Do It Yourself - irány ]
Rövidítése DIY. Jelentése: Csináld magad. A készen kapott modulok helyett magunknak is
összerakhatunk funkcionális eszközöket, mivel az őket alkotó alapvető alkatrészek kaphatóak
szinte bárhol. Online részletes leírásokat is találhatunk.
[ Szenzorok, érzékelők ]
“Az érzékelő vagy szenzor olyan elem, amely egy mérendő tulajdonságtól függő jelet szolgáltat.
A mérendő tulajdonság és a jel egyaránt lehet fizikai, kémiai, biológiai stb. jellegű. Fontos,
hogy a mérendő tulajdonság, és az érzékelő által szolgáltatott jel egymásnak kölcsönösen
egyértelmű függvényei legyenek.”
http://hu.wikipedia.org/wiki/%C3%89rz%C3%A9kel%C5%91

Amit érzékelhet: fény, mozgás, mágneses tér, távolság, gyorsulás, páratartalom, hőmérséklet,
nyomás, érintés, stb. A fizikai, kémiai vagy biológiai változásokat elektromos jelekké alakítják.
Az alábbi lista nem teljes, inkább csak ízelítő: http://harsanyireka.blog.hu/2012/11/14/szenzorok
projektek a nagyvilágból
http://www.ted.com/talks/massimo_
banzi_how_arduino_is_open_sourcing_
imagination.html
8bit Arduino Synth, BKF
http://www.youtube.com/watch?v=pwz3uDah038

Spacescan
http://vimeo.com/4588043

DIY szenzor: Weekend Projects - Infrared Pulse Sensor
http://www.youtube.com/watch?v=psTa5ZrqAyo

Theremuino - an Infrared Arduino Theremin
http://vimeo.com/13950953

Arduino Air Drums
http://www.youtube.com/watch?v=jjvy_jzGlAQ

Pufination at Device_art 3.009 in Zagreb
http://vimeo.com/10216459

Arduino Wireless Animatronic Hand
http://www.youtube.com/watch?v=ZYKoNi48m9o

Multitouch Music Controller
http://vimeo.com/80744781

Laser Harp Fully Functional
http://www.youtube.com/watch?v=sLVXmsbVwUs

A Machines Sketchbook
http://vimeo.com/78110845

Botanicalls
http://www.youtube.com/watch?v=af6cayzWW1Y

Der Kritzler - scribbling “The Chancellor”
http://vimeo.com/27950453

AQUAGLTICH documentation
http://www.youtube.com/watch?v=KSfFE9ejFi8

Displaying information on the device
http://vimeo.com/19782102

Noisy Coat
http://www.youtube.com/watch?v=jnPdypKDQQs

Touch Board + MIDI
http://vimeo.com/79199354

Hesitating robot (Süti-nem süti)
http://www.youtube.com/watch?v=saTh8yI_eQk

Piano Gloves
http://vimeo.com/7992026
weboldalak
http://playground.arduino.cc/
projects/arduinoUsers
http://makezine.com/category/
electronics/arduino/
http://www.instructables.com/

tag/type-id/category-technology/channel-arduino/
http://fritzing.org/projects/
http://www.creativeapplications.net/
category/arduino-2/
projektek a BKF
media design szakról
[webow]
Roskó Máté munkája
Egyfajta barométerként szolgáló
dísztárgy, ami lehetővé teszi
a felhasználó számára hogy a
valós idejű időjárást vagy akár
az előrejelzést megtudja. Az
arduinohoz az adatok, egy Máté
által programozott applikáción
keresztül jutnak el a weboldaltól
a tárgyig. A fény színével és kis
ikonok fel-le mozgatásával jelzi
ki az időjárást. Fő célja az volt
ezzel a munkával, hogy ne kelljen
az információ megszerzéséhez
bekapcsolni semmilyen eszközt.
Valamint a design és funkció
összekapcsolása.
http://prezi.com/grko9ime5q_o/webow-diplomaprezi/?utm_campaign=share&utm_medium=copy

More Related Content

PPTX
Programozás és Digitális Tecnikák IV. - Timotei István Erdei & Zsolt Molnár
PDF
Pengeélen
PPTX
PPTX
QUADRILATERALS
PDF
Corporate Metabolism
PPTX
Arterylite
PDF
Dolgok Allasa - Veszprem 2014
PDF
Alpha 2012
Programozás és Digitális Tecnikák IV. - Timotei István Erdei & Zsolt Molnár
Pengeélen
QUADRILATERALS
Corporate Metabolism
Arterylite
Dolgok Allasa - Veszprem 2014
Alpha 2012

Viewers also liked (16)

PPT
Shemen
PDF
Chasing Egregors
PDF
Shemen
PDF
Globe exploration heb
PDF
Biofeedback alapú interakciók
PDF
南理工2012年研究生招生简章
DOCX
Net practicals lab mannual
PPSX
Firestarter Intro.Pps
PPTX
Finemore
PPT
TDeX Computer, Tradex Informática.
PDF
Harsanyi_Portfilo2001-2010
PPT
480 sensors
PDF
Spe prms
PPTX
Prezentacja stypendium z wyboru
PPTX
TENCE
PDF
Halliburton 2001 basic petroleum geology
Shemen
Chasing Egregors
Shemen
Globe exploration heb
Biofeedback alapú interakciók
南理工2012年研究生招生简章
Net practicals lab mannual
Firestarter Intro.Pps
Finemore
TDeX Computer, Tradex Informática.
Harsanyi_Portfilo2001-2010
480 sensors
Spe prms
Prezentacja stypendium z wyboru
TENCE
Halliburton 2001 basic petroleum geology
Ad

Similar to Arduino Prezi (BKF) (20)

PDF
ARDUINO PROGRAMOZ SI K ZIK NYV
PDF
Kangyerka hálózat alapú óravázlat
PPTX
Programozás és Digitális Tecnikák I. - Timotei István Erdei & Zsolt Molnár
PDF
Hardware hacking 1x1 by Dnet
PPT
00_Bevezetes_Generaciok_n.pptgewrhshhhhhhhhhhh
PDF
Guta Gábor, Kocsis Imre - Kiberfizikai rendszerek
PPT
Lego okt eszköz
PDF
NFC P2P, Bluetooth Low Energy adó-vevő készülék Androidos készülékhez
PPT
Alapfogalmak és összefüggések
PDF
Kártyák az Abacusan-ArTeC robotok programozásához
DOCX
Digitális óravázlat - Tóth Ádám Zoltán
PDF
Code.org értékelése
PDF
Android fejlesztés
DOCX
OH-DIG07TA__tanmenet.docx
PPTX
Játékos programozás micro:bit-ekkel (Kutatók Éjszakája 2017)
PDF
Led matrix-dokumentáció
DOCX
Málnasuli – projektterv
PPT
KRL Kuka Robot Language - Timotei István Erdei - Timotei-Robotics
PDF
Multiplatform mobil fejlesztések
PPT
Nyílt forrású, mobiltelefonos játékok az oktatásban
ARDUINO PROGRAMOZ SI K ZIK NYV
Kangyerka hálózat alapú óravázlat
Programozás és Digitális Tecnikák I. - Timotei István Erdei & Zsolt Molnár
Hardware hacking 1x1 by Dnet
00_Bevezetes_Generaciok_n.pptgewrhshhhhhhhhhhh
Guta Gábor, Kocsis Imre - Kiberfizikai rendszerek
Lego okt eszköz
NFC P2P, Bluetooth Low Energy adó-vevő készülék Androidos készülékhez
Alapfogalmak és összefüggések
Kártyák az Abacusan-ArTeC robotok programozásához
Digitális óravázlat - Tóth Ádám Zoltán
Code.org értékelése
Android fejlesztés
OH-DIG07TA__tanmenet.docx
Játékos programozás micro:bit-ekkel (Kutatók Éjszakája 2017)
Led matrix-dokumentáció
Málnasuli – projektterv
KRL Kuka Robot Language - Timotei István Erdei - Timotei-Robotics
Multiplatform mobil fejlesztések
Nyílt forrású, mobiltelefonos játékok az oktatásban
Ad

Arduino Prezi (BKF)

  • 1. Fizikai számítástechnika elektronikai alapok és arduino programozás Harsányi Réka és Juhász Márton András (társszerző) A fizikai számítástechnika óra célja, hogy a művész hallgatók hozzájuthassanak minimális elektronikai alapokhoz, megismerjék az arduino-t, ami egy nyílt forráskódú mikrokontroller. Ki és bemenetei alkalmasak arra hogy vezéreljenek eszközöket, és néhány vizuális programmal is összeköthetőek, így soros portként alkalmazható. Speciálisan művészek számára fejlesztették ki, saját programnyelvvel rendelkezik amit könnyű megérteni. Számos angol nyelvű lecke és könyv áll rendelkezésre ebben a témakörben. Ellenben magyar nyelvű nincs.
  • 2. [ Mi az a fizikai számítástechnika? ] Nem más mint annak a szemléletmódnak az elsajátítása, hogy miként kommunikálnak az emberek számítógépeken keresztül, ide értve akár a mikrokontrollereket is, amik vezérlési feladatokra optimalizált extra kicsi számítógépek. Így könnyen hozhatunk létre interakciókat. Ehhez viszont meg kell tanulnunk a megfelelő nyelvezetet, hogy hogyan változik át fény-, hang-, hő- (hatás), stb. elektromos jellé, és hogyan tudunk ezekhez az analóg adatokhoz hozzáférni és digitális jellé alakítani, valamint reagálni rájuk. Tanulunk szenzorokról, alacsony feszültségű motorokról. Ez egy aktív részvételt igénylő tanulási folyamat, ami azt jelenti, hogy sok időt kell eltölteni áramkörök építésével, forrasztással, programozással és mindezek elemzésével, megértésével. Persze mindezekkel párhuzamosan az elektronika alapjait is el kell sajátítaniuk a diákoknak. Azt, hogy melyek a legalapvetőbb alkatrészek és mik a tulajdonságaik, hogyan kell őket áramkörbe kötni. A fizikai számítástechnika fontos részét képezi még a DIY (do it yourself=csináld magad) vonal. Pl. némelyik szenzor otthon is elkészíthető megfelelő anyagokból, lényegesen költséghatékonyabban.
  • 3. [ Hogyan épül fel a tananyag? ] ELEKTRONIKAI ALAPOK Az első 6 fejezet az elektronika alapokra koncentrál: multiméter használata, Ohm és ellenállás, elektromosság, rövid áramkör, Volt és feszültség, Amper és áramerősség, olvadóbiztosíték használata, potméter, egyenáram és váltakozó áram, ellenállások és színkódolásuk, kísérletezés a feszültséggel, Watt és teljesítmény, alapvető mérések / mértékek / számítások, elemek soros és párhuzamos kötése, áramköri jelek kapcsolók működése, kondenzátor, Farad és kapacitás fogalma, dugaszolós panel felépítése és használata, nyomógomb: idő és kapacitás viszonya, feszültség ellenállás és kapacitás viszonya, tranzisztor: NPN / PNP, tranzisztor és jelfogó, áramkör ellenőrzése multiméterrel, kísérletezés hangszóróval: oszcillálás, alapvető forrasztási képesség elsajátítása, dióda, hálózati adapter hack, próbapanel használata és típusai, pulzáló fény egyszerű áramkörből, elemek élettartamának kiszámítása adott áramkörben, mágneses érzékelő/kapcsoló áramkörbe építve, integrált áramkörök, digitális elektronika, logikai kapu alapok és csatlakoztatásának szabályai, mágneses tekercs és indukció, DC stepper és servo motorok, játékokat működtető szerkezetek (hangra aktiválódó lézer, tapsszenzor, elemlámpa, led mátrix, lézerpointer,stb.)
  • 4. [ Hogyan épül fel a tananyag? ] ARDUINO ALAPOK A további fejezetek a hivatalos Arduino leckéket tartalmazzák 7. Arduino: bevezetés, arduino felépítése, program telepítése és használata, programozás lépésről lépésre, LED nyomógombbal, ki- és bemenetek, PWM, fényszenzor/fotoellenállás, analóg bemenet, soros kommunikáció, serial motor használata, motor meghajtása, hibakeresés 8. Arduino: operátorok, funkciók, szintaxisok; http://www.arduino.cc/en/Tutorial/HomePage hivatalos leckék: 1. alapok: kiolvasás digitális és analóg pinből, 2. digitális pinek: LED villogtatás, nyomógomb, hang, egyszerű nyomógombos billentyűzet 9. Arduino: hivatalos leckék: 3. analóg pinek: be- kimenet serial.print, bemenetbe potméter,LED fadeelése, analóg szenzor kalibrálása, PWM, egyenletes kiolvasás analóg szenzorból
  • 5. 10. Arduino: hivatalos leckék: 4. kommunikáció, Max MSP-vel, VVVV-vel, Processinggel: ASCII karakterkészlet, LED fade egérmozgatással, adat grafikon Processingben, fizikai pixel, virtuális szín keverő, meghívás ás válasz, soros bemenet – igaz vagy hamis állítások 11. Arduino: hivatalos leckék: 5. vezérlő struktúrák: if feltétel, for, array, while, switch állítás 12. Arduino: hivatalos leckék: 6. szenzorok: gyorsulásmérő szenzor kopogás észlelése piezo-val, ultrahangos távolságérzékelő; 7. kijelzők: LED dióda bargraph, 8x8 LED panel 13. Arduino: hivatalos leckék: 8. a string osztály, karakterek 14. Arduino: EEPROM, Ethernet, Firmata, LiquidCrystal, SPI – könyvtárak 15. Arduino: Servo, Software Serial, Stepper motor, Wire, és Arduino ISP - könyvtárak 16. Hivatkozások gyűjteménye
  • 6. [ Elektronikai alapok ] A diákok megismerkednek az alapvető alkatrészekkel és eszközökkel, miközben elektronikai eszközöket szerelnek szét és raknak össze utána valamilyen rendhagyó formában. Egyúttal belekóstolnak a koncepció tervezásbe is, mivel adott témakörben kell fiktív alkotásokat létrehozniuk. A BKF történetében már megvalósult ezekből egy kiállítás Rekreátorok címmel. Az erről készült dokumentumfilm itt látható: https://www.youtube.com/watch?v=V6fzfaAOEb4 A fizikai számítástechnika órán belül ez a blokk egy áttekintésre, jobb megértésre szolgál. Mivel a fókusz az arduino programozáson van.
  • 7. [ Mi az az Arduino? ] Egyrészt egy mikrokontroller, másrészt a programozási környezet neve. Több fajtája létezik, mi az órán az Arduino Duemilanove-t használjuk. Az Arduino egy nyílt forrású gyors prototipizáláshoz ideális mikrokontroller modul. Használata a világos felépítésű elektronikának és jól értelmezhető programnyelvnek köszönhetően könnyen és gyorsan elsajátítható. Hirtelen elterjedése interaktív művészeti alkotásokban, hobbi alkalmazásokban és gyors vezérléstechnikai megoldások kivitelezésében egy jól kiépült nemzetközi tudásbázist hozott létre, hozzáférhetővé téve az elektronika egyszerű használatát minden érdeklődő számára. Sokrétű ki és bemenetein keresztül fel tudja venni a kapcsolatot bármilyen jellegű szenzorral és programjának megfelelő válaszadásra képes, meghajtva lámpákat, motorokat, kijelzőket... A mikrokontrollert Arduino nyelven lehet programozni ami a Wiring nyelvén alapszik, felhasználói felületét pedig a Processing alapja nyújtja. Az Arduino egyedülálló áramkörként is működtethető, vagy összekapcsolható számítógéppel amin Flash, Processing, MaxMSP, GarageBand, illetve egyéb soros kommunikációra képes programokkal képes együttműködni. Az Arduino a 2006-os Ars Electronica digitális közösségek szekciójában is elismerésben részesült. A csapat: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, és David Mellis. Készült egy dokumentum film is az Arduino fejlesztéséről (angolul elérhető). https://vimeo.com/18539129
  • 8. [ Mi az hogy Open Source? ] Az Open Source a számítástechnika világában népszerű kifejezés. Jelentése: nyílt forráskód. Az ilyen programok forráskódjához bárki hozzáférhet és kedvére alakíthatja, módosíthatja, mi több a módosítást üzletileg is termékké teheti. A a programok ingyen letölthetők honlapukról (arduino.cc). A kapcsolások és a nyomtatott áramköri tervek szintén hozzáférhetők és magáncélra szabadon felhasználhatók. “Az Open Source - Nyílt forráskódú szoftver jelentése: Jelentős vita alakult ki a két tábor között, annak eldöntésére, hogy melyik fogalom létezett előbb és, hogy melyik fogalom illik jobban, gyakorlatilag két nagyon hasonló szoftver kategóriára. A valóságban a Free Software és az Open Source Software fogalmi meghatározása majdnem teljesen fedi egymást. Talán a Free Software nagyobb szabadságfokot enged meg a felhasználóknak, mint az Open Source, ezekre az eltérésekre érdemes odafigyelni, amikor egy adott szoftver felhasználási feltételeit olvassuk.” forrás: https://sites.google.com/site/szoftvermindenkinek/home/nyilt-forraskodu-szoftverek/tudasbazis-1
  • 9. “Az Open Source meghatározása: Talán a legpontosabb meghatározást az Open Source Initiative - OSI (Nyílt Forráskód kezdeményezés) http://www.opensource.org adja és e szerint a Szabad Forráskódú Rendszereknek 10 követelménynek kell eleget tenniük: • Szabad terjeszthetőség: A licensz nem tilthatja meg a szoftver ingyenes terjesztését • Forrás kód: A programnak tartalmaznia kell a forráskódot, vagy szabad hozzáférést a forráskódhoz • Származtatott munka: A licensznek lehetővé kell tennie a program megváltoztatását, illetve származtatott munkák elvégzését. • A szerző forráskódjának integritása: A licensz megkövetelheti, hogy a megváltoztatott programok az eredetitől eltérő névvel és verziószámmal kerüljenek forgalomba. • Személyek diszkriminációjának tilalma: a licensz egyetlen személyt, vagy személyek csoportját sem diszkriminálhatja • Felhasználási területek diszkriminációjának tilalma: A licensz nem lehet diszkriminatív egyetlen felhasnálási területtel szemben sem • Licensz jogainak terjeszthetősége: A licensz jogok mindenkire egyformán vonatkoznak, legyen az elsődleges felhasználó, vagy továbbfelhasználó • A licensz nem lehet termék specifikus: Az eredeti licensz jogok akkor is érvényesek, ha a program egy másik programba ágyazva kerül forgalmazásra. • A licensz más szoftverek jogait nem korlátozhatja: Például nem követelhetjük meg, hogy egy adott, általunk forgalmazott program minden eleme nyílt forráskódú legyen, ha az egyik eleme az. • Technológiai semlegesség: A licensz nem követelhet meghatározott technológiák alkalmazását” forrás: https://sites.google.com/site/szoftvermindenkinek/home/nyilt-forraskodu-szoftverek/tudasbazis-1
  • 11. [ Arduino fajtái ] Több fajtája létezik, mi az órán az Arduino Duemilanove-t használjuk. A modulokat készen és KIT-ben is meg lehet vásárolni, a programok ingyen letölthetők honlapunkról. A kapcsolások és a nyomtatott áramköri tervek szintén hozzáférhetők és magáncélra szabadon felhasználhatók.
  • 12. [ Arduino shieldek és Könyvtárak ] Speciális kiegészítő modulok is kaphatóak hozzá, ezek egy adott feladat elvégzésére képesek, egy az Arduino szoftverbe telepítendő Könyvtár is tartozik hozzájuk.
  • 13. [ Arduino Duemilanove felépítése] • Digitális pinek 14db (In/Out) áramerősségük 40mA. 0 (RX) és 1(TX) TTL soros port kommunimációhoz van, RX fogad, TX küld. 2 és 3 pin külső megszakításhoz, a csatlakozón fellépő fel- vagy lefutó él hatására fellépő megszakításkérés, ami a mikrovezérlő valamelyik bemenetének értékváltozására generálódik. PWM pinek - pulse width modulation = impulzus-szélesség moduláció, 8 biten működik. SPIpinek, 10-13, SPI busz (Serial Peripheral Interface=soros periféria illesztő), az SPI Library-hez. LED 13 pin, a beépített LED van ide kivezetve, HIGH (be) vagy LOW (ki) állapota lehet. • Analóg pinek 6db. A4 és A5 I2C (TWI) busz kommunikáció, Wire Library-hez.AREF ajánlott feszültség az analóg pinekhez, analogReference() -szel lehet meghívni. Reset ha a shield-en van a reset gomb akkor ezt LOW-ra kell állítani. • Áramot kezelő pinek: Vin=bemeneti feszültség, ha külső áramforrást használunk (USB is ilyen, vagy ha rákötsz 9V elemet, akkor itt tudsz hozzáférni az áramhoz).Gnd=földelés. 5V=értelemszerűen 5V jön belőle. 3V3=az alaplapra szerelt FTDI chip által termelt 3,3V feszültség, maximális áramerősség 50mA (az összes többinek 40mA). • USB-n 5V-ton működik, ajánlott bementi feszültség 7-12V között. • Atmega chip. • Reset gomb.
  • 14. [ Az Arduino szoftver felépítése] Az Arduino Board-hoz egy Arduino nevű open source fejlesztőkörnyezet tartozik, aminek legfrissebb verziója a hivatalos oldalról letölthető, háromféle operációs rendszerhez: Windows-hoz, Mac OS X-hez és Linux-hoz. A letöltött fájlt kicsomagoljuk ha kell, és máris futtathatjuk az Arduino szoftvert, nem kell külön telepíteni. Letöltés erről a linkről lehetséges: http://arduino.cc/en/Main/Software
  • 15. [ Programozás: szükséges minimum kód ] Az Arduino által használ kódok, más néven Sketch-ek kiterjesztése a régebbi vezrióknál .pde volt, de az 1.0 verzió óta már .ino kiterjesztést használ. Arduino sketch írásnál a szükséges minimum a setup() és a loop() függvények meghívása (persze ehhez írhatunk saját függvényeket, de e nélkül nem fog működni a kódunk). Ezek az úgynevezett dedikált funkciók. A setup funkció a program futtatásakor csak egyszer fut le az elején. Itt adhatjuk meg hogy melyik pin-t hogyan akarjuk használni (bemenetként vagy kimenetként). Itt inicializáljuk a pineket (értékadás 0-val). Itt hívjuk meg a soros portot. A loop funkció, mint a neve is mutatja, többször fut le egymás után. A bemeneti és kimeneti adatokat itt változtathatjuk. Ezek dedikált funkciók, tehát be vannak építve a fejlesztőkörnyezetbe. Void-dal kell őket meghívni: void setup(), void loop(). Kapcsos zárójel jelzi a funkcióblokk elejét és végét. Kerek zárójelbe kerülnek a paraméterek. Az utasítások végét pontosvasszővel jelezzük. Ha egysoros kommentet akarsz írni azt dupla perjel // után megteheted, így nem zavar bele a kódba. Ha hosszabb szöveget akarsz akkor azt /* ilyen jelek közé tedd be. */
  • 17. [ Szimulátor programok] Ha nem rendelkezünk a fizikai eszközökkel, akkor hazsnálhatunk szimulátor programokat. Ezekben lemodellezhetjük a projektünket, a beépített alkatrészek segítségével. Folyamatosan bővítik a lehetőségeit, így érdemes mindig a legújabb verziókat használni. Fizetős és ingyenes verziója egyaránt létezik. Egy példát konkrétan megemlítek, mivel az órán is ezt használjuk: Fritzing a neve. fritzing.org
  • 18. [ Arduino Könyvtárak ] Számítástudományban a könyvtár olyan előre megírt kódrészeket jelent amik meghatározott komplex funkciók elvégzésére képesek. Osztályaik és függvényeik felhasználásával a független programokban nincs szükség ezen feladatok ismételt megoldására. Általánosságban olyan csomagokként értelmezzük őket, amik szolgáltatásként teszik elérhetővé a konfigurációs adatokat, konstansokat és kódokat. Például egy matematikai könyvtár (Arduino esetében a math.h) a programnyelvből közvetlenül nem elérhető függvényeket írja le, mint a tangens, kotangens, logaritmus, gyökvonás. A rendkívül hasznos függvényeken túl, sok esetben bizonyos típusú hardware elemek használatát könnyítik meg – operációs rendszer hiányában ezeket a könyvtárakat felfoghatjuk úgy is mint eszközillesztő programokat (device driver). Mivel az Arduino egy nyílt forrású, együttműködő közösség által is fejlesztett rendszer, megkülönböztetünk hivatalos és kontribúciós könyvtárakat. Az előbbieket standard-ként is szokás nevezni, mivel kiforrottságuk miatt a fejlesztőkörnyezet programcsomagjának részét képezik és olyan általános funkciókat írnak le, amik végrehajtására minden Arduino típus képes.
  • 19. [ Do It Yourself - irány ] Rövidítése DIY. Jelentése: Csináld magad. A készen kapott modulok helyett magunknak is összerakhatunk funkcionális eszközöket, mivel az őket alkotó alapvető alkatrészek kaphatóak szinte bárhol. Online részletes leírásokat is találhatunk.
  • 20. [ Szenzorok, érzékelők ] “Az érzékelő vagy szenzor olyan elem, amely egy mérendő tulajdonságtól függő jelet szolgáltat. A mérendő tulajdonság és a jel egyaránt lehet fizikai, kémiai, biológiai stb. jellegű. Fontos, hogy a mérendő tulajdonság, és az érzékelő által szolgáltatott jel egymásnak kölcsönösen egyértelmű függvényei legyenek.” http://hu.wikipedia.org/wiki/%C3%89rz%C3%A9kel%C5%91 Amit érzékelhet: fény, mozgás, mágneses tér, távolság, gyorsulás, páratartalom, hőmérséklet, nyomás, érintés, stb. A fizikai, kémiai vagy biológiai változásokat elektromos jelekké alakítják. Az alábbi lista nem teljes, inkább csak ízelítő: http://harsanyireka.blog.hu/2012/11/14/szenzorok
  • 23. 8bit Arduino Synth, BKF http://www.youtube.com/watch?v=pwz3uDah038 Spacescan http://vimeo.com/4588043 DIY szenzor: Weekend Projects - Infrared Pulse Sensor http://www.youtube.com/watch?v=psTa5ZrqAyo Theremuino - an Infrared Arduino Theremin http://vimeo.com/13950953 Arduino Air Drums http://www.youtube.com/watch?v=jjvy_jzGlAQ Pufination at Device_art 3.009 in Zagreb http://vimeo.com/10216459 Arduino Wireless Animatronic Hand http://www.youtube.com/watch?v=ZYKoNi48m9o Multitouch Music Controller http://vimeo.com/80744781 Laser Harp Fully Functional http://www.youtube.com/watch?v=sLVXmsbVwUs A Machines Sketchbook http://vimeo.com/78110845 Botanicalls http://www.youtube.com/watch?v=af6cayzWW1Y Der Kritzler - scribbling “The Chancellor” http://vimeo.com/27950453 AQUAGLTICH documentation http://www.youtube.com/watch?v=KSfFE9ejFi8 Displaying information on the device http://vimeo.com/19782102 Noisy Coat http://www.youtube.com/watch?v=jnPdypKDQQs Touch Board + MIDI http://vimeo.com/79199354 Hesitating robot (Süti-nem süti) http://www.youtube.com/watch?v=saTh8yI_eQk Piano Gloves http://vimeo.com/7992026
  • 30. projektek a BKF media design szakról
  • 31. [webow] Roskó Máté munkája Egyfajta barométerként szolgáló dísztárgy, ami lehetővé teszi a felhasználó számára hogy a valós idejű időjárást vagy akár az előrejelzést megtudja. Az arduinohoz az adatok, egy Máté által programozott applikáción keresztül jutnak el a weboldaltól a tárgyig. A fény színével és kis ikonok fel-le mozgatásával jelzi ki az időjárást. Fő célja az volt ezzel a munkával, hogy ne kelljen az információ megszerzéséhez bekapcsolni semmilyen eszközt. Valamint a design és funkció összekapcsolása. http://prezi.com/grko9ime5q_o/webow-diplomaprezi/?utm_campaign=share&utm_medium=copy