Sisukord:

E-tindi ekraani lisamine oma projekti: 12 sammu (koos piltidega)
E-tindi ekraani lisamine oma projekti: 12 sammu (koos piltidega)

Video: E-tindi ekraani lisamine oma projekti: 12 sammu (koos piltidega)

Video: E-tindi ekraani lisamine oma projekti: 12 sammu (koos piltidega)
Video: TERVE ÖÖ KORTERMAJA POLTERGEISTiga filmisin jubedat tegevust. 2024, November
Anonim
Kuidas lisada oma projektile e-tindiekraani
Kuidas lisada oma projektile e-tindiekraani
Kuidas lisada oma projektile e-tindiekraan
Kuidas lisada oma projektile e-tindiekraan

Paljud projektid hõlmavad teatud tüüpi andmete, näiteks keskkonnaandmete jälgimist, kasutades sageli Arduino kontrolli. Minu puhul tahtsin jälgida oma veepehmendaja soola taset. Võimalik, et soovite andmetele juurde pääseda oma koduvõrgu kaudu, kuid samamoodi võiksite neid kuvada seal, kus neid mõõdetakse. Või võib teil olla alati sisse lülitatud kaugühendusega ekraan mugavamas kohas.

Nüüd saate kasutada mitut tüüpi ekraane, mis on üsna odavad, kuid millel on erinevad eelised ja puudused:

  • Tähtnumbriline LCD -ekraan on odavaim, kuid ka kõige piiratud.
  • OLED -ekraan võib kuvada graafikat, kuid odavad on väga väikesed. Teisel fotol on E-Ink kõrval 128x64 piksline OLED-ekraan.
  • E-Ink (või E-Paper) ekraan on mõnevõrra suurem ja seega hõlpsamini loetav ning selle eeliseks on see, et ekraan säilib ka siis, kui see on välja lülitatud! Kuid ekraani uuesti joonistamiseks kulub mitu sekundit.

E-Ink ekraan tundus minu rakenduse jaoks ideaalne, kuna sain programmeerida Arduino ärkama ainult iga paari tunni tagant, lugema ja kuvama selle enne magamaminekut. Siis ei ole mingit tähtsust, et ekraani ümberjoonistamine võtab mitu sekundit.

Sellise rakenduse korral saab keskmise voolutarbe nii madalaks korraldada, et 9 V liitiumisuitsuaku võib kesta 10 aastat! Veelgi enam, mõnel neist kuvaritest kuvatakse kolme värvi: valge, must ja punane (või kollane). Ideaalne, kui soovite hoiatust või hoiatust kuvada punasega.

Tarvikud

Minu leitud odavaimaid e-tindiekraane müüb BuyDisplay, mis on saadaval ka paljudelt eBay müüjatelt. Kahjuks jätab dokumentatsioon soovida, nii et võtsin endale õpetuse kirjutamise - lugege edasi!

Sõltuvalt teie vajadustest ja eelarvest on teil erinevaid suurusi:

  • 1,54 tolli (152x152 = 23, 104 pikslit)
  • 2,13 "(212x104 = 22, 048 pikslit)
  • 2,6 "(296x152 = 44, 992 pikslit)
  • 2,7 "(176x264 = 46, 464 pikslit)
  • 2,9 "(296x128 = 37, 888 pikslit)
  • 4,2 tolli (400 x 300 = 120 000 pikslit)
  • 5,83 "(640x480 = 307, 200 pikslit)
  • 7,5 tolli (880x528 = 464, 640 pikslit)

(Vahemik on laienenud alates eelmisest vaatamisest, nii et see võib olla selle lugemisega veelgi laienenud.)

Need on saadaval kahevärvilisena (must/valge) või 3 värvi (must/punane/valge või must/kollane/valge). Selles juhendis eeldatakse, et kasutate punast värvi, kuid kui olete valinud kollase versiooni, lugege kogu teksti jaoks "punane" lihtsalt "kollane".

Valige SPI (4-juhtmeline) versioon. Kasutasin 1,54 mudelit, mis on väga kena suurus.

Samm: ekraani ühendamine

Ekraani ühendamine
Ekraani ühendamine

Nendel kuvaritel on 2x4 -kontaktiline päis. Tihvtide numbrid on selgelt märgistatud, tihvtid 7, 5, 3 ja 1 (vasakult paremale) piki ülemist rida ja 8, 6, 4, 2 all.

Teie ekraanil võib olla 8-suunaline ühenduskaabel, mis muudab ühenduse lihtsaks. (Minu plaasterkaablil on 2 punast ja 2 pruuni juhet. Neid ei saa vahetada!

Järgmises tabelis on toodud ühendused, mis kehtivad enamiku Arduino tüüpide puhul (sealhulgas Uno, Pro Mini, Pro Micro ja Nano).

E-tindi moodul Arduino
Kinnita Nimi Kinnita Nimi
1 VDD Vcc 3.3/5V
2 VSS Gnd Gnd
3 Seeriaandmed 11 MOSI
4 Seeriakell sisse 13 SCK
5 /Chip Select 10
6 Andmed/Instr 9
7 Lähtesta 8
8 Seade on hõivatud 7

Samm: laadige alla kaasasolev tarkvara

Saate kasutada kaasasolevat tarkvara, nagu on kirjeldatud selles etapis, või võite kasutada minu täiustatud kogu järgmises etapis.

Leidke oma seade saidilt BuyDisplay.com. Lehe allservast leiate allalaaditava ZIP-faili "Arduino raamatukogu ja 4-juhtmelise SPI näide". Windows Exploreris allalaadimiseks ja avamiseks klõpsake seda.

Windows Explorer näitab seda kui ühte ülataseme kausta "Libraries-Examples_ER-EPM0154-1R". (Kui teie mudel ei ole 1,54 -tolline, on nimi pisut erinev.)

Kopeerige see tipptasemel kaust oma Arduino raamatukogude kausta. Paremklõpsake kausta ümbernimetamiseks ja kustutage nimest "Libraries-Examples_".

(Arduino raamatukogude kausta leidmiseks klõpsake Arduino IDE -s nuppu Fail… Eelistused ja märkige visandiraamatu asukoht. Liikuge sellele ja leiate eskiisikaustade hulgast kausta Arduino „teegid”.)

Avage see kaust ja avage selles olev kaust "Raamatukogud". Lohistage kõik selles kaustas olevad failid üks tase kõrgemale ülemkausta ("ER-EPM0154-1R"). Kustutage (nüüd tühi) kaust "Teegid".

Olete nüüd failid ja eksami visandi installinud Arduino teegiks. Pange tähele, et kui teie ekraan ei ole 1,54-tolline, näib ainus erinevus olevat ER-ERM*-1.h kaks rida, mis määravad laiuse ja kõrguse.

Klõpsake Arduino IDE-s nuppu Fail… Eksamid ja kerige demo visandi juurde alla ER-EPM0154-1R, mille peaksite saama kompileerida ja käivitada kohe, kui olete oma ekraani Arduinoga ühendanud.

3. samm: demo käitamine

Demo käivitamine
Demo käivitamine
Demo käivitamine
Demo käivitamine

Klõpsake Arduino IDE-s nuppu Fail… Näited… ER-EPM0154-1R.

Ühendage Arduino arvutiga USB -kaabli abil või tavapärasel viisil.

Määrake jaotises Tööriistad plaat, protsessor ja port.

Klõpsake jaotise Visand jaotises Laadi üles.

Pärast üleslaadimist on väike viivitus ja kümme viivitust vilgub mitu korda, kui see esimest pilti maalib. Vaadake, kuni see demo läbib.

4. samm: täiustatud kogu kasutamine

Minu täiustatud kogu saate alla laadida githubist aadressilt

N. B. Mul on suur kindlus, et minu raamatukogu töötab mis tahes suurusega ühilduva ekraaniga, kuid tegelikult olen seda testinud ainult 1,54 -tollise mudeliga. Kui kasutate mõnda muud, andke sellest mulle lõpus kommentaarides teada selle juhendi kohta, et kinnitada, et see töötab. Aga kui ei, siis annan endast parima, et saaksite edasi minna.

Laadige alla ja salvestage zip -fail. Arduino IDE -s klõpsake Sketch… Include Library… Lisa. ZIP Library ja valige salvestatud zip -fail.

Minu teek sisaldab mitmeid väiksemaid täiustusi:

  • See võimaldab kasutada erinevaid Arduino pin -numbreid (välja arvatud MOSI).
  • Sama raamatukogu saab kasutada mis tahes suurusega seadme jaoks.
  • Pakutakse uut 50% varjutatud täitmist ja täpilist täitmist (juhuslike pikslite komplekt).

Raamatukogu on standardne Arduino tihendatud (zip) fail. Laadige see alla kausta Allalaadimised (või sinna, kuhu soovite) ja klõpsake Arduino IDE -s visandit… Kaasa kogu… Lisa ZIP -teek.

Näidete alt leiate nüüd E-ink_ER-EPM. Visandeid on 3 näidet:

  • ER_EPM154-1R-Test: müüja pakutud esialgne demonstratsioon
  • E-ink_demo: visand töötati välja järgmistes etappides
  • E-ink_rotate: kujutise pööramise demonstratsioon.

Samm: programmeerige see ise

Kahjuks pole müüja esitatud koodiga dokumente ega näidiskoodi piisavalt kommenteeritud. See muudab selle kasutamise raskemaks, kui see peaks olema, ja selle juhendi peamine eesmärk on see parandada.

Põhikontseptsioonid

Kuna Arduino RAM -i maht on piiratud, võimaldab raamatukogu joonistada või kirjutada korraga väikestesse ekraani osadesse, laadides need ükshaaval üles seadme sisemällu. Alles pärast kõigi vajalike osade üleslaadimist käsite tal kuvada mällu salvestatud sisu.

Neid ekraani sektsioone tuntakse "Paint" objektidena. Teil on vaja ainult ühte ja iga ekraani osa jaoks määrate selle kõrguse, laiuse ja pöörlemise. Kui olete lõpetanud, laadite selle üles, määrates selle laadimise koha ekraanil ja kas see peaks olema mustvalge või punane ja valge.

Ekraani vasakus ülanurgas on horisontaalsed (x) ja vertikaalsed (y) koordinaadid (0, 0), all vasakul (0, 151) ja paremas ülanurgas (151, 0).

Initsialiseerimine

Avage E-ink_demo visand Arduino IDE-s ja järgige seda, kui ma kirjeldan, kuidas raamatukogu kasutada.

Visandi ülaosas näete järgmisi ridu, mida on alati vaja:

#include <SPI.h #include "ER-ERM0154-1.h" #include "imagedata.h" #include "epdpaint.h" #define VÄRVILINE 0 #define VÄRVITU 1 Epd epd;

#Include read tõmbavad vajalikke teeke. SPI.h on tavaline Arduino raamatukogu, kuid teised moodustavad osa e-tindi teegist.

Me määratleme nimed VÄRVITU (valge) pikslile ja VÄRVILISELE (must või punane). (Märkus kolleegidele eurooplastele: kasutatakse Ameerika kirjaviisi COLOR.)

Epd epd; line loob elektroonilise paberiseadme objekti, millel me kuvame. See peab olema siin visandi alguses, et see oleks kättesaadav seadistus () ja loop () funktsioonidele.

Kui teil on erineva suurusega ekraan, saate EPD rea asendada järgmisega:

Epd epd (WIDTH, HEIGHT);

(olles eelnevalt määratlenud #define lausetes WIDTH ja HEIGHT.)

Samamoodi saate määrata vaikimisi PIN-numbrid järgmiselt:

Epd epd (WIDTH, HEIGHT, BUSY_PIN, RESET_PIN, DC_PIN, CS_PIN);

Seadistuses () peame seadme lähtestama järgmiselt:

Serial.begin (9600)

if (epd. Init ()! = 0) {Serial.print ("e-Paberi algatamine nurjus"); tagasipöördumine; }

(Tegelikult ei tagasta epd. Init () kunagi viga, kuid tulevane täiustamine võib tuvastada ekraani puudumise või mittetoimiva.)

6. samm: teksti kirjutamine

Teksti kirjutamine
Teksti kirjutamine

Pöörake jaotises E-ink_demo tähelepanu loop (). Esiteks tühjendame ekraani:

epd. ClearFrame ()

(See pole tegelikult vajalik, kui kavatsete oma pilti kuvada.)

Enne kui saame midagi joonistada (teksti või graafikat), peame looma Paint -objekti, millele joonistada:

allkirjastamata sümbolpilt [1024]

Värvivärv (pilt, 152, 18); // laius peaks olema 8 kordaja

See jätab ruumi (1024 baiti) ja eraldab selle teise reaga lõpetatud objektile Paint. See on ajutiselt konfigureeritud 152 piksli laiuseks ja 18 piksli sügavuseks. Saame selle hiljem vajaduse korral uuesti kasutamiseks uuesti konfigureerida, kuid pange tähele: laius peab olema 8, kuna 8 pikslit salvestatakse baidi kohta ja me ei saa baite jagada. (See ümardab selle vajaduse korral tegelikult üles, kuid see võib olla mõistatuslik, kui teie ekraan ei näe välja nii, nagu peaks.

Nüüd peame värviobjekti tühjendama VÄRVITU (valge), seejärel positsioonis (x, y) = (22, 2) kirjutame 16-pikslise kõrge fondiga "e-tindi demo" ja VÄRVILISE (näitamaks VÄRVITU taust.

värv. Selge (VÄRVITU)

paint. DrawStringAt (12, 2, "e-paberi demo", & Font16, VÄRVILINE);

Pange tähele, et koordinaadid (22, 2) on stringi esimese märgi vasakpoolne ülanurk ning need on 22 objekti ja 2 pikslit allapoole värviobjekti vasaku ülanurga, mitte kogu ekraani suhtes. Tekst näeb värviobjekti ülaosast vähemalt ühe piksli võrra parem välja.

Saadaval on järgmised fondid:

Font 8 - 5x8 pikslit Font12 - 7x12 pikslit Font16 - 11x16 pikslit Font20 - 14x20 pikslit Font24 - 17x24 pikslit

Nüüd peame lihtsalt värviobjekti ("värv") seadmesse ("epd") saatma:

epd. SetPartialWindowBlack (paint. GetImage (), 0, 3, paint. GetWidth (), paint. GetHeight ());

SetPartialWindowBlack on meetod, mida rakendame epd -objektile, kasutades kujutist ning selle värviobjekti laiust ja sügavust. Me käsime tal kirjutada see pilt seadmesse aadressil (x, y) = (0, 3). Ja me ütleme, et VÄRVILISED pikslid peavad olema mustad.

See polnud liiga raske, eks? Proovime teist.

värv. Selge (VÄRVILINE);

paint. DrawStringAt (20, 2, "(Valge värv)", & Font12, VÄRVITU); epd. SetPartialWindowRed (paint. GetImage (), 0, 24, paint. GetWidth (), paint. GetHeight ());

Kasutame sama värviobjekti, sama laiust ja kõrgust, kuid seekord teeme selle selgeks VÄRVILISEKS ja kirjutame sellele VÄRVITU stringi. Ja vahelduseks muudame VÄRVILISED pikslid punaseks ja kirjutame selle seadmele (0, 24), veidi alla esimese.

Oleme kirjutanud kaks värviobjekti seadme mällu, kuid pole veel käskinud neil neid kuvada. Teeme seda järgmise avaldusega:

epd. DisplayFrame ();

(E-ink_demo visandis jätame selle tegelikult mõneks ajaks joonistamise ajaks lõpuni, kuid võite selle siia lisada, kui soovite, mybe, millele järgneb viivitus (10000); et anda teile aega oma kätetööd imetleda.

7. samm: joonte ja ristkülikute joonistamine

Joonte ja ristkülikute joonistamine
Joonte ja ristkülikute joonistamine

Vaatame, kuidas joonistada jooni ja ristkülikuid. Kasutame sama värviobjekti, kuid peame selle uuesti konfigureerima nii, et see oleks 40 pikslit lai ja 36 pikslit kõrge. Tühjendame selle värvivabalt.

värv. SetWidth (40);

värvi. SetHeight (36); värv. Selge (VÄRVITU);

Joonistame (värvilise) ristküliku, mille ülemine vasak nurk (5, 3) ja alumine parem (35, 33) on värviobjekti suhtes nagu tavaliselt. Samuti joonistame selle diagonaalid joonena (5, 3) kuni (35, 33) ja (35, 3) kuni (5, 33). Lõpuks kirjutame kogu värviobjekti (punane) ekraanile (32, 42).

// TOP RIDA:

// Ristküliku värv. Selge (VÄRVITU); paint. DrawRectangle (5, 3, 35, 33, COLORED;) paint. DrawLine (5, 3, 35, 33, COLORED); paint. DrawLine (35, 3, 5, 33, VÄRVILINE); epd. SetPartialWindowRed (paint. GetImage (), 32, 42, paint. GetWidth (), paint. GetHeight ());

Raamatukogu, nagu see oli, pakkus ka täidetud ristküliku, kuid hei, ma tahtsin varjutatud, nii et lisasin uue meetodi. Teeme veel kaks ristkülikut, üks varjutatud ja teine täidetud, ning asetame need esimesest paremale, vaheldumisi musta ja punasega.

// Varjutatud ristküliku värv. Selge (VÄRVITU); paint. DrawShadedRectangle (5, 3, 35, 33); epd. SetPartialWindowBlack (paint. GetImage (), 72, 42, paint. GetWidth (), paint. GetHeight ()); // Täidetud ristküliku värv. Selge (VÄRVITU); paint. DrawFilledRectangle (5, 3, 35, 33, COLORED); epd. SetPartialWindowRed (paint. GetImage (), 112, 42, paint. GetWidth (), paint. GetHeight ());

8. samm: ringide joonistamine

Ringide joonistamine
Ringide joonistamine

Ringid on sama lihtne joonistada. Kahe nurga koordinaatide asemel peame esitama keskpunkti ja raadiuse koordinaadid. Puhastame värviobjekti, seejärel asetame ringi (20, 15) (värviobjekti suhtes) ja raadiusega 15. Ja korrake seda varjutatud ja täidetud ringiga.

// TEINE RIDA

// Ringvärv. Selge (VÄRVITU); paint. DrawCircle (20, 18, 15, VÄRVILINE); epd. SetPartialWindowBlack (paint. GetImage (), 32, 78, paint. GetWidth (), paint. GetHeight ()); // Varjutatud ringvärv. Selge (VÄRVITU); paint. DrawShadedCircle (20, 18, 15); epd. SetPartialWindowRed (paint. GetImage (), 72, 78, paint. GetWidth (), paint. GetHeight ()); // Täidetud ringvärv. Selge (VÄRVITU); paint. DrawFilledCircle (20, 18, 15, COLORED); epd. SetPartialWindowBlack (paint. GetImage (), 112, 78, paint. GetWidth (), paint. GetHeight ());

9. samm: VÄRVITU VÄRVILISEL taustal

VÄRVITU VÄRVILISEL taustal
VÄRVITU VÄRVILISEL taustal

Meil läheb siin suurepäraselt! Nii et kui oleme rulli peal, siis teeme allpool veel 3 ringi, seekord VÄRVITU VÄRVILISEL värviobjektil, nagu tegime teise teksti reaga.

// KOLMAS RIDA

// Ringvärv. Selge (VÄRVILINE); paint. DrawCircle (20, 18, 15, VÄRVITU); epd. SetPartialWindowRed (paint. GetImage (), 32, 114, paint. GetWidth (), paint. GetHeight ()); // Varjutatud ringvärv. Selge (VÄRVILINE) värv. Joonista varjutatud ring (20, 18, 15); epd. SetPartialWindowBlack (paint. GetImage (), 72, 114, paint. GetWidth (), paint. GetHeight ()); // Täidetud ringvärv. Clear (COLORED); paint. DrawFilledCircle (20, 18, 15, VÄRVITU); epd. SetPartialWindowRed (paint. GetImage (), 112, 114, paint. GetWidth (), paint. GetHeight ());

Lisaks varjutatud täitmisele on olemas ka täpiline täide, mis värvib juhuslikke piksleid. Nii et ülaltoodud varjutatud ringi asemel oleksime võinud panna

paint. DrawSpeckledCircle (20, 18, 15, 25);

Viimane parameeter (25) on tihedus, see tähendab värvitavate pikslite protsent. Kui see välja jätta, eeldatakse 50%.

Samuti on olemas DrawSpeckledRectangle koos valikulise lisaparameetriga, mis määrab tiheduse.

10. samm: pöörlemine

Pööramine
Pööramine
Pööramine
Pööramine

Kõik, mida saame joonistada, saame pöörata 90, 180 või 270 kraadi. (Me loeme pöördeid päripäeva.)

Me võime värviobjektile rakendada omadust ROTATE, kuid on oluline mõista, et mitte värviobjekti ei pöörata, vaid kõike, mida sellele kirjutate. Seega, kui soovite vertikaalset teksti, peate oma värviobjekti konfigureerima horisontaalse asemel vertikaalsuunas pikaks ja õhukeseks.

Nii et kui soovite, et teie teksti pöörataks päripäeva 90 kraadi võrra, nii et see loeks ülevalt alla (vasakult paremale), on värviobjekti paremas ülanurgas (0, 0) kõik, mida kirjutate. või joonistage sinna, mõõtes x nurgast allapoole ja y nurgast vasakule.

Tõenäoliselt märkasite, et jätsime ekraani vasakusse serva tühiku. Nii et kirjutame sinna teksti, mis on pööratud 270 kraadi, st alt üles lugemine. See paneb (0, 0) vasakusse alumisse nurka.

Pange tähele, et värvide objekti pööramisel kehtib pöörlemine ainult siis, kui joonistate sellele piksleid. Kui tulete seda seadmesse kirjutama, on see ikkagi vasaku ülanurga koordinaadid, mille peate SetPartialWindow'le andma.

Kokkuvõtteks konfigureerime oma värviobjekti laiuseks 32 ja kõrguseks 110 ning anname sellele omaduse ROTATE_270. Mitte, et me peaksime seda kõike tegema enne, kui sellele midagi kirjutame või joonistame.

värv. SetWidth (32);

paint. SetHeight (110); paint. SetRotate (ROTATE_270);

Puhastame selle värviliseks ja kirjutame sellele VÄRVITU stringi, seejärel asetame selle (0, 42). (See on vasakus ülanurgas, pidage meeles. Unustage pikslite igasugune pöörlemine.)

värv. Selge (VÄRVILINE); paint. DrawStringAt (8, 8, "Külili!", & Font16, VÄRVITU); epd. SetPartialWindowBlack (paint. GetImage (), 0, 42, paint. GetWidth (), paint. GetHeight ());

Lõpuks peame seadmele ütlema, et see näitaks kõiki meile antud piksleid. Ja kui me ei taha seda mõnda aega muuta ja soovime säästa akut, siis võime selle magama panna ja miks mitte panna ka Arduino magama, et meid äratada, kui on aeg võtta ja kuvada uus mõõtmine.

epd. DisplayFrame ();

epd. Une ();

Teine näide kujutab pöörlemist 90, 180 ja 270 kraadi. Nüüdseks peaksite saama seda ise jälgida.

Samm 11: Bitkaartide joonistamine

Bitkaartide joonistamine
Bitkaartide joonistamine

Müüja demo sisaldab paari bitikaardipildi kuvamist. Neid on lihtne luua tööriista abil, mille saate alla laadida

www.buydisplay.com/image2lcd

See on ZIP -fail, mis sisaldab.exe installifaili ja tekstifaili, mis sisaldab litsentsivõtit. Laiendage seda ja topeltklõpsake faili installimiseks.exe.

On selge, et kuvamisele on kehtestatud üsna ranged piirangud, kuna E-tindi pikslid võivad olla ainult sisse või välja lülitatud ja seega ei saa need kujutada halli taset. Kuid kujutisele on võimalik katta ristkülikukujuline värviobjekt. Võib -olla soovite kuvada logo, sümboleid või fikseeritud teksti väljamõeldud kirjas, millele saaksite katta muutuva teksti või graafika, näiteks tulpdiagrammi või sektordiagrammi, mis võib viidata näiteks vedeliku tasemele.

Saate oma pildi luua mis tahes teile tuttava joonistustarkvaraga või skaneerida visandina või joonisena, kuid mõlemal juhul peate suutma selle vähendada vaid 2 tasemeni. Salvestage see.gif,-j.webp

Käivitage Image2Lcd. Altpoolt näete vahekaarti Registreeri. Klõpsake seda ja sisestage allalaaditud zip -faili tekstifailis registreerimiskood. See eemaldab pildilt ülekatte.

Avage Image2Lcd -s oma pildifail. Veenduge vasakpoolsel paanil, et teil on

  • Väljundi failitüüp: C massiiv
  • Skaneerimisrežiim: horisontaalne skannimine
  • BitsPixel: ühevärviline
  • Maksimaalne laius ja kõrgus: ekraani suurus ja
  • Peade kaasamise andmed tuleb märkimata jätta.

Töötlemiseks klõpsake nuppu Max laius ja kõrgus. Kuvatakse töötlemise tulemus. Parimate tulemuste saamiseks peate võib -olla reguleerima heleduse ja kontrasti liugureid.

Klõpsake liuguri Heledus kohal olevat märkeruutu Reverse color (Pöördvärv), muutes selle negatiivseks pildiks, mis on mingil põhjusel vajalik, ja seejärel klõpsake nuppu Salvesta, et see Arduino visandit sisaldavasse kausta salvestada. Järgmine kord, kui avate visandi Arduino IDE -ga, peaksite seda nägema uue vahekaardina.

12. samm: oma bitikaardi kuvamine

Teie bitikaardi kuvamine
Teie bitikaardi kuvamine

Sisestage oma Arduino visandi põhifaili, kohe pärast ülaosas olevaid ridu #include, sisestage:

#include "imagedata.h"

Looge uus vaheleht (klõpsake sakkide rea lõpus allanoolt) ja nimetage see imagedata.h. Sisestage sinna järgmised 2 rida:

extern const allkirjastamata märk IMAGE_BLACK ;

extern const allkirjastamata märk IMAGE_RED ;

Teie faili imagedata.cpp esimene rida algab

const unsigned char gImage_image [2888] = {

(Kui te ei kasuta 1,54 -tollist ekraani, on nurksulgudes olev number erinev.) Asendage see tähega

const unsigned char IMAGE_BLACK PROGMEM = {

See on mõeldud mustvalge pildi jaoks. Kui soovite, et see oleks punane ja valge, muutke see

const unsigned char IMAGE_RED PROGMEM = {

Vahetult enne seda rida lisage

#kaasake

#include "imagedata.h"

Nüüd olete valmis oma pilti kuvama. Lisage oma põhifaili silmusesse ()

epd. ClearFrame ();

epd. DisplayFrame (IMAGE_BLACK, NULL);

Või kui see oli teie loodud punane pilt, peaks see olema teine rida

epd. DisplayFrame (NULL, IMAGE_RED);

Tegelikult saate luua kombineeritud punase ja musta pildi, teisendades punased ja mustad osad eraldi Image2Lcd abil ja kuvades need mõlemad

epd. DisplayFrame (IMAGE_BLACK, IMAGE_RED);

Kõik pikslid, mis on mustvalgel pildil määratud nii mustaks kui ka punaseks valgeks, muutuvad punaseks.

Lõpuks saate oma pildi üle kanda mis tahes teksti- või graafikafunktsiooniga, millest me varem teada saime. Tahtsin lisada oma Twitteri käepideme, seega lisasin

Värvivärv (pilt, 20, 152); // laius peaks olema 8 kordaja

paint. SetRotate (ROTATE_270); värv. Selge (VÄRVITU); paint. DrawStringAt (20, 2, "@pleriche", & Font16, COLORED); epd. SetPartialWindowRed (paint. GetImage (), 0, 0, paint. GetWidth (), paint. GetHeight ()); epd. SetPartialWindowRed (paint. GetImage (), 0, 0, paint. GetWidth (), paint. GetHeight ()); epd. DisplayFrame ();

Soovitan: