Az OLED I2C kijelző csatlakoztatása az ARDUINO-hoz
Bevezetés: Az OLED I2C 128*64 / 128*32 kijelző bemutatása.
Helló! Amatőr elektronikai rajongó lévén biztos vagyok benne, hogy minden, amit csinálunk – elektronikus játékok, házi készítésű termékek, vagy nagy projektek – mind kíváncsiságból és lustaságból fakad. A kíváncsiság arra törekszik, hogy megértse és megértse a hatalmasat, az ismeretlent, hogy rájöjjön, hogyan működik ott, mit csinál, hogyan mozog. A lustaság pedig kitalál valamit, hogy ne keljen fel, ne közelítsen, ne emeljen, ne koszoljon vagy bármi más fontosat.
Mivel az információkat látni jobb, mint kitalálni, hogy mi fog történni a készülékünkben, vagy már megtörtént, vagy történik, mindenképpen szeretnénk megkapni ezeket a leghasznosabb információkat mikrokontrollereinktől, érzékelőinktől vagy más eszközeinktől. És mindenesetre szeretnék bármilyen üzenetet kapni, például kérdéseket, figyelmeztetéseket, emlékeztetőket, hangulatjeleket, csillagokat, szíveket és hasonlókat.
Akinek szintén hasonló vágya van, annak itt egy rövid útmutató a kisméretű és olcsó OLED-kijelzők csatlakoztatásához és teszteléséhez.
Ezután a rádióamatőrök számára széles körben elérhető, SSD1306 chippel vezérelt, 0,96 hüvelykes képernyőmérettel és 128 * 64 vagy 128 * 32 pixeles felbontású OLED kijelzőmodellről lesz szó. Ezek a kijelzők ideálisak kis rádióamatőr tervekhez és házi projektekhez.
Csatlakoztatjuk az Arduino UNO / NANO-hoz, és programozzuk is az Arduino-n keresztül.
Kövesse az utasításokat, hogy megértse, hogyan kell megfelelően csatlakoztatni és konfigurálni az OLED-kijelzőt az Arduino-hoz, és hogyan jeleníthet meg egyéni üzenetet a kijelzőn.
Mindent lépésről lépésre csinálunk.
Csak négy dologra van szükségünk:
Általánosságban elmondható, hogy az Aliexpressen és az Ebay-en különféle projektekhez alkatrészeket vásárolni nagyon klassz dolog, miközben az egyik projekten dolgozik, egy másikhoz már folyamatban van. A lényeg az, hogy ne felejtsd el megrendelni.
A kijelzőt egy SSD1306 chip vezérli, amely öt kommunikációs protokollt támogat, amelyek közül az egyik az I2C. Az adatátvitel ezzel a protokollal csak két vezetéken történik, és minél kevesebb vezeték van a tokban, annál jobb, tehát nekünk ez elég jól áll.De! Vannak olyan modulok, amelyek SPI protokollal, sőt protokollváltással is rendelkeznek, ezért legyen óvatos a modul megvásárlásakor.
Felhasznált tűk:
OLED kijelző - SCL/SCK (óra) és SDA (adat), „Plus” teljesítmény (VCC) és „Mínusz” teljesítmény (GND).
Felhasznált tűk:
Arduino UNO - SCL/SCK A5-ön és SSD A4-en, „Plus” táp (+5V) és „Mínusz” táp (GND).
A kijelző csatlakoztatása Arduinohoz:
Az I2C buszon minden eszköz hexadecimális címmel rendelkezik, nem módosítható, vezetékes, ezt minden felelős gyártónak fel kell tüntetnie valahol a házon vagy a használati utasításban. Vannak olyan modulok kapcsolókkal, jumperekkel, amelyekkel lehet címet változtatni, de... ha nevetségesen olcsók a készülékek, akkor lehet, hogy a gyártó nem foglalkozik egy ilyen részlettel, így neked kell meghatároznod.
Összesen legfeljebb 127 cím használható a buszon - 119 eszközök és 8 szolgáltatási cím. A kommunikáció ezeken a címeken történik. Van egy fő, aka Mester, és van egy rabszolga, más néven Slave - kérdezik a Mesterek, válaszolnak a rabszolgák, minden egyszerű.
Mivel OLED kijelzőnk az I2C kommunikációs protokollt használja, és előfordulhat, hogy a cím nincs megadva, megpróbáljuk magunk is kideríteni ezt a címet.
Ezt úgy teheti meg, hogy egy rövid vázlatot tölt fel Arduino kártyájára, csatlakoztatva az OLED-et. DE!
Ne rohanjon azonnal feltölteni a vázlatot az Arduino-ba! Először töltsük le a „meghajtókat”, azaz kössük össze a könyvtárakat, és ehhez azonnal menjünk az „5. lépéshez”, majd térjünk vissza és folytassuk.
Töltse le a CODE Finder_I2C_Hex_Address.ino-t, töltse fel az Arduino-ba.
Nyissa meg a „Port Monitort”, állítsa a sebességet 9600-ra, és ha minden megfelelően van csatlakoztatva, a program megmutatja az eszköz címét, esetemben OLED 0x3F címmel.
Ahhoz, hogy minden megfelelően működjön, és ne kelljen újra feltalálni a kereket, pár könyvtárat kell csatlakoztatni az ArduinoIDE környezethez, nevezetesen: ADAFRUIT GFX és ADAFRUIT SSD1306, ezek szükségesek ahhoz, hogy az Arduino önállóan tudjon kommunikálni. OLED kijelzővel.
Ezeket a könyvtárakat az alábbi lépések végrehajtásával veheti fel.
A könyvtárak legfrissebb verzióinál a kijelzőm ferdén működött, ez persze lehet a kezem görbülete miatt, de miután telepítettem ezeknek a könyvtáraknak a legelső verzióit, kezdett minden simának és gyönyörűnek tűnni. Valamiért Puskin sorai jutnak eszembe:
...és a tapasztalat, a nehéz hibák fia,
és zseni, a paradoxonok barátja.
A könyvtárak telepítésének másik módja az, hogy saját maga keresi meg, tölti le és telepíti ezeket a könyvtárakat.
Github példa:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
Ezek ugyanazok az Adafruit könyvtárak, de az OLED I2C kérésére a hasonló könyvtárak könnyen kereshetők a keresőkben. Sok rajongó „maga számára” ír könyvtárakat, majd felteszi őket az internetre. Ön dönti el, hogy melyik könyvtárat használja.
Ahhoz, hogy a kijelző orosz betűket jelenítsen meg, speciális könyvtárakra is szükség van, de ez egy külön cikk külön témája.
A könyvtárak telepítése után visszatérhet a 4. lépéshez, és végre megtudhatja a kijelző hexadecimális címét.
Annak ellenőrzéséhez, hogy minden a várt módon működik-e, futtassa az ArduinoIDE tesztpéldáját.
Ezért:
Lépjen a FÁJL > PÉLDÁK > SSD 1306 > Válassza a 128x64 i2c lehetőséget
Ha az "Error" üzenetet kapja, válassza az SSD 1306 > 128x32 i2c lehetőséget.
Ha ismét megjelenik a „Hiba”, próbálja meg megváltoztatni az I2C címet a demókód 61. sorában, és cserélje ki a kijelzőjének a 4. lépésben meghatározott címére.
Ha a hiba ismét jelentkezik, megpróbálhatja szerkeszteni az Adafruit_SSD1306.h fájlt, amely az Arduino könyvtárak mappában található.
Nyissa meg az Adafruit_SSD1306.h fájlt egy szövegszerkesztőben, és keresse meg a sorokat:
Törölje a sor megjegyzését:
Így kell kinéznie:
Ha a hiba ismét jelentkezik, ellenőriznie kell a megfelelő csatlakozásokat.
A letöltés befejeztével egy tesztanimáció jelenik meg a képernyőn, ami azt jelenti, hogy sikeresen beállította az OLED-kijelzőt.
Ha teljesen élvezte ezt az animációt, továbbléphet a következő lépésre.
Saját üzenet írásához először hozzon létre egy új vázlatot az ArduinoIDE programozási környezetben.
A fejlécben 4 könyvtár található:
Ezután írjuk a reset protokollt:
A VOID SETUP-ban a kijelzőnk 0x3C hexadecimális címét jelöljük, amelyet a „4. lépésben” tanultunk meg.
Ezután inicializáljuk a kijelzőt és töröljük:
Ezután a VOID LOOP-ban írjuk be a fő kódot, vagyis az üzenetünket, amit a kijelzőn szeretnénk megjeleníteni.
Ehhez leírjuk a szöveg méretét, a szöveg színét, a kurzor pozícióját, végül a println paranccsal megjelenítjük az üzenetet:
A végén ne felejts el írni display.displayhogy a kép megjelenjen a képernyőn, különben űrt kap.
Ha mindent jól csinált, egy üzenet jelenik meg a kijelzőkön.
Íme a programunk Starting_with_Arduino_OLED.ino kódja:
Helló! Amatőr elektronikai rajongó lévén biztos vagyok benne, hogy minden, amit csinálunk – elektronikus játékok, házi készítésű termékek, vagy nagy projektek – mind kíváncsiságból és lustaságból fakad. A kíváncsiság arra törekszik, hogy megértse és megértse a hatalmasat, az ismeretlent, hogy rájöjjön, hogyan működik ott, mit csinál, hogyan mozog. A lustaság pedig kitalál valamit, hogy ne keljen fel, ne közelítsen, ne emeljen, ne koszoljon vagy bármi más fontosat.
Mivel az információkat látni jobb, mint kitalálni, hogy mi fog történni a készülékünkben, vagy már megtörtént, vagy történik, mindenképpen szeretnénk megkapni ezeket a leghasznosabb információkat mikrokontrollereinktől, érzékelőinktől vagy más eszközeinktől. És mindenesetre szeretnék bármilyen üzenetet kapni, például kérdéseket, figyelmeztetéseket, emlékeztetőket, hangulatjeleket, csillagokat, szíveket és hasonlókat.
Akinek szintén hasonló vágya van, annak itt egy rövid útmutató a kisméretű és olcsó OLED-kijelzők csatlakoztatásához és teszteléséhez.
Ezután a rádióamatőrök számára széles körben elérhető, SSD1306 chippel vezérelt, 0,96 hüvelykes képernyőmérettel és 128 * 64 vagy 128 * 32 pixeles felbontású OLED kijelzőmodellről lesz szó. Ezek a kijelzők ideálisak kis rádióamatőr tervekhez és házi projektekhez.
1. lépés: Alapfogalmak
Csatlakoztatjuk az Arduino UNO / NANO-hoz, és programozzuk is az Arduino-n keresztül.
- Az OLED egy szerves fénykibocsátó dióda, azaz szerves vegyületekből készült félvezető eszköz, amely akkor kezd fényt kibocsátani, amikor elektromos áram halad át rajta.
- Az ARDUINO egy platform az automatizálási és robotikai rendszerek képzéséhez és épületgépészetéhez.
- ArduinoIDE - fejlesztői környezet. Ez egy ingyenes Arduino programozó program.
- I2C – Inter-Integrated Circuits, inter-chip kommunikációs vonal.
- Vázlat, más néven kód, más néven program - Arduino terminológia.
Kövesse az utasításokat, hogy megértse, hogyan kell megfelelően csatlakoztatni és konfigurálni az OLED-kijelzőt az Arduino-hoz, és hogyan jeleníthet meg egyéni üzenetet a kijelzőn.
Mindent lépésről lépésre csinálunk.
2. lépés: Tartozékok
Csak négy dologra van szükségünk:
- 1. Maga az OLED-kijelző 0,96”-os (Aliexpressen vagy Ebay-en megveheted, hosszú, de olcsó!).
- 2. Arduino UNO / Nano (ugyanott, ahol a kijelző).
- 3. Csatlakozó vezetékek (uo.).
- 4. Számítógép vagy laptop ArduinoIDE telepítve.
Általánosságban elmondható, hogy az Aliexpressen és az Ebay-en különféle projektekhez alkatrészeket vásárolni nagyon klassz dolog, miközben az egyik projekten dolgozik, egy másikhoz már folyamatban van. A lényeg az, hogy ne felejtsd el megrendelni.
3. lépés: A kijelző csatlakoztatása
A kijelzőt egy SSD1306 chip vezérli, amely öt kommunikációs protokollt támogat, amelyek közül az egyik az I2C. Az adatátvitel ezzel a protokollal csak két vezetéken történik, és minél kevesebb vezeték van a tokban, annál jobb, tehát nekünk ez elég jól áll.De! Vannak olyan modulok, amelyek SPI protokollal, sőt protokollváltással is rendelkeznek, ezért legyen óvatos a modul megvásárlásakor.
Felhasznált tűk:
OLED kijelző - SCL/SCK (óra) és SDA (adat), „Plus” teljesítmény (VCC) és „Mínusz” teljesítmény (GND).
Felhasznált tűk:
Arduino UNO - SCL/SCK A5-ön és SSD A4-en, „Plus” táp (+5V) és „Mínusz” táp (GND).
A kijelző csatlakoztatása Arduinohoz:
- Vcc - 5V
- GND - GND
- SDA-A4
- SCL-A5
4. lépés: I2C szkenner
Az I2C buszon minden eszköz hexadecimális címmel rendelkezik, nem módosítható, vezetékes, ezt minden felelős gyártónak fel kell tüntetnie valahol a házon vagy a használati utasításban. Vannak olyan modulok kapcsolókkal, jumperekkel, amelyekkel lehet címet változtatni, de... ha nevetségesen olcsók a készülékek, akkor lehet, hogy a gyártó nem foglalkozik egy ilyen részlettel, így neked kell meghatároznod.
Összesen legfeljebb 127 cím használható a buszon - 119 eszközök és 8 szolgáltatási cím. A kommunikáció ezeken a címeken történik. Van egy fő, aka Mester, és van egy rabszolga, más néven Slave - kérdezik a Mesterek, válaszolnak a rabszolgák, minden egyszerű.
Mivel OLED kijelzőnk az I2C kommunikációs protokollt használja, és előfordulhat, hogy a cím nincs megadva, megpróbáljuk magunk is kideríteni ezt a címet.
Ezt úgy teheti meg, hogy egy rövid vázlatot tölt fel Arduino kártyájára, csatlakoztatva az OLED-et. DE!
Ne rohanjon azonnal feltölteni a vázlatot az Arduino-ba! Először töltsük le a „meghajtókat”, azaz kössük össze a könyvtárakat, és ehhez azonnal menjünk az „5. lépéshez”, majd térjünk vissza és folytassuk.
4. lépés: Folytatás:
Töltse le a CODE Finder_I2C_Hex_Address.ino-t, töltse fel az Arduino-ba.
Nyissa meg a „Port Monitort”, állítsa a sebességet 9600-ra, és ha minden megfelelően van csatlakoztatva, a program megmutatja az eszköz címét, esetemben OLED 0x3F címmel.
5. lépés: Töltse le és csatlakoztassa a könyvtárakat
Ahhoz, hogy minden megfelelően működjön, és ne kelljen újra feltalálni a kereket, pár könyvtárat kell csatlakoztatni az ArduinoIDE környezethez, nevezetesen: ADAFRUIT GFX és ADAFRUIT SSD1306, ezek szükségesek ahhoz, hogy az Arduino önállóan tudjon kommunikálni. OLED kijelzővel.
Ezeket a könyvtárakat az alábbi lépések végrehajtásával veheti fel.
- 1. Az ArduinoIDE programban lépjen a Sketch menübe.
- 2. Válassza az „Include Libraries” lehetőséget.
- 3. Válassza a „Könyvtárak kezelése” lehetőséget.
- 4. Keresse meg az ADAFRUIT GFX-et, és telepítse.
- 5. Keresse meg az ADAFRUIT SSD1306-ot, és telepítse.
A könyvtárak legfrissebb verzióinál a kijelzőm ferdén működött, ez persze lehet a kezem görbülete miatt, de miután telepítettem ezeknek a könyvtáraknak a legelső verzióit, kezdett minden simának és gyönyörűnek tűnni. Valamiért Puskin sorai jutnak eszembe:
...és a tapasztalat, a nehéz hibák fia,
és zseni, a paradoxonok barátja.
A könyvtárak telepítésének másik módja az, hogy saját maga keresi meg, tölti le és telepíti ezeket a könyvtárakat.
Github példa:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
Ezek ugyanazok az Adafruit könyvtárak, de az OLED I2C kérésére a hasonló könyvtárak könnyen kereshetők a keresőkben. Sok rajongó „maga számára” ír könyvtárakat, majd felteszi őket az internetre. Ön dönti el, hogy melyik könyvtárat használja.
Ahhoz, hogy a kijelző orosz betűket jelenítsen meg, speciális könyvtárakra is szükség van, de ez egy külön cikk külön témája.
A könyvtárak telepítése után visszatérhet a 4. lépéshez, és végre megtudhatja a kijelző hexadecimális címét.
6. lépés: Kijelző tesztelése
Annak ellenőrzéséhez, hogy minden a várt módon működik-e, futtassa az ArduinoIDE tesztpéldáját.
Ezért:
Lépjen a FÁJL > PÉLDÁK > SSD 1306 > Válassza a 128x64 i2c lehetőséget
Ha az "Error" üzenetet kapja, válassza az SSD 1306 > 128x32 i2c lehetőséget.
Ha ismét megjelenik a „Hiba”, próbálja meg megváltoztatni az I2C címet a demókód 61. sorában, és cserélje ki a kijelzőjének a 4. lépésben meghatározott címére.
Ha a hiba ismét jelentkezik, megpróbálhatja szerkeszteni az Adafruit_SSD1306.h fájlt, amely az Arduino könyvtárak mappában található.
Nyissa meg az Adafruit_SSD1306.h fájlt egy szövegszerkesztőben, és keresse meg a sorokat:
//#define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16
Törölje a sor megjegyzését:
#define SSD1306_128_64.
Így kell kinéznie:
#define SSD1306_128_64
//#define SSD1306_128_32
// #define SSD1306_96_16
Ha a hiba ismét jelentkezik, ellenőriznie kell a megfelelő csatlakozásokat.
A letöltés befejeztével egy tesztanimáció jelenik meg a képernyőn, ami azt jelenti, hogy sikeresen beállította az OLED-kijelzőt.
Ha teljesen élvezte ezt az animációt, továbbléphet a következő lépésre.
7. lépés: Írja meg saját üzenetét
Saját üzenet írásához először hozzon létre egy új vázlatot az ArduinoIDE programozási környezetben.
A fejlécben 4 könyvtár található:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Ezután írjuk a reset protokollt:
#define OLED_RESET 4
Adafruit_SSD1306 kijelző (OLED_RESET);
A VOID SETUP-ban a kijelzőnk 0x3C hexadecimális címét jelöljük, amelyet a „4. lépésben” tanultunk meg.
Ezután inicializáljuk a kijelzőt és töröljük:
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
Ezután a VOID LOOP-ban írjuk be a fő kódot, vagyis az üzenetünket, amit a kijelzőn szeretnénk megjeleníteni.
Ehhez leírjuk a szöveg méretét, a szöveg színét, a kurzor pozícióját, végül a println paranccsal megjelenítjük az üzenetet:
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println("Jól sikerült!");
display.display();
A végén ne felejts el írni display.displayhogy a kép megjelenjen a képernyőn, különben űrt kap.
Ha mindent jól csinált, egy üzenet jelenik meg a kijelzőkön.
Íme a programunk Starting_with_Arduino_OLED.ino kódja:
code.zip
[946 b] (letöltések száma: 4908)
Hasonló mesterkurzusok
Különösen érdekes
Megjegyzések (10)