Sisukord:
- Eesmärgid
- Kogemused ja oskused
- Vastutusest loobumine ja krediit
- Samm: osad
- Osade nimekiri
- Üldosad
- Siin kasutatavad eriosad
- Märkused osade kohta
- 2. samm: maatriks
- Ehituse kaalutlused
- Maatriksi ehitamine
- Oluline
- 3. samm: riistvara juhtimine
- Juhtimisriistvara ehitamine
- 4. samm: tarkvara
- Trikk
- Vahetusregistrid: kuidas
- Ekraani aadressimine
- Programmeerimine
- Tegevuses
- 5. samm: modulaarsed kontseptsioonid
- Matemaatika
- Kaskaadivahetusega registrid
- Mitme rea draiverid
- Näiteks
- 6. samm: järeldus
- Võimalikud täiendused
- 7. samm: järelmeetmed
- Trükkplaadi omadused
- Kokkupanek
Video: LED -maatriks vahetusregistrite abil: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
See juhend on mõeldud olema täielikum selgitus kui teised võrgus kättesaadavad. Nimelt annab see rohkem riistvara selgitusi, kui on saadaval LED -telgis, mida juhendab led555.
Eesmärgid
Selles juhendis esitatakse vahetusregistrite ja kõrgetasemeliste juhtidega seotud mõisted. Illustreerides neid kontseptsioone 8x8 LED -maatriksiga, loodan teile pakkuda tööriistu, mida on vaja, et kohanduda ja laiendada projekti suurust ja paigutust.
Kogemused ja oskused
Ma hindan seda projekti keskmise raskusastmega:
- Kui teil on juba mikrokontrollerite programmeerimise ja LED -idega töötamise kogemus, peaks see projekt olema üsna lihtne lõpule viia ja skaleerida suuremate tulede jaoks.
- Kui alles alustate mikrokontrolleritega ja vilgutate LED -i või kaks, peaksite saama selle projekti lõpule viia meie sõbra Google abiga.
- Kui teil on mikrokontrollerite või programmeerimise alal vähe kogemusi või pole neid üldse, on see tõenäoliselt kaugemale sellest, millega peaksite tegelema. Proovige mõnda muud algaja projekti ja tulge tagasi, kui teil on rohkem kogemusi mikrokontrolleritele programmide kirjutamiseks.
Vastutusest loobumine ja krediit
Esiteks, ma ei ole elektriinsener. Kui näete midagi valesti või mitte parimat tava, andke mulle sellest teada ja ma parandan. Tehke seda omal vastutusel! Te peaksite teadma, mida teete, või võite kahjustada oma arvutit, mikrokontrollerit ja isegi ennast. Olen Internetist palju õppinud, eriti foorumitel aadressil: https://www.avrfreaks.net fondikomplekt, mis oli kaasas universaalse C raamatukoguga ks0108. Vaata siit:
Samm: osad
Osade nimekiri
Üldosad
8x8 LED -võrgu loomiseks ja nende juhtimiseks vajate:
- 64 teie valitud LED -i
- 8 LEDide takistid
- 1 Veergude nihkeregister
- 1 Ridade draiverimassiiv
- 8 Takistid juhi massiivi vahetamiseks
- 1 mikrokontroller
- 1 kellaallikas mikrokontrollerile
- 1 prototüüpimisplaat
- 1 toiteallikas
- Haakimisjuhe
Siin kasutatavad eriosad
Selle juhendamise jaoks kasutasin järgmist:
- 64 rohelist LED-i (hiire osa #604-WP7113GD)
- 8 220 oomi 1/4 vatti takistit LED-ide jaoks (Mouseri osa #660-CFS1/4CT52R221J)
- 1 HEF4794 LED-draiver koos vahetusregistriga (hiire osa #771-HEF4794BPN)
- 1 mic2981 Kõrgepingeline suure voolu allika draiverimassiiv (Digikey osa #576-1158-ND)
- 8 3,3 kOhm 1/4 vatti takisti draiveri massiivi vahetamiseks (raadiosaatja osa #271-1328)
- 1 Atmel ATmega8 mikrokontroller (hiire osa #556-ATMEGA8-16PU)
- 1 12MHz kristall mikrokontrolleri kellaallika jaoks (hiire osa #815-AB-12-B2)
- 1 2200 auguga prototüüpimisplaat (raadiosaatja osa #276-147)
- Teisendatud ATX toiteallikas: vaadake seda juhendit
- Tugev südamik 22-awg haaketraat (raadiosaatja osa #278-1221)
- Jooteta leivalaud (raadiosaatja osa #276-169 (pole enam saadaval, proovige: 276-002)
- AVR Dragon (hiire osa #556-ATAVRDRAGON)
- Ecros Technologies Dragon Rider 500: vaadake seda juhendit
Märkused osade kohta
Ridade ja veergude draiverid: ilmselt on selle projekti kõige raskem osa ridade ja veergude draiverite valimine. Esiteks ei arva ma, et tavaline 74HC595 vahetusregister on siin hea mõte, sest nad ei saa hakkama sellise vooluga, mida me tahame LED -ide kaudu saata. Seetõttu valisin HEF4794 draiveri, kuna see võib hõlpsasti praegust voolu uputada, kui kõik 8 LED -d on ühes reas sisse lülitatud. Nihkeregister asub madalal küljel (LED -ide maandusnõel). Vajame rea draiverit, mis suudab toota piisavalt voolu mitme veeru ühendamiseks. Mic2981 võib toita kuni 500 mA. Ainus teine osa, mille olen selle ülesande täitmisel leidnud, on UDN2981 (digikey osa #620-1120-ND), mis on sama tootja osa. Palun saatke mulle sõnum, kui teate teisi kõrgetasemelisi draivereid, mis selles rakenduses hästi toimiksid. Suurema LED -massiivi võib luua mitme maatriksi ühendamisega ja seda arutatakse etapis "moodulkontseptsioonid". Kui soovite suurt massiivi, tellige kõik vajalikud osad korraga. Ühes mugavas pakendis on saadaval 8x8, 5x7 ja 5x8 LED -maatriksid. Neid peaks olema lihtne diy -maatriksiga asendada. Ebay on nende jaoks hea allikas. Mouseril on saadaval umbes 5x7 ühikut, näiteks osa #604-TA12-11GWA. Kasutasin odavaid rohelisi LED -e, sest mängin lihtsalt ringi ja lõbutsen. Kui kulutate rohkem suure heledusega ja suure efektiivsusega LED-idele, saate luua palju suurejoonelisema väljanägemisega ekraani … see on minu jaoks siiski piisavalt hea! Riistvara: maatriksit juhib Atmel AVR mikrokontroller. Selleks vajate programmeerijat. Kuna teen prototüüpe, kasutan Dragon Rider 500, mille jaoks olen kirjutanud nii kokkupaneku- kui ka kasutusjuhendid. See on lihtne tööriist prototüüpimiseks ja ma soovitan seda väga.
2. samm: maatriks
Ma ehitan selle projekti jaoks oma LED -maatriksi, kasutades 5 mm LED -e ja Radio Shacki prototüüpimist. Tuleb märkida, et 8x8 punktmaatriksiga led -mooduleid saate osta mitmest allikast, sealhulgas ebayst. Selle juhendiga peaksid nad suurepäraselt töötama.
Ehituse kaalutlused
Joondamine LEDid tuleb joondada nii, et need oleksid sama nurga all samas suunas. Leidsin, et minu jaoks on kõige lihtsam variant panna LED -i korpus korpuse külge ja hoida seda väikese pleksiklaasitüki ja klambriga. Panin paar LED -i paika paar tolli eemal reast, mille kallal töötasin, et veenduda, et pleksiklaas on prototüüpimisplaadiga paralleelne. Ridad ja veerud Meil peab olema iga rea ja iga veeru jaoks ühine ühendus. Meie rea ja veeru draiveri valiku tõttu peame anoodi (LED -i positiivne juhe) ühendama reaga ja katoodi (LED -i negatiivne juhe) veeruga. Selle prototüübi jaoks kasutan tahket südamikku (ühe juhtmega) haaketraati. Seda on väga lihtne liimida jootevaba leivalauaga. Kasutage oma projekti jaoks sobivat tüüpi pistikuid.
Maatriksi ehitamine
1. Asetage LED -ide esimene veerg prototüüpimisplaadile.2. Kontrollige uuesti, kas teie polaarsus on iga LED -i puhul õige, seda on hiljem väga raske parandada. Jootke LED -i mõlemad juhtmed plaadile. Kontrollige, kas need on õigesti joondatud (mitte kummaliste nurkade all) ja katkestage katoodijuhtmed. Veenduge, et te anoodijuhet ei klammerdaks, vajame seda hiljem, nii et jätke see ülespoole. Eemaldage isolatsioon tahke südamiku juhtmest. Jootke see traat iga katoodiga otse plaadi tasemel.
- Koputasin selle mõlemas otsas, siis läksin tagasi ja lisasin igasse ristmikku natuke jootet.
- See juhe peaks juhtima teie viimasest valgusdioodist, et juhtimisjuhtmete lisamisel oleks lihtne liides.
5. Korrake osi 1-4, kuni kõik LED-id on paigas ja kõik veerusiinid on joodetud.6. Reasiini loomiseks painutage mitu anoodijuhet 90 -kraadise nurga all nii, et need puudutaksid sama rea teisi anoodjuhtmeid.
- Selle kohta on üksikasjalikud pildid allpool.
- Olge ettevaatlik, et need ei puutuks kokku veerusiinidega, tekitades lühise.
7. Jootke juhtmed igal ristmikul ja eemaldage üleliigsed anoodjuhtmed.
Jätke viimane anood viimase LED -i juurest kinni. Seda kasutatakse rida juhi juhtmete ühendamiseks
8. Korrake osi 6 ja 7, kuni kõigi ridade bussid on joodetud. Kinnitage juhtimisjuhtmed.
- Ridade jaoks kasutasin punast tahket südamikutraati ja veergude jaoks musta.
- Ühendage üks traat iga veeru jaoks ja üks iga rea jaoks. Seda saab hõlpsasti teha iga bussi lõpus.
Oluline
Sellel LED -maatriksil puuduvad voolu piiravad takistid. Kui katsetate seda ilma takistiteta, põletate tõenäoliselt oma LED -id läbi ja kogu see töö on asjata.
3. samm: riistvara juhtimine
Peame kontrollima oma LED -maatriksi veerge ja ridu. Maatriks on konstrueeritud nii, et rida moodustavad anoodid (LED -i pingepool) ja veerud katoodid (LED -i maapealne külg). See tähendab, et meie ridadraiver peab voolu hankima ja meie veerudraiver selle uputama. Nööpnõelte säästmiseks kasutan veergude juhtimiseks nihkeregistrit. Nii saan juhtida peaaegu piiramatut arvu veerge vaid nelja mikrokontrolleri tihvtiga. Võimalik on kasutada ainult kolme, kui väljundi lubamise pin on otseselt pingega seotud. Olen valinud vahetusregistriga LED -draiveri HEF4794. See on parem valik kui tavaline 74HC595, kuna see võib hõlpsasti praegust voolu uputada, kui kõik 8 LED -i põlevad korraga. Kõrgel küljel (ridade praegune allikas) kasutan mic2981. Skeemil on UDN2981, usun, et need kaks on asendatavad. See draiver võib toita kuni 500 mA voolu. Kuna sõidame ainult 1 rida korraga, annab see palju võimalusi laienemiseks, kuni 33 veergu selle kiibi jaoks (sellest lähemalt "moodulkontseptsioonide" etapis).
Juhtimisriistvara ehitamine
Selle õpetatava jaoks olen just selle vooluahela leivalauale pannud. Püsivama lahenduse saamiseks soovite söövitada oma trükkplaadi või kasutada prototüüpimist. Reajuht
- Asetage mic2981 (või UDN2981) leivalauale
- Ühendage pin 9 pingega (see on skeemil segane)
- Ühendage tihvt 10 maapinnaga (see on skeemil segane)
- sisestage 3k3 takistid, mis ühendavad tihvtidega 1-8
- Ühendage ATmega8 (PD0-PD8) pordist D 8 takisti külge
- Ühendage LED-maatriksi 8 rea juhtjuhtmed tihvtidega 11-18 (pange tähele, et olen ühendanud madalaima valgusdioodide rea tihvtiga 18 ja kõrgeima rea tihvtiga 11).
2. Veerujuht
- Asetage hef4794 leivalauale
- Ühendage pin 16 pingega
- Ühendage tihvt 8 maandusega
- Ühendage 220 oomi takistid tihvtidega 4-7 ja 11-14.
- Ühendage LED -maatriksist 8 veeru juhttraat äsja ühendatud 8 takistiga.
- Ühendage Pin1 (riiv) ATmega8 PC0 -ga
- Ühendage Pin2 (andmed) ATmega8 PC1 -ga
- Ühendage Pin3 (kell) ATmega8 PC2 -ga
- Ühendage Pin15 (lubage väljund) ATmega8 PC3 -ga
3. Kellakristall
Ühendage 12MHz kristall ja koormuskondensaatorid, nagu on näidatud skemaatiliselt
4. Interneti -teenuse pakkuja
Ühendage programmeerimispäis, nagu on näidatud skemaatiliselt
5. Filtreeriv kondensaator ja tõmbetakisti
- Parim on filtreerida ATmega8 toitepinge. Kasutage 0.1uf kondensaatorit ATmega8 kontaktide 7 ja 8 vahel
- Lähtestusnõela ei tohi jätta vedelema, kuna see võib põhjustada juhuslikke lähtestamisi. Kasutage pingega ühendamiseks takistit, kõik umbes 1k peaks olema hea. Olen skeemil kasutanud 10k takistit.
6. Veenduge, et kasutate +5v reguleeritud toiteallikat. Regulaatori kujundamine on teie otsustada.
4. samm: tarkvara
Trikk
Jah, nagu kõik, on ka trikk. Trikk on selles, et kunagi ei põle korraga rohkem kui 8 LED -i. Et see hästi toimiks, on vaja natuke kavalat programmeerimist. Minu valitud kontseptsioon on taimeri katkestuse kasutamine. Ekraani katkestus töötab lihtsas inglise keeles järgmiselt.
- Taimer loeb teatud punktini, kui katkestusteenuse rutiin on saavutatud.
- See rutiin otsustab, milline rida kuvatakse järgmisena.
- Järgmise rea teave otsitakse puhvrist üles ja nihutatakse veerudraiverisse (see teave ei ole "lukustatud", nii et seda ei kuvata veel).
- Reajuht on välja lülitatud, praegu ei põle ühtegi LED -i.
- Veerudraiver on "lukustatud", muutes kahe sammu eest nihutatud teabes praeguse kuvatava teabe.
- Seejärel annab rea draiver uuele kuvatavale reale voolu.
- Katkestusteenuse rutiin lõpeb ja programm naaseb normaalsele voole kuni järgmise katkestuseni.
See juhtub väga kiiresti. Katkestus visatakse iga 1 mSek. See tähendab, et värskendame kogu ekraani umbes kord 8 mSec. See tähendab kuvamissagedust umbes 125 Hz. Heleduse pärast on mõningane mure, sest sisuliselt kasutame LED -e 1/8 töötsükliga (need on 7/8 ajast välja lülitatud). Minu puhul saan piisavalt heleda ekraani ilma nähtava vilkumiseta. Täielik LED -ekraan on kaardistatud massiivina. Katkestuste vahel saab massiivi muuta (arvestage aatomilisusega) ja see kuvatakse ekraanile järgmise katkestuse ajal. AVR -i mikrokontrolleri koodi kirjutamise ja vahetusregistritega rääkimiseks koodi kirjutamise eripärad jäävad väljapoole sellest juhendatav. Olen lisanud lähtekoodi (kirjutatud C-vormingus ja koostatud AVR-GCC-ga) ning hex-faili otse programmeerimiseks. Olen kommenteerinud kogu koodi, nii et peaksite seda kasutama, et selgitada kõik küsimused selle kohta, kuidas andmeid vahetusregistrisse saada ja kuidas ridade värskendamine töötab. Pange tähele, et kasutan fondifaili, mis oli ks0108 universaalne C raamatukogu. Selle raamatukogu leiate siit:
Vahetusregistrid: kuidas
Olen otsustanud lisada natuke selle kohta, kuidas vahetusregistritega programmeerida. Loodan, et see selgitab neile, kes pole nendega varem töötanud. Mida nad teevad? Nihkeregistrid võtavad signaali ühest juhtmest ja väljastavad selle teabe paljudele erinevatele kontaktidele. Sel juhul on üks andmeside, mis võtab andmeid ja 8 tihvti, mida juhitakse sõltuvalt sellest, milliseid andmeid on saadud. Asjade paremaks muutmiseks on iga vahetusregistri jaoks olemas väljund, mille saab ühendada teise vahetusregistri sisendpoldiga. Seda nimetatakse kaskaadiks ja see muudab laienemisvõimaluse peaaegu piiramatuks väljavaateks. Control PinsShift registritel on 4 juhtnuppu:
- Riiv - see tihvt teatab vahetuste registrile, millal on aeg minna üle äsja sisestatud andmetele
- Andmed - 1 -d ja 0 -d ütlevad vahetusregistrile, milliseid tihvte aktiveeritakse.
- Kell - see on mikrokontrolleri saadetud impulss, mis käsib vahetuste registril andmeid lugeda ja kommunikatsiooniprotsessi järgmise sammu juurde liikuda
- Luba väljund - see on sisse/välja lüliti, kõrge = sees, madal = väljas
Pakkumiste tegemine: siin on ülaltoodud juhtnööpnõelte toimimise lühikursus: 1. samm: seadke riiv, andmed ja kell madalaks
Riivi madalaks seadmine ütleb vahetuste registrile, et me hakkame sellele kirjutama
2. samm: määrake andmeliigutus loogikaväärtusele, mille soovite vahetuste registrisse saata
Kõik muud praegu nihkeregistris olevad väärtused liiguvad 1 koha võrra üle, jättes ruumi andmestiku praegusele loogilisele väärtusele
4. samm: seadke kella tihvt madalale ja korrake samme 2 ja 3, kuni kõik andmed on vahetusregistrisse saadetud.
Enne järgmise andmeväärtuse muutmist tuleb kellanupp madalaks seada. Selle tihvti vahetamine kõrge ja madala vahel loob "kellaimpulsi", mida nihkeregister peab teadma, millal protsessi järgmise sammu juurde liikuda
Samm: seadke riiv kõrgele
See käsib vahetuste registril võtta kõik nihutatud andmed ja kasutada neid väljundnööpide aktiveerimiseks. See tähendab, et te ei näe andmeid nihkudes; väljundpoldid ei muutu enne, kui riiv on kõrgele seatud
6. samm: seadke väljundi lubamine kõrgeks
- Pin -väljundit ei toimu enne, kui Enable Output on seatud kõrgele, olenemata sellest, mis toimub ülejäänud kolme juhtnööpiga.
- Soovi korral võib selle tihvti alati kõrgele jätta
Kaskaadimiseks on kaks tihvti, Os ja Os1. Os on kiiresti tõusvate ja Os1 aeglaselt tõusvate kellade jaoks. Haakige see tihvt järgmise nihkeregistri andmetihvtiga ja selle kiibi ülevool sisestatakse järgmisesse. Värskenduse lõpp
Ekraani aadressimine
Näidisprogrammis olen loonud 8 -baidise massiivi, mille nimi on row_buffer . Iga bait vastab 8x8 kuva ühele reale, rida 0 on alumine ja rida 7 ülemine. Iga rea kõige vähem oluline bit on paremal, kõige olulisem bit vasakul. Ekraani vahetamine on sama lihtne kui sellele andmemassiivile uue väärtuse kirjutamine, katkestusteenuse rutiin hoolitseb ekraani värskendamise eest.
Programmeerimine
Programmeerimist siin üksikasjalikult ei käsitleta. Hoiatan teid, et ärge kasutage DAPA programmeerimiskaablit, kuna usun, et te ei saa kiipi programmeerida, kui see töötab sagedusel 12 MHz. Kõik teised standardprogrammeerijad peaksid töötama (STK500, MKII, Dragon, Parallel/Serial programmeerijad jne). Kaitsmed: veenduge, et programmeerite kaitsmed 12MHz kristallkaitsme kasutamiseks: 0xC9lfuse: 0xEF
Tegevuses
Kui kiip on programmeeritud, peaks ekraan kerima "Tere maailm!". Siin on video LED -maatriksist toimingutes. Videokvaliteet on üsna madal, kuna tegin selle oma digikaamera videofunktsiooniga, mitte korraliku video või veebikaameraga.
5. samm: modulaarsed kontseptsioonid
See projekt on skaleeritav. Ainus tõeline piirav tegur on see, kui palju voolu teie toide suudab pakkuda. (Teine reaalsus on see, kui palju LED -e ja registrivahetajaid teil on saadaval).
Matemaatika
Ma sõidan LED-idega umbes 15mA (5V-1,8vDrop/220ohms = 14,5mA). See tähendab, et ma saan sõita kuni 33 veergu koos mic2981 draiveriga (500mA/15mA = 33,3). Jagatuna 8 -ga näeme, et see võimaldab meil nöörida 4 vahetuste registrit. Arvestage ka sellega, et kõik 32 veergu ei pea venima vasakult paremale. Selle asemel võite luua 16x16 massiivi, mis on juhtmega samamoodi nagu 8x32 massiiv. Sellega tegeleksime 4 baiti nihutades … kaks esimest liiguksid kuni 9. rea LED -ideni, kaks teist baiti esimesesse ritta. Mõlemad read saadakse rea juhi ühe tihvtiga.
Kaskaadivahetusega registrid
Kasutatavad vahetuste registrid on kaskaadne vahetuste register. See tähendab, et andmete nihutamisel ilmub ülevool Os -tihvtile. See muutub väga kasulikuks, kuna vahetusregistrite komplekti saab üksteisega ühendada, Os -tihvti andmeklemmile, lisades iga uue kiibiga 8 veergu. Kõik nihkeregistrid ühendatakse sama riiviga, kellaga ja lubage väljundnupud mikrokontroller. "Kaskaadiefekt" tekib siis, kui esimese vahetusregistri osad on ühendatud teise andmestikuga. Programmeerimist tuleb muuta, et kajastada veergude arvu suurenemist. Nii puhvrit, mis teavet salvestab, kui ka funktsiooni, mis nihutab teavet iga veeru kohta, tuleb värskendada, et kajastada tegelikku veergude arvu. Selle skeem on toodud allpool näitena.
Mitme rea draiverid
Readraiver (mic2981) saab 32 veeru juhtimiseks piisavalt voolu. Mis siis, kui soovite rohkem kui 32 veergu? Peaks olema võimalik kasutada mitut rida draivereid, ilma et oleks vaja kasutada rohkem mikrokontrolleri tihvte. Meil on vaja, et ridade draiverid tooksid LED -ide valgustamiseks piisavalt voolu. Kui kasutate rohkem veerge, kui korraga on võimalik valgustada, saavad täiendavad ridade draiverid anda vajaliku voolu. Kasutatakse samu mikrokontrolleri sisendnuppe, seega ei ole vaja ridade skaneerimist muuta. Teisisõnu, iga juht kontrollib 8x32 ploki ridu. Kuigi 64 veerul võib olla sama FÜÜSILINE ridade paigutus, jagame ridabussid kaheks, kasutades esimese 32 veeru 8 rea jaoks ühte draiverit ja teise 32 veeru 8 rea jaoks teist draiverit jne. Selle skemaatiline näide on toodud allpool. Võimalikud eksimused: Ärge kasutage sama veergude arvuga mitut rida draivereid. See tähendaks, et iga vahetusregistri tihvt juhib korraga rohkem kui ühte LED -i. Iga rea draiveri jaoks peab teil olema 8 takisti (3k3), üks komplekt mitme rea draiverite jaoks ei tööta, kuna see ei taga väravate vahetamiseks vajalikku voolu.
Näiteks
Otsustasin laiendada varem ehitatud maatriksit. Olen lisanud veel 7 rida kokku 15 -le, kuna see on kõik, mida ma sellele protoboardile mahutan. Samuti sain just teada konkursist, mida Instructables teeb, nimega "Let it Glow". Siin on video minu suhtumisest sellesse. Taaskord, digitaalkaamera, millega video tegin, ei tee seda õiglaselt. See näeb inimsilmale hea välja, eriti kui kõik LED -id vilguvad, kuid ei tundu videos peaaegu sama hea. Naudi: selle suurema ekraani lähtekood on allpool.
6. samm: järeldus
Võimalikud täiendused
I2CI on jätnud kaks juhtme liidese (I2C) tihvti selles disainis kasutamata. Neid kahte tihvti saab kasutada mitmeid huvitavaid väljavaateid. I2C EEPROM -i lisamine võimaldab salvestada palju suuremaid sõnumeid. Samuti on väljavaade kavandada programmeerimine, et muuta mega8 I2C -ga ühilduvaks kuvaridraiveriks. See avab võimaluse, et USB -toega seade kuvab teie LED -massiivi andmeid, edastades need üle I2C -siini. See võimaldaks sõnumeid programmeerida menüüsüsteemi kaudu. Ekraan Selle juhendi jaoks rakendasin ma vaid paari kuvamisfunktsiooni. Üks lihtsalt kirjutab ekraanile tähemärke, teine kerib tähti ekraanile. Oluline on meeles pidada, et tuledes nähtav on kujutatud andmemassiivis. Kui mõtlete andmemassiivi muutmiseks välja viimistlusviise, muutuvad tuled samamoodi. Mõned ahvatlevad võimalused hõlmavad veergudest graafilise mõõturi loomist. Seda saab kasutada signaalianalüsaatorina koos stereoga. Kerimist saab rakendada ülalt alla või alt üles, isegi vasakult paremale. Palju õnne, nautige!
7. samm: järelmeetmed
Pärast seda, kui olin lasknud kontrolleriahelal kuude kaupa leivaplaadil istuda, kujundasin ja söövitasin lõpuks mõned trükkplaadid selle prototüübi kokku panemiseks. Kõik õnnestus suurepäraselt, ma ei usu, et oleks midagi, mida oleksin teisiti teinud.
Trükkplaadi omadused
- Nihkeregistrid asuvad eraldi tahvlitel, mille saab kuvari suuruse suurendamiseks aheldada.
- Kontrollerplaadil on oma toiteregulaator, nii et seda saab juhtida igast toiteallikast, mis pakub 7v-30v (9v aku või 12v pingivarustus töötavad minu jaoks suurepäraselt).
- Kaasas 6 -kontaktiline ISP -päis, nii et mikrokontrollerit saab ümber programmeerida ilma seda plaadilt eemaldamata.
- Saadaval on 4-kontaktiline päis I2C siini edaspidiseks kasutamiseks. Seda saab kasutada eepromi jaoks, et salvestada rohkem sõnumeid või isegi muuta see orjaseadmeks, mida juhib teine mikrokontroller (RSS -i märkija keegi?)
- Kujunduses on 3 hetkelist surunuppu. Ma võin tulevikus püsivara muuta, et lisada nende nuppude kasutamine.
Kokkupanek
Andke mulle pleksiklaas, nurgaklambrid, 6x32 masinakruvid, mutrid ja seibid, samuti kraanikomplekt aukude keermestamiseks ja võin kõike luua.
Teine auhind lase särada!
Soovitan:
Kuidas teha drooni Arduino UNO abil - Mikrokontrolleri abil kvadkopteri valmistamine: 8 sammu (piltidega)
Kuidas teha drooni Arduino UNO abil | Valmistage mikrokontrolleri abil kvadropter: Sissejuhatus Külastage minu Youtube'i kanalit Droon on ostmiseks väga kallis vidin (toode). Selles postituses arutlen, kuidas seda odavalt teha ?? Ja kuidas saate oma odava hinnaga sellist teha … No Indias kõik materjalid (mootorid, ESC -d
Neopixel Ws2812 Rainbow LED-helendus koos M5stick-C - Vikerkaare käivitamine Neopixel Ws2812 -l M5stack M5stick C abil Arduino IDE abil: 5 sammu
Neopixel Ws2812 Rainbow LED-helendus koos M5stick-C | Vikerkaare jooksmine Neopixel Ws2812-l M5stack M5stick C kasutamine Arduino IDE kasutamine: Tere poisid, selles juhendis õpime, kuidas kasutada neopixel ws2812 LED-e või led-riba või led-maatriksit või led-rõngast koos m5stack m5stick-C arendusplaadiga Arduino IDE-ga ja teeme vikerkaare muster koos sellega
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
Mootori pöörete arvu autonoomne juhtimine tagasiside süsteemi abil IR -põhise tahhomeetri abil: 5 sammu (piltidega)
Mootori pöörlemiskiiruste autonoomne juhtimine tagasisidesüsteemi abil IR -põhise tahhomeetri abil: alati on vaja automatiseerida protsess, olgu see siis lihtne/koletu. Mul tekkis idee seda projekti teha lihtsast väljakutsest, millega silmitsi seistes leidsin meetodid meie väikese maatüki kastmiseks/niisutamiseks. Praeguse toiteliini puudumise probleem
Superlihtne arvuti juhtimine 110 Vac abil Crydom Solid-State Relay abil: 3 sammu (koos piltidega)
Superlihtne arvuti juhtimine 110 Vac abil Crydom Solid-State Relay abil: valmistun proovima oma kätt kuumutusplaadi jootmisel. Seetõttu vajasin ma 110Vac juhtimist arvutist. See juhend näitab, kuidas 110Vac hõlpsalt arvuti jadaväljundpordist juhtida. Minu kasutatav jadaport oli USB -tüüpi