Sadržaj:
- Korak 1: Šta nam je potrebno za ovaj projekat
- Korak 2: Krug
- Korak 3: Verzija kola za idejnu ploču
- Korak 4: Učitavanje fonta
- Korak 5: Dodavanje dodatnih upravljačkih programa
- Korak 6: Postavite uređaje
- Korak 7: Definirajte znakove i nacrtajte vodoravne i okomite linije
- Korak 8: Kutije, blokovi i nagnute linije
- Korak 9: Simbol stepena, poravnanje, trakasti grafikon i krug
- Korak 10: Prikupljanje smeća, naslovi i krugovi
- Korak 11: Lines Demo
- Korak 12: Glavna petlja: trakasti grafikon i definirani znakovi
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37
SSD1306 OLED ekran je mali (0,96 ), jeftin, široko dostupan, I2C, jednobojni grafički ekran sa 128x64 piksela, koji se lako povezuje (samo 4 žice) sa mikroprocesorskim razvojnim pločama kao što su Raspberry Pi, Arduino ili Adafruit Itsybitsy M4 Express, CircuitPlayground Express ili drugi CircuitPython uređaji. Upravljački programi mogu se preuzeti s interneta.
Grafičke rutine za Arduinos bile su dostupne već neko vrijeme, ali ne i za druge razvojne sisteme.
Osnovni upravljački programi omogućuju korisnicima:
- Očistite ekran na crno ili bijelo. oled.fill (c)
- Upišite tekstualni niz na ekran na navedenoj (x, y) poziciji oled.text ("Tekst", x, y, c)
- Nacrtajte tačku na navedenom (x, y) položaju oled.pixel (x, y, c)
- Učitajte datoteku slike na ekran. (Ne koristi se u ovom projektu)
- Ažurirajte ekran oled.show ()
Ovaj Instructable će, jednostavnim procedurama, pokazati interaktivno crtanje:
- linije
- krugovima
- šuplje kutije
- čvrsti blokovi
- unapred definisani znakovi
Koristit ću Adafruit Itsybitsy M4 Express za demonstraciju metoda, ali se kod u Pythonu može lako prenijeti na druge razvojne sisteme.
Odabrao sam Itsybitsy M4 za ovu demonstraciju jer je jeftin, moćan, jednostavan za programiranje, uključuje analogni i digitalni ulaz/izlaz, ima puno memorije, ima lako lociranje dokumentacije i forume za pomoć na Internetu, vrlo ga je lako postaviti i podržava CircuitPython, verziju Pythona idealnu za one koji tek počinju kodirati.
Nakon što ste postavili Itsybitsy i SSD1306, ovo je vrlo jednostavna konstrukcija. Nema upisivanja, sve datoteke se mogu preuzeti.
Ovo je jeftin i jednostavan projekt za izgradnju, ali uvodi neke srednje/napredne ideje. Nadam se da ćete pokušati. Bio sam impresioniran ovim malim ekranom.
Korak 1: Šta nam je potrebno za ovaj projekat
Hardver:
- SSD1306 I2C mono ekran 128x64 piksela
- Itsybitsy M4 Express
- microUSB na USB kabel - za programiranje ploče
- Breadboard
- 1 potenciometar od 10K ohma
- 1 prekidač
- spojna žica - razne boje mogu vam pomoći
- Računalo (da napišete kôd i otpremite ga) - poslužit će vrlo star laptop.
Softver:
Mu editor - za pisanje koda i postavljanje skripte na Itsybitsy
Postavljanje Itsybitsy objašnjeno je ovdje:
Najnovija verzija CircuitPythona:
Biblioteke CircuitPython:
Mu Editor:
Korak 2: Krug
Ovo je vrlo jednostavno kolo za postavljanje. Sljedeća stranica ilustrira gotovu ploču s obojenim žicama za olakšavanje stvari.
Korak 3: Verzija kola za idejnu ploču
Na vrhu i dnu ploče nalaze se vodilice za napajanje. Crvenom žicom spojite +ve šine zajedno. Crnom žicom spojite -ve šine zajedno.
Spojite 3V iglu Itsybitsyja na donju +ve šinu - crvenu žicu. (Kolona 12)
Spojite G (GND) iglu Itsybitsy na gornju šinu - crnu žicu. (Kolona 12)
U kolonama 33 i 34 spojite SSD1306 VCC i GND pinove na gornje tračnice za napajanje.
Ružičastom žicom spojite SCL igle zajedno.
Sivom žicom spojite igle SDA zajedno.
Crvenim i crnim žicama spojite vanjske pinove potenciometra na gornje šine za napajanje, a zelenom žicom spojite središnji (brisač) pin na A5 na Itsybitsyju.
Spojite jednu stranu prekidača s ljubičastom žicom na pin 2, a drugom stranom s GND šinom.
Korak 4: Učitavanje fonta
Preuzmite datoteku fonta i povucite je na CIRCUITPY pogon. (Ovo je Itsybitsy.)
Dvaput kliknite na fasciklu lib i pogledajte listu upravljačkih programa koje ste već učitali.
Korak 5: Dodavanje dodatnih upravljačkih programa
U fascikli lib trebat će vam sljedeće:
- simpleio.mpy
- adafruit_bus_device
- adafruit_framebuf.mpy
- adafruit_ssd1306.mpy
Ako nedostaju, povucite ih u mapu s najnovije dostupne verzije.
Sada ste spremni za preuzimanje skripte.
Nakon učitavanja u uređivač Mu možete ga spremiti u Itsybitsy s imenom main.py.
Program prolazi kroz niz demonstracija linija, krugova, dinamičkog stupčastog grafikona i prikazivanja definiranih znakova. Samo polako okrenite lonac i pritisnite i držite dugme za upravljanje prikazom.
Sljedeće stranice daju više informacija o tome kako program radi.
Korak 6: Postavite uređaje
Ovaj prvi odjeljak učitava sve biblioteke i postavlja ispravne pinove SSD1306, potenciometra i prekidača na gumbima.
Korak 7: Definirajte znakove i nacrtajte vodoravne i okomite linije
Ovaj odjeljak postavlja unaprijed definirane znakove. Oni su široki 5 i visoki 8 točaka. Svaka tačka u definiciji iscrtava 4 tačke na ekranu kako bi se bolje prikazale.
Vodoravne i okomite linije lako se iscrtavaju petljom. Morate samo zapamtiti da vam je potrebna dodatna točka na kraju. Liniji od (0, 7) do (5, 7) trebat će 6 točaka: sa x jednakim 0, 1, 2, 3, 4 i 5.
Osnovna naredba tačke je oled.pixel (x, y, boja) - 0 je crno, a 1 bijelo.
Ishodište (0, 0) je u gornjem lijevom kutu ekrana, 0 - 127 piksela vodoravno (slijeva nadesno) i 0 - 63 okomito (odozgo prema dolje).
Korak 8: Kutije, blokovi i nagnute linije
Kutije su izgrađene od vodoravnih i okomitih linija.
Blokovi su izgrađeni od više vodoravnih linija.
Za nagnute linije prvo provjeravamo da li su koordinate najprije ostavljene lijevo. Ako ne, zamijenimo ih jer će se linija povući slijeva nadesno.
Zatim izračunavamo nagib i pomoću njega postavljamo vrijednost y za svaku vrijednost x.
Postupak prikaza (t) čini ažurirani ekran vidljivim i čeka kratko kašnjenje, t sekundi.
Korak 9: Simbol stepena, poravnanje, trakasti grafikon i krug
Simbol stupnja je kreiran od 4 piksela.
Rutina align () dodaje dodatne razmake ispred broja za poravnavanje desnih kratkih vrijednosti u fiksnom prostoru.
Rutina grafikona (v) crta vodoravni stupčasti grafikon koji daje odabrani postotak. Vrijednost je napisana s desne strane koristeći 'T' za predstavljanje 100 (tona ili vrh).
Krugovi zahtijevaju određenu trigonometriju pa moramo uvesti matematičku biblioteku na početku skripte. Koristimo sin, cos i radijane za izračunavanje pomaka x i y od središta dok se radijus rotira za 90 stupnjeva. Bodovi se ucrtavaju u svaki od četiri kvadranta za svaki izračun pomaka.
Korak 10: Prikupljanje smeća, naslovi i krugovi
Ove upute pokazuju brisanje ekrana na crno -bijelo, pisanje teksta na ekran i korištenje rutine gc () za prikupljanje smeća za oslobađanje prostora. Vrijednost pokazuje da ima dovoljno prostora za mnogo veću skriptu.
Program zatim iscrtava krugove sa zajedničkim centrom i sa pokretnim centrima. Prilično brza rutina s obzirom na količinu potrebne kalkulacije.
Naslov za demo redova je napisan sljedeći.
Korak 11: Lines Demo
Ova rutina zaista daje line () rutini vježbu. Radijalne linije iscrtane su iz svakog od četiri ugla zaslona s različitim razmacima koji tvore uzorke.
Korak 12: Glavna petlja: trakasti grafikon i definirani znakovi
Ovo je glavna petlja programa. Vrijednosti s potenciometra mijenjaju prikazane vrijednosti i mijenjaju dužinu stupčastog grafikona.
Ako pritisnete tipku, definirani znakovi se mijenjaju kao 1/0 i Tačno/Netačno. Ova petlja radi prilično sporo jer je crtanje unaprijed definiranih znakova spor proces. Možete ubrzati stvari tako što ćete neke od njih komentirati.
Nema ugrađenog senzora temperature, kako bi demo bio jednostavan, pa '?' prikazuje se umjesto vrijednosti u retku 190.
Preporučuje se:
Dvobojni grafikon u boji sa CircuitPythonom: 5 koraka (sa slikama)
Dvobojni stupčasti grafikon s CircuitPythonom: Vidio sam ovaj LED grafikon na Pimoronijevoj web lokaciji i pomislio da bi to mogao biti jeftin i zabavan projekt pri zaključavanju COVID-19. Sadrži 24 LED diode, crvenu i zelenu, u svakoj od njih 12 segmenata, pa biste teoretski trebali moći prikazati r
Kako napraviti stroj za utege za bebe koristeći Arduino Nano, HX-711 mjernu ćeliju i OLED 128X64 -- Kalibracija HX-711: 5 koraka
Kako napraviti stroj za utege za bebe koristeći Arduino Nano, HX-711 mjernu ćeliju i OLED 128X64 || Kalibracija HX-711: Zdravo Instructables, Prije nekoliko dana postao sam otac slatke bebe?. Kada sam bio u bolnici otkrio sam da je težina bebe toliko važna za praćenje rasta bebe. Imam ideju? da od sebe napravim mašinu za vaganje beba.u ovom uputstvu ja
CircuitPython sa Itsybitsy M4 Express 1: Postavljanje: 9 koraka
CircuitPython sa Itsybitsy M4 Express 1: Podešavanje: Novi ste u kodiranju? Koristili ste samo Scratch i želite prijeći na tekstualni jezik koji omogućava lak pristup fizičkom računanju sa LED diodama, prekidačima, ekranima i senzorima? Onda je ovo možda za vas. Primijetio sam da ova web stranica sadrži mnoge instrukcije o
Flappy Bird na ATtiny85 i OLED ekranu SSD1306: 6 koraka (sa slikama)
Flappy Bird na ATtiny85 i OLED zaslonu SSD1306: Hej svima, Danas ću vam pokazati osnovni klon flappy bird koji sam stvorio i kako možete napraviti sličnu igru. U suštini ću s vama proći kroz svoj kôd i objasniti kako to funkcionira na svakom koraku. Ova igra je napravljena da ru
Prilagođena grafika na ekranu Nokia 5110: 7 koraka
Prilagođena grafika na ekranu Nokia 5110: Hej momci! Moxigen ovdje. Prije otprilike 3 godine ugasio sam svoju osobnu web stranicu (inKnowit.in) na kojoj je bilo 30 -ak blogova. Ovdje sam nastavio sa blogovanjem, ali sam vrlo brzo izgubio motivaciju i napisao samo tri bloga. Nakon dugog razmišljanja odlučio sam da