2016.11.17.
09:58

Írta: harsanyireka

Random betű generátor, 7x5 dot matrixon

TC07-11EWA Dot Matrix LED Display, CC 7 x 5

f4516644-01.jpg

l0247314-10.gif

l0247315-10.gif

 

forrás: http://uk.rs-online.com/web/p/led-displays/4516644/

----------

 

ARDUINIO - RANDOM BETŰ GENERÁTOR

Bekötése:

fi5e37wh347ff6r_medium.jpg

(470 Ohm ellenállások minden egyes Arduino pinhez 0-6 és az adott LED matrix pinek között)

Arduino pin/LED matrix pin
0/6 (Sor 7)
1/5 (Sor 6)
2/4 (Sor 5)
3/9 (Sor4)
4/2 (Sor 3)
5/11 (Sor 2)
6/12 (Sor 1)

8/1 (Oszlop 1)
9/3 (Oszlop 2)
10/10 (Oszlop 3)
11/7 (Oszlop 4)
12/8 (Oszlop 5)

Nyomógomb az arduino 7 pinjébe van bekötve (10kOhm ellenállás kell hozzá).

 

KÓD letöltése.

forrás: http://www.instructables.com/id/Arduino-random-letter-generator/

----------

 

LED GRID
https://github.com/ericlathrop/LedGrid

https://www.youtube.com/watch?v=Z6Wv3CiSTfo

 

 

Szólj hozzá!

Címkék: LED panel

2016.11.03.
11:22

Írta: harsanyireka

rn42xvp bluetooth modul

rn42bt.jpg

_-2016-06-21-0_31_56-400x400_1.png

 

forrás: http://design-lab.tuqulore.com/arduion_with_bluetooth/
http://qiita.com/ono4ji/items/84061d29fe015e39b860

 

bekötése:

* 3.3V -> Vcc
* GND -> GND
* D10 -> RX(1KΩ, 510Ω)
* D11 -> TX

4a0449c8-8963-2101-4df9-a2c482c7bb04.png

 

 

Adatátviteli sebesség (baudrate) beállítása: 
https://github.com/ono4ji/handsignglove/blob/master/sketch_bluetoothBaudRateSetting/sketch_bluetoothBaudRateSetting.ino

Állítsd a soros portot 115200-ra (alapértelmezett) és írd be a parancsot! Ezzel átállítottad 9600bps-re az adatátviteli sebességet:

s[enter]
b[enter]
r[enter]

c6947210-b7a6-a86a-1ed0-d7eee6f06a3e.png

 

HID
https://github.com/ono4ji/handsignglove/blob/master/sketch_bluetoothHIDsetting/sketch_bluetoothHIDsetting.ino

9600 bps-sel írd be a következő parancsokat!

s[enter]
d[enter]
m[enter]
p[enter]
k[enter]
n[enter]
d[enter]
r[enter]

4bfeedcf-308d-15b3-1110-e3b640cb6cd6.png

 

Szólj hozzá!

Címkék: bluetooth

2016.11.03.
10:59

Írta: harsanyireka

7-szegmensű LED kijelző

forrás: http://www.exploreembedded.com/wiki/index.php?title=5_Display_numbers_on_Seven_Segment_Display 

bekötése: 220 Ohm ellenállásokkal

680px-arduino_display_numbers_on_seven_segment_display.JPG

 

 kód letöltés

 

 

Szólj hozzá!

Címkék: LED panel 7-szegmens

2014.06.22.
18:00

Írta: harsanyireka

14. /2) Könyvtárak hasznos eszközökhöz: motorok, programozó

Lektorált tananyag, ami a BKF Digitális és Kollaboratív Művészet (DIKOM) pályázatnak keretén belül valósult meg.

Szerző: Harsányi Réka, Társszerző: Juhász Márton András, Lektor: Fernezelyi Márton

 

Servo könyvtár

A szervomotorok olyan aktuátorok, melyek a visszacsatolás elvén működnek. A legegyszerűbb esetben a szervo tengelyét elfordító motor egy áttételen keresztül egy potmétert is elforgat, ami egy komparátor áramkör egyik bemenetéhez kapcsolódik. A komparátor egyszerű analóg integrált áramkör, amit legegyszerűbben úgy képzelhetünk el, mint egy mérleget. A szervo esetében a „mérleg” egyik oldalán a potméter – és így a tengely – állapota, a másik oldalán a szervo bemenetére adott feszültségszint a „súly”, a „mérleg nyelve” pedig a motor elfordulási irányát és erejét reprezentálja. Ily módon meghatározott feszültségszinteknek megfeleltethetők a motortengely állásának szögei. A Servo könyvtárral az Arduino PWM képes kimeneteit felhasználva, a csatlakoztatott szervomotorokat az elfordulás szögének megadásával irányíthatjuk. Miután a potméter nem képes a körbeforgásra, a megadható szögek 0 és 180 fok közé esnek és mindig egész számok.

14.4. †bra Szervomotor szerkezete.png

Szervomotor szerkezete 

(A bonyolultabb felépítésű szervomotorok komparátor helyett digitális jelfeldolgozást is végeznek. A potméter szerepét optikai vagy mágneses kódtárcsa váltja fel és a kommunikáció a motorral digitális buszon zajlik.) Hobbi és modellezési célra három méretben szabványosították a szervokat. Alaptípusaikat tekintve megkülönböztetünk nagy nyomatékú és nagy sebességű motorokat. Mindegyikre jellemző, hogy három vezeték tartozik hozzájuk: föld (barna/fekete), táp (piros) és vezérlés (narancs/fehér).

 

Amire szükség lesz:

-       Arduino,

-       hobbi szervomotor,

-       10 kiloohmos potméter.

 

Kapcsolás:

Kössük be a potméterünket feszültségosztóként, a közepét pedig az A0 analóg bemenetre. A szervomotor tápkábeleit az Arduino 5 V-os tápvezetékeihez, vezérlőkábelét a 9-es PWM kimenethez csatlakoztassuk.

 14.5. †bra Szervomotor Çs potmÇter bekîtÇse.png

Szervomotor és potméter bekötése

 

Arduino kód: 75szervo

 

attach()

Szervo objektumhoz fizikai csatlakozó címét köti.

Szintaxisa:

Servo.attach(pin),

Servo.attach(pin, min, max).

Paraméterei:

Servo: Servo típusú változó,

pin: a PWM képes kimenet, amire a motor vezérlését kötöttük,

min: a vezérlőimpulzus szélességének minimuma mikroszekundumokban kifejezve, alapállapotban 544 és ez feleltethető meg a motoron a 0 foknak. Opcionális finomhangolásra ad lehetőséget.

max: a vezérlőimpulzus szélességének maximuma, alapállapotban 2400 mikroszekundum.

 

write()

A megadott pozícióba mozgatja a szervomotort. Szabvány szervo esetén a megadott szögnek megfelelően mozdul el a motor tengelye. (Ha szétszedjük a szervomotort és a potméter helyére két egyforma értékű ellenállást teszünk, mintha a potméter mindig középen állna, akkor folyamatosan forgó mozgást végző motort fogunk kapni, aminek ez a parancs a sebességét fogja állítani. 180 esetén az egyik irányba forog teljes sebességgel, 0 esetén a másikba és 90-nél megáll.)

Szintaxisa:

Servo.write(val).

Paramétere:

Servo: Servo típusú változó,

val: a szög, ahová a motort fordítani szeretnénk.

 

writeMicroseconds()

Abban az esetben, ha precízebb mozgatásra van szükségünk, célszerű nem szögértékben megadni az elfordulás mértékét, hanem a vezérlő impulzus szélességét közvetlenül mikroszekundumokban. Ideális esetben 1000 körül az óramutató járásának megfelelő irányú végállapotot, 2000 körül az ellenkező végállapotot és 1500 körül a középső állapotot kellene jelentenie. Ez a gyakorlatban nem jellemző, valahol 700 és 2300 körüli értékek az irányadók. 

Szintaxisa:

Servo.writeMicroseconds(val). 

Paramétere:

Servo: Servo típusú változó,

val: impulzus szélessége mikroszekundumokban.

 

read()

Visszaadja a write() utasításnak legutoljára megadott értéket. 

Szintaxisa:

Servo.read().

 

attached()

Megvizsgálja, hogy egy Servo objektumhoz kötöttünk-e fizikai csatlakozót. Bool típusú változót ad vissza.

Szintaxisa:

Servo.attached().

 

detach()

Megszünteti a Servo objektum fizikai címhez kötését.

Szintaxisa:

Servo.detach(pin).

Paraméterei:

Servo: Servo típusú változó,

pin: a PWM képes kimenet, amire a motor vezérlését kötöttük.

 

Stepper Motor könyvtár

A léptetőmotorok olyan egyenáramú motorok, amiknek az állórésze több elektromágnest tartalmaz. A tengelyen elhelyezett aktív mágnest (forgórész) az egymás után szekvenciálisan be-/kikapcsolt elektromágnesek kis lépésekben elfordítják. Jelentőségük az, hogy visszacsatolás nélkül nagy pontosságú és apró lépésekből álló forgómozgást lehet velük elérni. Két alaptípust különböztetünk meg az elektromágnesek tekercseinek kivezetései alapján. Az unipoláris motorok esetén minden tekercs egyik vége közös vezetékként hagyja el a motor burkolatát, míg a bipoláris motorok esetén a tekercsek kivezetései szabadon állnak.

14.6. †bra Unipol†ris lÇptetãmotor v†zlatrajza.png

Unipoláris léptetőmotor vázlatrajza 

A tekercseket meghatározott rendben kell működtetni, hogy a felépülő mágneses tér négy lépésben fordítson a tengelyen:

 

lépés 1 tekercs 2 tekercs 3 tekercs 4 tekercs
1 magas alacsony magas alacsony
2 alacsony magas magas alacsony
3 alacsony magas alacsony magas
4 magas alacsony magas alacsony


Logikai jelek a negyed lépésekhez
 

 

A léptetőmotorokat leíró legfontosabb adat, hogy egy lépés alatt hány fokot fordulnak el. Egy 1,8 fok/lépés precizitású motor 200 lépésben fordul teljesen körbe, tehát a 14.1 táblázatban látható lépéseket fordulatonként 200-szor kell megismételni.

 

Unipoláris léptetőmotorok

A léptetőmotorok általában több áramot vesznek fel működésükhöz, mint amennyit az Arduino digitális csatornáin keresztül kezelni képes, és sok esetben a működésükhöz szükséges feszültség sem 5 V, hanem magasabb. Az alábbi kapcsolásban szereplő integrált áramkör az ULN2004 egy teljesítmény-tranzisztorokból álló úgynevezett Darlington sor. Univerzálisan felhasználhatjuk az Arduino kimeneteinek erősítésére, csatornánként 50 V-ig 500 mA-t képes kapcsolni. Minden bemenetre adott magas szintű jel a bemenethez tartozó kimenet és a föld közé kötött fogyasztót üzembe helyezi. A COM jelzésű lábon kell, legyen az a közös tápfeszültség, amit az IC-vel kapcsoltatni szeretnénk.

14.7. †bra ULN2804, mint lÇptetãmotor meghajt¢.jpeg ULN2804, mint léptetőmotor meghajtó

Az unipoláris motorok általában 5 vagy 6 kivezetéssel rendelkeznek. A vezetékek közül 4 a forgórészt körülfogó tekercsek egy-egy vége, az ötödik pedig az összes tekercs másik vége egy vezetéken. Amennyiben 6 vezetéket látunk, akkor a motorban két tekercs van, amik két-két vége az első négy kivezetés, az ötödik és hatodik elvezetések pedig a tekercsek közepére csatlakoznak. A tekercsek ellenállásának megmérésével – egy műszer segítségével – kikövetkeztethetjük, hogy melyik kivezetés hová tartozik. A közös elvezetés egyben azt is jelenti, hogy a tekercsek és a mágneses tér polaritása mindig ugyanaz lesz.

Arduino motor-shield Çs lÇptetã motor.jpg

Arduino motor-shield és léptető motor

 

Bipoláris léptetőmotorok

Bipoláris motorok esetén a tengely forgatásához az elektromágnesek polaritását is meg kell változtatni, ezért a két tekercs mindkét kivezetése szabadon áll. A polaritás megváltoztatásának legegyszerűbb módja H-híd kapcsolással valósítható meg, ami négy tranzisztorból álló áramkör. Képzeljük el úgy, mint négy kapcsolót, amik közül kettő a tápvezetékek pozitív, kettő pedig a negatív ágát tudja kapcsolni. Amikor (14.8. ábra) S1 és S4 megszakítja, S2 és S3 zárja az áramkört, az áram az M-mel jelölt motorban az egyik irányba folyik. Megfordítva a kapcsolók állását, az áram iránya is megfordul, csakúgy, mint a tekercs által keltett mágneses tér polaritása.

 14.8. †bra H-h°d kapcsol†s funkcion†lis rajza.jpeg

H-híd kapcsolás funkcionális rajza 

 

A gyakorlatban használhatunk integrált H-híd áramkört (pl. L293D) két egyenáramú motorok forgásirányának váltására vagy egy bipoláris léptetőmotor meghajtására. 

 14.9. †bra L293D integr†lt H-h°d bekîtÇse bipol†ris lÇptetãmotorral.gif

L293D integrált H-híd bekötése bipoláris léptetőmotorral

 

Amennyiben nem szeretnénk az áramkörök megépítésével fáradozni, különféle motorok meghajtására a legkézenfekvőbb az Adafruit által gyártott MotorShield. A kiegészítő modul tartalmaz két darab L293D-t és a vezérlésüket leegyszerűsítő logikai áramkört. Alkalmazásával egyidejűleg meg tudunk hajtani 4 db egyenáramú motort, vagy két léptetőmotort és mindezektől függetlenül két szervomotort is.

 14.10. †bra Adafruit MotorShield.jpeg

Adafruit MotorShield

 

A stepper motor könyvtár használata

Amire szükség lesz:

-       Arduino,

-       unipoláris vagy bipoláris léptetőmotor,

-       ULN2804 vagy L293D vagy Adafruit MotorShield,

-       10 kiloohmos potméter.

 

Kapcsolások:

 14.1.4._uj01_bipolar_stepper_two_pins2.png

2 pines bipoláris stepper motor L293D H-híddal

 14.1.4._uj02_bipolar_stepper_four_pins.jpg

4 pines bipoláris stepper motor L293D H-híddal

 

A fentieknek megfelelően csatlakoztassunk egy léptetőmotort, és jegyezzük meg, melyik tekercs melyik Arduino kivezetéssel hozható működésbe. A potmétert feszültségosztóként a középső kivezetésével az A0 analóg bemenetre kössük.

 

Arduino kód: 76sztepper

 

A stepper motor könyvtár függvényei

Stepper()

Létrehozza a Stepper osztály egy példányát a megadott lépésszámmal és tekercsekhez tartozó Arduino csatornákkal.

Szintaxisa:

Stepper(steps, pin1, pin2),

Stepper(steps, pin1, pin2, pin3, pin4).

Paraméterei:

steps: az egy körülforduláshoz szükséges lépések száma (motortól függ),

pin1, pin2: kétvezetékes meghajtás esetén (kiegészítő logikai áramkör szükséges) a meghajtó vezérléséhez használt csatornák száma,

pin1, pin2, pin3, pin4: négyvezetékes meghajtás esetén a tekercsekhez tartozó csatornák száma.

Példakód:

Stepper myStepper = Stepper(200,4,5,6,7);

 

setSpeed()

Beállítja a motor forgási sebességét a megadott fordulat/perc alapján.

Szintaxisa:

Stepper.setSpeed(rpm). 

Paraméterei:

Stepper: Stepper osztály példánya,

rpm: forgási sebesség fordulat/percben.

 

step()

Adott számú lépést hajtat végre a motorral. Ha a megadott érték pozitív, akkor egyik, ha negatív, akkor a másik irányba forgat. Ez a függvény megvárja, amíg a motor megteszi a lépéseket.

Szintaxisa:

Stepper.step(steps).

Paraméterei:

Stepper: Stepper osztály példánya,

steps: lépések száma, polaritása a forgás irányát határozza meg.

 

 

Arduino, mint ISP

Az Arduino legnagyobb előnye és egyszerű használatának kulcsa, hogy a fejlesztőkörnyezetből – minden egyéb eszköz nélkül – az USB porton keresztül feltölthetjük a megírt programot, ami ezt követően futtatásra kerül. Az állandó program, ami ezt lehetővé teszi, az Arduino firmware-e, az úgynevezett bootloader. (Az ICSP csatlakozó SPI kommunikációs funkciójának tárgyalásakor már említettük (14.1.5.), hogy a bootloader feltöltése miatt ez a felület az összes típusú lapkán megtalálható.) Az ISP (In System Programmer) egy olyan eszköz, amivel bootloader nélküli mikrokontrollerbe tölthetünk fel kódot. A környezet példakódjai között megtaláljuk az ArduinoISP firmware-t, ami AVR ISP eszközzé alakítja az Arduinot. Lehetséges alkalmazások közül az egyik leghasznosabb a tönkrement kontrollerű Arduinok javítása – elegendő kivenni a tokjából a rossz IC-t és a helyére került újba beégetni a bootloadert egy másik Arduino segítségével. Készíthetünk egyetlen kontrollerből is költséghatékony Arduinot ugyanezzel a módszerrel.

 

Instrukciók bootloader beégetéséhez:

  1. Töltsük fel a programozóként használni kívánt Arduinora az ArduinoISP kódot.
  2. Tegyünk egy 10 uF-os kondenzátort a programozó RESET lába és a föld közé.
  3. Kössük be a programozandó eszközt az alábbi példák egyike szerint.
  4. Válasszuk ki a Board menüből a programozandó eszköz típusát.
  5. Burn bootloader menüből válasszuk az Arduino és ISP parancsot.

 

Arduino programozása Arduinoval

14.11. †bra UNO, Duemilanove, Diecimila programoz†sa.png

UNO, Duemilanove, Diecimila programozása

 

ATmega mikrokontroller programozása Arduinoval

Abban az esetben, ha egy feladat ellátásához nincs szükség az Arduino USB csatlakozójára és már megírtunk egy jól működő programot, feltölthetjük egy szabadon álló mikrokontrollerre, ami ugyanúgy fogja végrehajtani azt, mint az Arduinonk.

14.12. †bra Atmega168 Çs Atmega328 l†bkioszt†sa Çs az Arduino megfelelã csatorn†i.png 

Atmega168 és Atmega328 lábkiosztása és az Arduino megfelelő csatornái

 

14.13. †bra Atmega programoz†sa.png

Atmega programozása

 

 

forrás: http://arduino.cc/en/Tutorial/HomePagehttp://arduino.cc/en/reference/stepperhttp://arduino.cc/en/reference/servohttp://arduino.cc/en/Tutorial/ArduinoISP

Szólj hozzá!

Címkék: motorok leckék könyvtárak stepper servo ISP lektorált

2014.06.22.
17:18

Írta: harsanyireka

14. /1) Könyvtárak hasznos eszközökhöz: háttértár, kijelző

Lektorált tananyag, ami a BKF Digitális és Kollaboratív Művészet (DIKOM) pályázatnak keretén belül valósult meg.

Szerző: Harsányi Réka, Társszerző: Juhász Márton András, Lektor: Fernezelyi Márton 

 

EEPROM könyvtár

Az Arduino három különböző típusú memóriával rendelkezik, az egyes típusok kapacitása a mikrokontroller fajtájától függ:

  • Flash: Többszörösen újraírható memória, tartalma az eszköz kikapcsolását követően is megmarad. A fejlesztőkörnyezet által lefordított kódunk itt tárolódik gépi utasítások formájában.
  • RAM: Gyors hozzáférésű memória s programunk futtatása közben ideiglenesen tárolt adatok számára. Tartalma kikapcsoláskor elvész.
  • EEPROM: Flashnél régebbi technológia a kikapcsolást követően is megőrzendő adatok, konfigurációs beállítások, kezdeti állapotok, hosszabb szövegek eltárolásához. Nagyságrendileg 100.000 törlés az életideje.

Az EEPROM könyvtár azokat a funkciókat fogja össze, amikkel bájtonként tudjuk írni és olvasni a beépített memória ezen típusát. Az Arduino Mega kontrollerének (ATmega1280 és ATmega2560) 4096, az UNO és Duemilanove (ATmega328) 1024, a Diecimila, NG (ATmega168) és Digital (ATmega8) 512 bájt a kapacitása.

 

A könyvtár függvényei:

-       read()

-       write()

 

EEPROM.read() 

Visszaadja az EEPROM adott címén található bájt értékét.

Szintaxisa:

EEPROM.read(address).

Paraméterei:

address: a memóriacím, ahonnan az olvasás kezdődik (0-tól számozva).

 

Arduino kód: 69eepromread

 

EEPROM.write()

Beállítja az EEPROM adott címén a megadott bájt értékét. Egy bájt kiírása 3,3 ms-ot vesz igénybe, ami a többi memóriatípus sebességét tekintve igen lassú folyamatnak számít, használata kihathat a teljes kódunk futására. Ne felejtsük el, hogy az EEPROM 100.000 írás után használhatatlanná válik!

Szintaxisa:

EEPROM.write(address, value). 

Paraméterei:

address: a memóriacím, ahonnan az olvasás kezdődik (0-tól számozva),

value: a bájt értéke, amit szeretnénk beírni.

 

Arduino kód: 70eepromwrite

 

LiquidCrystal könyvtár

A Hitachi HD44780 folyadékkristályos kijelző meghajtó IC hosszú időn keresztül uralta a piacot, mint a rendkívül populáris, kizárólag monokróm szöveg megjelenítésére alkalmas faxok, telefonok, lézernyomtatók, fénymásoló gépek kijelzőjének vezérlője. Mostanra hobbisták és gyors prototipizálók közkedvelt megoldásává vált a mikrokontrollerek alfanumerikus üzeneteinek megjelenítésére. Az IC által meghajtott kijelzők pár általános szabálynak felelnek meg. Egy karakter mindig 5 vízszintes és 8 függőleges pixelből áll. A leggyakoribb típus egy sorban 8 karakter megjelenítésére alkalmas (8 x 1), de létezik 16 x 2, 20 x 2 és 20 x 4-es is. A kijelzők készülhetnek LED-es, fluoreszcens, elektrolumineszcens háttérvilágítással, vagy anélkül. Az IC maga is egy mikrokontroller, ROM-jában 208 karakter térképét tárolja – japán verziója a kana, európai verziója nyugati és cirill ABC betűiből áll. A LiquidCrystal könyvtár a vezérlő IC instrukciós kódjait és kommunikációs protokollját implementálta pár könnyen használható függvény formájában.

 14.1 †bra 16 x 2-es alfanumerikus LCD HD44780-as vezÇrlãvel.png

6 x 2-es alfanumerikus LCD HD44780-as vezérlővel

A kijelző csatolófelülete (interface), amihez kapcsolódhatunk, egy párhuzamos interfész – a 8 bitnyi adatot minden órajelre egyszerre kell megadni (D0-D7 lábak). Szerencsére szöveges üzenetekhez 4 bites üzemmódot is választhatunk, ami szabadon hagy 4 Arduino csatornát más célokra. Az RS (Register Select) láb logikai alacsonyra vagy magasra állításával választhatjuk meg, hogy az adatvonalak a kijelző mely memóriaterületére írjanak. Az írást az EN (Enable) lábbal engedélyezhetjük. Az adatregiszter tárolja az ASCII kódolású bájtokat, amik karakterként kerülnek megjelenítésre, az instrukciós regiszterben pedig utasítások tárolódnak a meghajtó számára. Ezek az utasítások a kijelző törlésére, a kurzor mozgatására és egyéb funkciókra vonatkoznak. A regiszterek állapotát vissza is olvashatjuk – az RW láb állapotának változtatásával megfordítható a D0-D7 adatvonalak iránya. A kijelző kontrasztját analóg módon a tápfeszültség leosztásával Vo lábon tudjuk beállítani (vagy digitális potméterrel). A háttérvilágítást annak típusától függően a kontraszthoz hasonló módon kezelhetjük. Megfelelő illesztéssel LED-es háttérvilágítást az Arduino egy PWM képes kimenetére is köthetjük, így programozhatóvá válik a fényerő állítása is.

 

Amire szükség lesz:

-       Arduino,

-       LCD kijelző HD44780-as meghajtóval,

-       10 kiloohmos potméter,

-       próbapanel,

-       vezetékek.

 

Kapcsolás:

Kössük az LCD RS lábát az Arduino digitális 12-es csatornájára, az EN lábát pedig a digitális 11-re. Az LCD 4-es, 5-ös, 6-os, 7-es adatvonalait pedig rendre a digitális 5, 4, 3, 2 csatornákra. A 10 kiloohmos potméterrel készítsünk feszültségosztót az 5 V-os tápvezetékről és kössük be a potméter közepét az LCD kontrasztját szabályozó Vo lábra. Az LCD 5 V-os tápfeszültségről működik (GND, Vcc). RW-t kössük a földre!

 14.2. †bra LCD kijelzã Arduinohoz kapcsol†sa.png

LCD kijelző Arduinohoz kapcsolása

 

Arduino kód: 71LCD

 

LiquidCrystal()

Létrehozza a kijelző egy példányát, ami 4 vagy 8 bites módban fog működni, attól függően, hogy a híváskor hány adatvonalat adunk meg. 

Szintaxisa:

LiquidCrystal(RS, EN, D4, D5, D6, D7),

LiquidCrystal(RS, RW, EN, D4, D5, D6, D7),

LiquidCrystal(RS, EN, D0, D1, D2, D3, D4, D5, D6, D7),

LiquidCrystal(RS, RW, EN, D0, D1, D2, D3, D4, D5, D6, D7).

Paraméterei:

RS: Annak a digitális csatornának a száma, amihez a REGISTER SELECT van kötve.

EN: Annak a digitális csatornának a száma, amihez az ENABLE van kötve.

RW: Annak a digitális csatornának a száma, amihez a READ/WRITE van kötve.

D0-D7: Azok a digitális csatornák, amikhez az adatvonalak kapcsolódnak.

 

begin()

A kijelző méreteit, sorok és oszlopok számát határozza meg a könyvtár számára.

Szintaxisa:

lcd.begin(cols, rows).

Paraméterei:

lcd: a LiquidCrystal példány neve,

cols: a kijelző oszlopainak száma,

rows: a kijelző sorainak száma.

 

clear()

Üresre törli az megjelenítendő karaktereket tartalmazó adatregisztert és a kijelzőt.

Szintaxisa:

lcd.clear().

Paramétere:

lcd: a LiquidCrystal példány neve.

 

home()

A kurzort az első sor első karakterére – kijelző bal felső sarkába – mozgatja. 

Szintaxisa:

lcd.home(). 

Paramétere:

lcd: a LiquidCrystal példány neve.

 

setCursor()

A kurzort a megadott helyre mozgatja.

Szintaxisa:

lcd.setCursor(cols,rows). 

Paraméterei:

lcd: a LiquidCrystal példány neve,

cols: az oszlop, ahová a kurzort mozgatjuk,

rows: a sor, ahová a kurzort mozgatjuk.

 

write()

Egy bájtot, vagyis karaktert ír ki a kijelzőre. 

Szintaxisa:

lcd.write(data).

Paraméterei:

lcd: a LiquidCrystal példány neve,

data: a megjelenítendő karakter ASCII-kódja.

Példakód:

void loop() {
  if (Serial.available()) {
    lcd.write(Serial.read());
  }
}

 

print()

Szöveget jelenít meg a kijelzőn.

Szintaxisa:

lcd.print(data),

lcd.print(data, BASE).

Paraméterei:

lcd: a LiquidCrystal példány neve,

data: char, byte, long, int, string – amit megjelenítünk,

BASE: számrendszer alapja (opcionális) BIN, HEX, OCT, DEC.

 

cursor()

Hívását követően egy alulvonásként megjeleníti a kurzort.

 

noCursor()

Hívását követően kikapcsolja a kurzor megjelenítését.

 

blink()

Ha a kurzor látható, akkor bekapcsolja a villogtatását.

 

noBlink()

Ha a kurzor látható, akkor kikapcsolja a villogtatását.

 

noDisplay()

Kikapcsolja a kijelzőt.

 

display()

Visszakapcsolja a kijelzőt, ha előtte a noDisplay() hívással ki volt kapcsolva, és újra megjeleníti a szöveget, ami a kikapcsolás pillanatában volt látható.

 

scrollDisplayLeft()

Hívásakor egy karakterrel eltolja a kijelző teljes tartalmát balra.

 

scrollDisplayRight()

Hívásakor egy karakterrel eltolja a kijelző teljes tartalmát jobbra.

 

Arduino kód: 72LCDscroll

 

autoScroll()

Bekapcsolja a karakterek automatikus eltolását. Amikor egy új karaktert jelenítünk meg, a beállított iránynak megfelelően a már meglévő szöveget egy pozícióval elmozgatja.

 

Arduino kód: 73LCDauto

 

noAutoscroll()

Kikapcsolja a karakterek automatikus eltolását.

 

leftToRight()

Az automatikus karaktereltolás irányának beállítása balról jobbra.

 

rightToLeft()

Az automatikus karaktereltolás irányának beállítása jobbról balra.

 

createChar()

Segítségével létrehozhatunk olyan karaktereket, amit nem tartalmaz a ROM. Ezeket az 5 x 8 pontból álló jeleket glyph-nek is szokás nevezni. A vezérlő 8 különféle glyph-et tud eltárolni a létrehozása után.

Szintaxisa:

lcd.createChar(num, data).

Paraméterei:

lcd: a LiquidCrystal példány neve,

num: 0–7 a glyph száma, amelyik pozíción tárolni szeretnénk,

data: a karakter pixeleit tartalmazó tömb.

 

Arduino kód: 74create

14.3. †bra Smiley glyph.png

Smiley glyph

 

- - - - - - - - -

forrás: http://arduino.cc/en/Tutorial/HomePagehttp://arduino.cc/en/Tutorial/LiquidCrystalhttp://arduino.cc/en/Reference/EEPROM

 



 

Szólj hozzá!

Címkék: leckék könyvtárak LCD Liquid Crystal EEPROM lektorált