A Raspberry Pi egy ARM architektúra processzor alapú tábla, amelyet elektronikus mérnököknek és hobbistáknak terveztek. A PI az egyik legmegbízhatóbb projektfejlesztési platform odakinn. Nagyobb processzorsebességgel és 1 GB RAM-mal a PI számos nagy horderejű projekthez használható, például Képfeldolgozáshoz és IoT-hez.
Bármely nagy horderejű projekt megvalósításához meg kell érteni a PI alapvető funkcióit. Ezekben az oktatóanyagokban a Raspberry Pi összes alapvető funkciójára kitérünk. Minden oktatóanyagban megvitatjuk a PI egyik funkcióját. A Raspberry Pi oktatósorozat végére egyedülálló projekteket készíthet. Nézze át az alábbi oktatóanyagokat:
- Az első lépések a Raspberry Pi-vel
- Raspberry Pi konfiguráció
- LED villog
- Gombok összekapcsolása
- PWM generáció
- DC motor vezérlése
- Léptetőmotor vezérlés
- Interfacing Shift Register
- Raspberry Pi ADC bemutató
- Szervomotor vezérlés
- Kapacitív érintőpad
Ebben az oktatóanyagban egy 16x2 LCD-kijelzőt fogunk vezérelni a Raspberry Pi használatával. Csatlakoztatjuk az LCD-t a PI GPIO (General Purpose Input Output) csapjaihoz a karakterek megjelenítéséhez. Írunk egy programot PYTHON-ban, hogy a megfelelő parancsokat elküldjük az LCD-nek a GPIO-n keresztül, és megjelenítsük a képernyőn a szükséges karaktereket. Ez a képernyő hasznos lesz az érzékelő értékeinek, a megszakítás állapotának és az idő megjelenítésének megjelenítésére.
Különböző típusú LCD-k vannak a piacon. A grafikus LCD összetettebb, mint a 16x2 LCD. Tehát itt megyünk a 16x2-es LCD-kijelzőre, akár 16x1-es LCD-t is használhat, ha akar. 16x2 LCD 32 karakter összesen 16 1 st vonal és további 16 2 nd sorban. A JHD162 16x2 LCD modulos LCD karakter. Már csatlakoztattuk a 16x2 LCD-t a 8051-hez, az AVR-hez, az Arduino-hoz stb. A 16x2 LCD-vel kapcsolatos összes projektünket megtalálja ezen a linken.
Mielőtt tovább mennénk, egy kicsit megbeszéljük a PI GPIO-t.
A Raspberry Pi 2-ben 40 GPIO kimeneti tű található. De a 40-ből csak 26 GPIO csap (GPIO2-GPIO27) programozható. Ezek közül a csapok közül néhány speciális funkciót lát el. Különleges GPIO-t félretéve 17 GPIO van hátra.
+ 5V (2. vagy 4. érintkező) és + 3.3V (1. vagy 17. érintkező) kimeneti érintkezők vannak a táblán, ezek más modulok és érzékelők csatlakoztatására szolgálnak. A 16 * 2 LCD-t a + 5V sínen keresztül tápláljuk. Küldhetünk + 3,3 V vezérlőjelet az LCD-nek, de az LCD működéséhez + 5 V-tal kell táplálnunk. Az LCD + 3,3 V feszültség mellett nem fog működni.
Ha többet szeretne megtudni a GPIO csapokról és azok jelenlegi kimeneteiről, menjen át: A LED villog Raspberry Pi-vel
Szükséges alkatrészek:
Itt a Raspberry Pi 2 Model B-t használjuk Raspbian Jessie operációs rendszerrel. Az összes alapvető hardver- és szoftverkövetelményt korábban megbeszéltük, megnézheti a Raspberry Pi bevezetőjében, a szükségesek kivételével:
- Csatlakozó csapok
- 16 * 2 LCD modul
- 1KΩ ellenállás (2 db)
- 10K pot
- 1000µF kondenzátor
- Kenyérlemez
Áramkör és működési magyarázat:
Amint az áramköri ábrán látható, Interfaced Raspberry Pi-t LCD-kijelzővel csatlakoztattunk úgy, hogy 10 PI GPIO csapot csatlakoztattunk a 16 * 2 LCD vezérlő és adatátviteli csapokhoz. A GPIO Pin 21, 20, 16, 12, 25, 24, 23 és 18 PIN-kódokat BYTE-ként használtuk, és létrehoztuk a 'PORT' funkciót az adatok LCD-re történő elküldéséhez. Itt a GPIO 21 az LSB (legkevésbé szignifikáns bit), a GPIO18 pedig az MSB (a legjelentősebb bit).
A 16x2 LCD modul 16 érintkezővel rendelkezik, amelyek öt kategóriába sorolhatók: tápkábelek, kontrasztcsapok, vezérlőcsapok, adatcsapok és háttérvilágítás csapok. Íme a rövid leírás róluk:
Kategória |
PIN NO. |
PIN neve |
Funkció |
Power Pins |
1 |
VSS |
Földelőcsap, csatlakozik a Földhöz |
2 |
VDD vagy Vcc |
Feszültségcsap + 5V |
|
Kontraszt tű |
3 |
V0 vagy VEE |
Kontraszt beállítása, Vcc-hez csatlakoztatva, változó ellenállással. |
Control Pins |
4 |
RS |
Regisztráció Select Pin, RS = 0 Parancs mód, RS = 1 Adat mód |
5. |
RW |
Olvasási / írási tű, RW = 0 írási mód, RW = 1 Olvasási mód |
|
6. |
E |
Engedélyezés, nagy vagy alacsony impulzus szükséges az LCD engedélyezéséhez |
|
Data Pins |
7-14 |
D0-D7 |
Adatcsapok, tárolja az LCD-n megjelenítendő adatokat vagy a parancs utasításait |
Háttérvilágítási csapok |
15 |
LED + vagy A |
A háttérvilágítás + 5V bekapcsolására |
16. |
LED vagy K |
Háttérvilágítás földje |
Erősen javasoljuk, hogy olvassa el ezt a cikket, hogy megértse az LCD-t, amely a Pins és Hex parancsokkal dolgozik.
Röviden megbeszéljük az adatküldés folyamatát az LCD-re:
1. Az E magas (a modul engedélyezése) és az RS alacsony (az LCD-nek azt mondjuk, hogy parancsot adunk)
2. A 0x01 érték megadása az adatportnak parancsként a képernyő törléséhez.
3. Az E magas (a modul engedélyezése) és az RS magas (az LCD-nek mondjuk, hogy adunk adatokat)
4. Meg kell jeleníteni az ASCII kódot a karakterekhez.
5. Az E alacsony szintre van állítva (azt mondja az LCD-nek, hogy készen állunk az adatok küldésére)
6. Amint ez az E tű alacsony lesz, az LCD feldolgozza a fogadott adatokat, és megmutatja a megfelelő eredményt. Tehát ez a tű magasra van állítva az adatok elküldése előtt, és az adatok elküldése után a földre húzódik.
Mint mondtuk, egymás után küldjük a karaktereket. A karaktereket az LCD-nek ASCII kódok (amerikai szabványos információcsere kód) adják. Az ASCII kódok táblázata az alábbiakban látható. Például egy „@” karakter megjelenítéséhez el kell küldenünk egy „40” hexadecimális kódot. Ha 0x73 értéket adunk az LCD-nek, akkor „s” jelenik meg. Így elküldjük a megfelelő kódokat az LCD-re a „ CIRCUITDIGEST ” karakterlánc megjelenítéséhez.
Programozási magyarázat:
Miután minden a kapcsolási rajz szerint össze van kapcsolva, bekapcsolhatjuk a PI-t, hogy PYHTON-ba írjuk a programot.
Néhány parancsról fogunk beszélni, amelyeket a PYHTON programban fogunk használni, GPIO fájlt fogunk importálni a könyvtárból, az alábbi funkció segítségével programozhatjuk a PI GPIO csapjait. A „GPIO” -ot „IO” -ra is átnevezzük, így a programban, amikor csak GPIO-csapokra akarunk utalni, az „IO” szót fogjuk használni.
importálja az RPi.GPIO-t IO-ként
Néha, amikor a GPIO csapok, amelyeket megpróbálunk használni, más funkciókat is elláthatnak. Ebben az esetben figyelmeztetéseket kapunk a program futtatása közben. Az alábbi parancs arra utasítja a PI-t, hogy figyelmen kívül hagyja a figyelmeztetéseket, és folytassa a programot.
IO.setwarnings (hamis)
Hivatkozhatunk a PI GPIO csapjaira, akár a fedélzeten található PIN-kód, akár a funkciójuk száma alapján. A táblán lévő „PIN 29” -hez hasonlóan a „GPIO5”. Tehát itt elmondjuk, hogy vagy itt fogjuk ábrázolni a „29” vagy „5” betűket.
IO.setmode (IO.BCM)
10 GPIO tűt állítunk be kimeneti tűként az LCD adat- és vezérlőtűihez.
IO.setup (6, IO.OUT) IO.setup (22, IO.OUT) IO.setup (21, IO.OUT) IO.setup (20, IO.OUT) IO.setup (16, IO.OUT) IO.setup (12, IO.OUT) IO.setup (25, IO.OUT) IO.setup (24, IO.OUT) IO.setup (23, IO.OUT) IO.setup (18, IO.OUT)
míg az 1: parancs örökkévaló hurokként használatos, ezzel a paranccsal a cikluson belüli utasítások folyamatosan végrehajtódnak.
Az összes többi funkciót és parancsot a „Kód” részben, a „Megjegyzések” segítségével magyaráztuk.
A program megírása és végrehajtása után a Raspberry Pi egyesével karaktereket küld az LCD-re, és az LCD megjeleníti a karaktereket a képernyőn.