Tartalomjegyzék:
- 1. lépés: Charlieplexing: mit, miért és hogyan
- 2. lépés: Hardver és vázlat
- 3. lépés: Breadboarding
- 4. lépés: A programozás alapjai
- 5. lépés: A fejlesztési ciklus
- 6. lépés: Jobb tolmács
- 7. lépés: Hová menjen innen
Videó: 5x4 LED kijelző mátrix 2 alap bélyegző (bs2) és Charlieplex használata: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:44
Ül a Basic Stamp 2 és néhány extra LED? Miért nem játszik a charlieplexing fogalmával, és nem hoz létre kimenetet mindössze 5 csap segítségével.
Ehhez az utasításhoz a BS2e -t fogom használni, de a BS2 család bármely tagjának dolgoznia kell.
1. lépés: Charlieplexing: mit, miért és hogyan
Először tegyük félre az okot. Miért használja a charlieplexing -et egy Basic Stamp 2 -vel? --- A koncepció igazolása: Ismerje meg a charlieplexing működését, és tanuljon valamit a BS2-ről. Ez később hasznos lehet számomra a gyorsabb, 8 tűs chipek használatával (csak 5 közülük lesz i/o).--- Hasznos ok: Alapvetően nincs. A BS2 túl lassú ahhoz, hogy észrevehető villódzás nélkül jelenjen meg. Mi a charlieplexelés? --- A Charlieplexing egy olyan módszer, amellyel nagyszámú LED-et lehet vezetni, kis számú mikroprocesszoros i/o-tűvel. A charlieplexelésről a www.instructables.com webhelyen tanultam, és te is megtudhatod: Charlieplexing LED-ek- Az elmélet Hogyan lehet sok LED-et meghajtani néhány mikrovezérlő tűből. Szintén a wikipédián: CharlieplexingHogyan vezethetek 20 ledet 5 i/o tűvel? --- Kérjük, olvassa el a "Mi a charlieplexing?" Alatti három linket. Ez jobban megmagyarázza, mint valaha tudtam. A Charlieplexing különbözik a hagyományos multiplexeléstől, amelyhez soronként és oszloponként egy i/o tű szükséges (ez összesen 9 i/o csap 5/4 kijelző esetén).
2. lépés: Hardver és vázlat
Anyaglista: 1x - Basic Stamp 220x - azonos típusú fénykibocsátó diódák (LED -ek) (szín és feszültségcsökkenés) -9v Tápellátás a BS2 verziójától függően (olvassa el a kézikönyvet) Vázlat: Ez a vázlat a mechanikai elrendezést szem előtt tartva készült. Látni fogja a bal oldalon beállított LED -rácsot, ez az irány, amelyhez a BS2 kódot írták. Figyelje meg, hogy mindegyik LED -pár anódja a másik katódjához van csatlakoztatva. Ezután az öt i/o csap egyikéhez csatlakoznak. Ellenállásértékek: Saját ellenállásértékeket kell kiszámítania. Ellenőrizze a LED -ek adatlapját, vagy használja a digitális multiméter LED -beállításait a LED -ek feszültségcsökkenésének megkereséséhez. Végezzünk néhány számítást: Tápfeszültség - Feszültségcsökkenés / kívánt áram = ellenállásérték a jelenlegi. A LED -eim 1,6 V -os csökkenéssel rendelkeznek, és 20 mA -en működnek. 5 V - 1,6 V /.02 amper = 155 ohm 220ohm -ot használtam, mert a fejlesztőlapomon az ellenállás értéke van beépítve minden i/o -tűhöz. MEGJEGYZÉS: Úgy vélem, hogy mivel minden érintkezőn van ellenállás, ez gyakorlatilag megkétszerezi az ellenállást minden LED -en, mivel az egyik érintkező V+, a másik pedig Gnd. Ebben az esetben felére kell csökkenteni az ellenállás értékeit. A túl magas ellenállásérték káros hatása a halványabb LED. Valaki ellenőrizheti ezt, és hagyhat nekem PM -et vagy megjegyzést, hogy frissíthessem ezeket az információkat? Programozás: DB9 csatlakozóval rendelkező fejlesztőlapot használtam a chip programozására közvetlenül a táblán. Ezt a chipet a forrasztás nélküli kenyértáblán is használom, és tartalmazott egy In Circuit Serial Programming (ICSP) fejlécet. A fejléc 5 érintkezős, a 2–5. Csapok a DB9 soros kábel 2–5. Csatlakozójához csatlakoznak (az 1-es érintkező nincs használatban). Kérjük, vegye figyelembe, hogy ennek az ICSP fejlécnek a használatához a DB9 kábel 6. és 7. csapját össze kell kötni egymással. Visszaállítás: A pillanatnyi reset gomb opcionális. Ez csak húzza a 22 csapot a földre, amikor megnyomja.
3. lépés: Breadboarding
Most itt az ideje, hogy a mátrixot egy kenyértáblára építsem. Egy sorkapcsot használtam az egyes LED -párok egyik lábának összekapcsolásához, és egy kis jumper vezetéket a többi láb csatlakoztatásához. Ezt a közeli fotó részletezi, és itt részletesen ismertetjük: 1. Irányítsa a kenyeretáblát a nagyobb képhez2. Helyezze az 1. LED-et az anóddal (+) maga felé, a katóddal (-) pedig távol magától. Helyezze a 2 -es LED -et ugyanabba az irányba, mint az anódot (+) a LED 1 katód csatlakozócsíkjába. Egy kis áthidaló vezetékkel kösse össze a LED 1 anódját a LED 2,5 katódjával. Ismételje meg mindaddig, amíg minden pár LED -t hozzá nem adnak a táblához. A kenyértábla tápellátó buszcsíkjait általában a BS2 I/O csapok buszsávjaként használom. Mivel csak 4 buszcsík van, a P4 -hez (az ötödik I/O csatlakozás) sorkapocsot használok. Ez az alábbi nagyobb képen látható.6. Csatlakoztassa a LED 1 katód kapocslécét a P0 buszsávhoz. Ismételje meg ezt minden páratlan számozású LED -nél, és cserélje ki a megfelelő P* értéket minden párra (lásd a vázlatot). Csatlakoztassa a LED 2 katód kapocslécét a P1 buszsávhoz. Ismételje meg ezt minden páratlan számozású LED -nél, és cserélje ki a megfelelő P* értéket minden párra (lásd a vázlatot). Csatlakoztassa az összes buszcsíkot a BS2 (P0-P4) megfelelő I/O érintkezőjéhez. Ellenőrizze az összes csatlakozást, hogy azok megfeleljenek -e a sematikusnak.10. Ünnepeljen. Ne felejtse el, hogy a páros számú LED -ek katódja a páratlan számú LED -ek anódjához van csatlakoztatva, így a kapcsolat minden esetben ugyanaz. Ha ez a megjegyzés megzavarja, hagyja figyelmen kívül.
4. lépés: A programozás alapjai
A charlieplexing működéséhez egyszerre csak egy ledet kapcsol be. Ahhoz, hogy ez működjön a BS2 -vel, két alapvető lépésre van szükségünk: 1. Állítsa be a kimeneti módokat a csapokhoz az OUTS paranccsal.2. Mondja el a BS2 -nek, hogy mely csapokat használja kimenetként a DIRS paranccsal. Ez azért működik, mert a BS2 -nek meg lehet mondani, hogy mely csapokat kell magasra és alacsonyra hajtani, és várni fog, amíg megadja, hogy melyik csapok kimenetek. Nézzük meg, hogy a dolgok megfelelően vannak -e csatlakoztatva csak megpróbál villogni az 1. LED. Ha megnézi a sematikus ábrát, láthatja, hogy a P0 az 1. LED katódjához (-) van csatlakoztatva, a P1 pedig az azonos LED anódjához. Ez azt jelenti, hogy a P0 -t alacsonyra és a P1 -et magasra akarjuk vezetni. Ezt a következőképpen lehet megtenni: "OUTS = % 11110", amely a P4-P1-et magasra és a P0-t alacsonyra állítja. (% Azt jelzi, hogy bináris számot kell követni. A legalacsonyabb bináris számjegy mindig a jobb oldalon található. 0 = LOW, 1 = HIGH) A BS2 tárolja ezeket az információkat, de addig nem hat rájuk, amíg ki nem jelentjük, hogy melyek a kimenetek. Ez a lépés kulcsfontosságú, mivel csak két csapnak kell egyszerre kimenni. A többi bemenetnek kell lennie, amely ezeket a csapokat nagy impedanciájú üzemmódba állítja, így nem süllyesztik el az áramot. Meg kell hajtanunk a P0 és P1 meghajtókat, így azokat kimenetekre, a többit pedig bemenetekre állítjuk be, így: "DIRS = % 00011". (% Azt jelzi, hogy bináris számot kell követni. A legalacsonyabb bináris szám mindig a jobb oldalon van. 0 = INPUT, 1 = OUTPUT) Tegyük ezt össze néhány hasznos kódba: '{$ STAMP BS2e}' {$ PBASIC 2.5} DO OTS = %11110 'Hajtás P0 alacsony és P1-P4 magas DIRS = %00011' P0- P1 kimenetként és P2-P4 bemenetként PAUSE 250 'Szünet, amíg a LED továbbra is világít DIRS = 0' Állítsa az összes érintkezőt bemenetre. Ez kikapcsolja a LED PAUSE 250 'szüneteltetését, hogy a LED kialudjon
5. lépés: A fejlesztési ciklus
Most, hogy láttunk egy tűs munkaidőt, hogy megbizonyosodjunk arról, hogy mindannyian működnek. 20led_Zig-Zag.bse Észre fogja venni, hogy miután minden tüske kigyulladt, a "DIRS = 0" billentyűt használom, hogy az összes érintkezőt bemenetre változtassam. Ha az OUTS -t úgy változtatja meg, hogy nem kapcsolja ki a kimeneti csapokat, akkor "szellemkép" jelenik meg, ahol egy nem led világító led villoghat a ciklusok között. Ha a kód elején a W1 változót "W1 = 1" -re módosítja csak 1 milliszekundum szünet lesz minden egyes LED villogás között. Ez perzisztáló látás (POV) hatást idéz elő, amely úgy tűnik, mintha minden LED világítana. Ennek az a hatása, hogy a LED -ek halványabbá válnak, de ez a lényege annak, hogyan jelenítjük meg a karaktereket ezen a mátrixon. LED -ek használható mintává. Ez a fájl az első próbálkozásom. Látni fogja, hogy a fájl alján a karakterek négy, 5 jegyű bináris sorban vannak tárolva. Minden sor beolvasásra, elemzésre kerül, és egy alprogramot hívnak meg minden alkalommal, amikor egy LED-et meg kell világítani. Ez a kód működik, az 1-0 számok között. Ha mégis megpróbálja futtatni, vegye észre, hogy nagyon lassú frissítési gyakoriság sújtja, és a karakterek szinte túl lassan villognak ahhoz, hogy felismerjék őket. Ez a kód sok okból rossz. Először is, az öt számjegyű bináris ugyanannyi helyet foglal el az EEPROM -ban, mint a 8 bináris számjegy, mivel minden információ négy bites csoportokban van tárolva. Másodszor, a SELECT CASE, amely eldöntötte, melyik tűt kell megvilágítani, 20 tokot igényel. A BS2 SELECT műveletenként 16 esetre korlátozódik. Ez azt jelenti, hogy meg kellett akadályoznom ezt a korlátozást egy IF-THEN-ELSE utasítással. Biztosan van jobb módszer. Néhány órányi fejvakarás után felfedeztem.
6. lépés: Jobb tolmács
A mátrixunk minden sora 4 LED -ből áll, mindegyik be- vagy kikapcsolható. A BS2 négy bitből álló csoportokban tárolja az információkat az EEPROM -ban. Ennek az összefüggésnek sokkal könnyebbé kell tennie a dolgunkat. Ezen túlmenően négy bit felel meg a 0-15 tizedes számoknak, összesen 16 lehetőség esetén. Ez nagyban megkönnyíti vagy kiválasztja az esetet. Íme a 7-es szám az EEPROM-ban tárolva: '7 %1111, %1001, %0010, %0100, %0100, Minden sor tizedes egyenértékű 0-15-ig, ezért olvasunk egy sort a memóriából, és közvetlenül a SELECT CASE funkcióba kell bevinni. Ez azt jelenti, hogy az emberi olvasható bináris mátrix, amelyet az egyes karakterek elkészítéséhez használtak (1 = led, 0 = led off), a kulcs a tolmács számára. Annak érdekében, hogy ugyanazt a SELECT CASE -t használhassam az 5 sor mindegyikében, más kiválasztott kisbetűt használtam hogy a DIRS és OUTS változókat állítsa be. Először a karakter öt sorában olvastam el az ROW1-ROW5 változókat. A főprogram ezután felhívja az alprogramot, hogy megjelenítse a karaktert. Ez az alprogram átveszi az első sort, és a négy lehetséges OUTS kombinációt az outp1-outp4 változóhoz, a két lehetséges DIRS kombinációt pedig az directc1 és Direc2 értékekhez rendeli. A LED -ek villognak, a sorszámláló növekszik, és a többi négy sor mindegyikénél ugyanaz a folyamat fut. Ez sokkal gyorsabb, mint az első tolmácsprogram. Ennek ellenére még mindig észrevehető villogás figyelhető meg. Nézze meg a videót, a kamera sokkal rosszabbá teszi a villódzást, de megérti. Ha ezt a koncepciót egy sokkal gyorsabb chipre, például egy picMicro -ra vagy egy AVR -chipre továbbítja, ezek a karakterek látható villogás nélkül jeleníthetők meg.
7. lépés: Hová menjen innen
Nincs CNC -malom vagy marató kellékeim áramköri lapok készítéséhez, ezért nem fogom bekötni ezt a projektet. Ha van malma, és szeretne együttműködni a továbblépéshez, küldjön üzenetet. Szívesen fizetnék az anyagokért és a szállításért, még boldogabban, ha valami kész terméket mutatnék be ehhez a projekthez.
Egyéb lehetőségek: 1. Portolja át ezt egy másik chipre. Ez a mátrix kialakítás minden olyan chiphez használható, amelynek 5 i/o csapja van, amelyek háromállapotúak (nagy, alacsony vagy bemeneti (nagy impedanciájú) csapok). 2. Egy gyorsabb chip (esetleg AVR vagy picMicro) használatával növelheti a skálát. Egy 20 tűs chipnél 14 érintkezőt használhat a 8x22 -es kijelző charlieplexelésére, a többi tűt pedig soros parancsok fogadására a számítógéptől vagy egy másik vezérlőtől. Használjon további három 20 tűs chipet, és 8x88 méretű görgető kijelzővel rendelkezhet, összesen 11 karakterre (természetesen az egyes karakterek szélességétől függően). Sok szerencsét, jó szórakozást!
Ajánlott:
TTGO (színes) kijelző Micropython-szal (TTGO T-kijelző): 6 lépés
TTGO (színes) kijelző Micropython-szal (TTGO T-kijelző): A TTGO T-Display az ESP32 alapú tábla, amely 1,14 hüvelykes színes kijelzőt tartalmaz. A táblát 7 dollárnál kisebb nyereményért lehet megvásárolni (beleértve a szállítást, a banggoodon látható díjat). Ez hihetetlen nyeremény egy kijelzővel ellátott ESP32 -ért
D4E1 - Művészek: Bélyegző: 5 lépés (képekkel)
D4E1 - Művészek: Stampcrane: A Stampcrane segédeszköz 4-5 éves és idősebb gyermekek számára. Úgy tervezték, hogy úgy nézzen ki, mint egy daru, hogy növelje a bélyegzés szórakoztató tényezőjét. Játék közben a gyerekek megtanulják a bélyegző együttes rögzítését mindkét kezükkel. A daru egyenlő
I2C / IIC LCD kijelző - SPI LCD használata az I2C LCD kijelzőhöz Az SPI to IIC modul használata Arduino -val: 5 lépés
I2C / IIC LCD kijelző | Használjon SPI LCD -t az I2C LCD -kijelzőhöz Az SPI -IIC modul használata Arduino -val: Sziasztok, mivel egy normál SPI LCD 1602 -nek túl sok vezetékét kell csatlakoztatni, ezért nagyon nehéz összekapcsolni az arduino -val, de a piacon elérhető egy modul konvertálja az SPI kijelzőt IIC kijelzővé, így csak 4 vezetéket kell csatlakoztatnia
Automatikus bélyegző: 4 lépés
Automatikus bélyegző: Ez az oktatható egyszerű és olcsó módja annak, hogy olyan gépet készítsen, amely automatikusan lepecsételi a papírokat vagy bármit, amire szüksége van az osztályteremben vagy az otthoni használatra. Ennek összköltsége körülbelül 70 dollár lesz, a fő költség a mágnesszelepből származik, amely
Egyszerű alap LED áramkör (a LED -ek használata): 4 lépés
Egyszerű alap LED -áramkör (a LED -ek használata): Ez az oktatható útmutató a LED -ek használatát és az egyszerű egyszerű LED -áramkörök elkészítését mutatja be, amely áramkorlátozó ellenállást kell használni a 3V, 6V, 9V és LED -ek működtetéséhez. 12V. A LED fontos eleme az elektronikának, többféle célra használják