Բովանդակություն:

Գրաֆիկա SSD1306 I2C OLED 128x64 էկրանով ՝ միացումով Python Using Itsybitsy M4 Express. 13 քայլ (նկարներով)
Գրաֆիկա SSD1306 I2C OLED 128x64 էկրանով ՝ միացումով Python Using Itsybitsy M4 Express. 13 քայլ (նկարներով)
Anonim
Գրաֆիկա SSD1306 I2C OLED 128x64 էկրանով ՝ միացումով Python Using Itsybitsy M4 Express
Գրաֆիկա SSD1306 I2C OLED 128x64 էկրանով ՝ միացումով Python Using Itsybitsy M4 Express

SSD1306 OLED էկրանը փոքր (0.96 ), էժան, լայնորեն հասանելի, I2C, մոնոխրոմ գրաֆիկական էկրան է ՝ 128x64 պիքսել, որը հեշտությամբ միացված է (ընդամենը 4 լար) միկրոպրոցեսորային տախտակներին, ինչպիսիք են Raspberry Pi, Arduino կամ Adafruit Itsybitsy M4: Express, CircuitPlayground Express կամ այլ CircuitPython սարքեր: Վարորդները կարելի է ներբեռնել ինտերնետից:

Arduinos- ի գրաֆիկական ռեժիմները որոշ ժամանակ հասանելի էին, բայց ոչ զարգացման այլ համակարգերի համար:

Սարքի հիմնական վարորդները թույլ են տալիս օգտվողներին.

  • Մաքրել էկրանը սևի կամ սպիտակի: oled. լրացնել (գ)
  • Գրեք տեքստային տող էկրանին նշված (x, y) դիրքում oled.text («Տեքստ», x, y, c)
  • Նշված (x, y) oled դիրքում նկարեք կետ: պիքսել (x, y, c)
  • Տեղադրեք նկարի ֆայլ էկրանին: (Չի օգտագործվում այս նախագծում)
  • Թարմացրեք էկրանը oled.show ()

Այս հրահանգը պարզ ընթացակարգերով կցուցադրի, թե ինչպես կարելի է ինտերակտիվ նկարել.

  • գծեր
  • շրջանակներ
  • սնամեջ տուփեր
  • ամուր բլոկներ
  • նախապես սահմանված կերպարներ

Ես կօգտագործեմ Adafruit Itsybitsy M4 Express- ը ՝ մեթոդները ցույց տալու համար, բայց Python- ում ծածկագիրը հեշտությամբ կարող է տեղափոխվել զարգացման այլ համակարգեր:

Այս ցուցադրության համար ես ընտրեցի Itsybitsy M4- ը, քանի որ այն էժան է, հզոր, հեշտ ծրագրավորվող, ներառում է անալոգային և թվային մուտք/ելք, ունի շատ հիշողություն, հեշտությամբ տեղադրում է փաստաթղթերը և օգնում է ֆորումներին ինտերնետում, սկզբնական շրջանում շատ հեշտ է ստեղծվել: և աջակցում է CircuitPython- ին, Python- ի տարբերակ, որն իդեալական է կոդավորման նորեկների համար:

Երբ դուք ստեղծեք ձեր Itsybitsy- ն և SSD1306- ը, սա շատ պարզ տախտակի կառուցում է: Մուտքագրում չկա, բոլոր ֆայլերը կարելի է ներբեռնել:

Սա կառուցելու էժան և հեշտ նախագիծ է, բայց ներկայացնում է որոշ միջանկյալ/առաջադեմ գաղափարներ: Հուսով եմ ՝ կփորձեք: Ես տպավորված էի այս փոքրիկ ցուցադրմամբ:

Քայլ 1. Այն, ինչ մեզ պետք է այս ծրագրի համար

Այն, ինչ մեզ պետք է այս նախագծի համար
Այն, ինչ մեզ պետք է այս նախագծի համար

Սարքավորումներ:

  • SSD1306 I2C մոնո էկրան ՝ 128x64 պիքսել
  • Itsybitsy M4 Express
  • microUSB դեպի USB մալուխ - տախտակը ծրագրավորելու համար
  • Breadboard
  • 1 10k Օմ պոտենցիոմետր
  • 1 կոճակի անջատիչ
  • միացնող մետաղալար - տարբեր գույները կարող են օգնել
  • Համակարգիչ (ծածկագիրը գրելու և վերբեռնելու համար) - շատ հին նոթբուք կանի:

Softwareրագրային ապահովում:

Mu խմբագիր ՝ ծածկագիր գրելու և սցենարը Itsybitsy- ում վերբեռնելու համար

Itsybitsy- ի ստեղծումը բացատրվում է այստեղ ՝

CircuitPython- ի վերջին տարբերակը ՝

CircuitPython գրադարաններ ՝

Mu Խմբագիր ՝

Քայլ 2: Շղթան

The Circuit
The Circuit

Սա շատ պարզ միացում է, որը պետք է տեղադրվի: Հաջորդ էջը պատկերում է պատրաստի տախտակը գունավոր մետաղալարերով `գործը հեշտացնելու համար:

Քայլ 3. Շրջանակի տախտակի տարբերակը

Շրջանակի Breadboard տարբերակը
Շրջանակի Breadboard տարբերակը

Հացաթղթի վերին և ստորին մասերում կան հոսանքի ռելսեր: Կարմիր մետաղալարով միացրեք +ve ռելսերը միասին: Սև մետաղալարով միացրեք -ավանդակները միասին:

Միացրեք Itsybitsy- ի 3V կապին ներքևի +ve երկաթգծին `կարմիր մետաղալարով: (Սյունակ 12)

Միացեք Itsybitsy- ի G (GND) քորոցին դեպի վերին երկաթուղի `սև մետաղալար: (Սյունակ 12)

33 -րդ և 34 -րդ սյունակներում միացրեք SSD1306 VCC և GND կապում վերին հոսանքի ռելսերին:

Վարդագույն մետաղալարով միացրեք SCL կապումներն իրար:

Մոխրագույն մետաղալարով միացրեք SDA կապում միասին:

Կարմիր և սև լարերով միացրեք պոտենցիոմետրի արտաքին քորոցները հոսանքի վերին ռելսերին, իսկ կանաչ մետաղալարով `կենտրոնական (մաքրիչ) քորոցը միացրեք Itsybitsy- ի A5- ին:

Կոճակի անջատիչի մի կողմը միացրեք մանուշակագույն մետաղալարով 2 -րդ կապակցին, իսկ սև մետաղալարով միացրեք մյուս կողմը GND ռելսին:

Քայլ 4: Տառատեսակի բեռնում

Տառատեսակի բեռնում
Տառատեսակի բեռնում

Ներբեռնեք տառատեսակի ֆայլը և քաշեք այն CIRCUITPY սկավառակ: (Սա Itsybitsy- ն է)

Կրկնակի սեղմեք lib թղթապանակի վրա և նայեք արդեն բեռնված վարորդների ցանկին:

Քայլ 5. Լրացուցիչ վարորդների ավելացում

Լրացուցիչ վարորդների ավելացում
Լրացուցիչ վարորդների ավելացում

Lib թղթապանակում ձեզ հարկավոր կլինի հետևյալը.

  • simpleio.mpy
  • adafruit_bus_device
  • adafruit_framebuf.mpy
  • adafruit_ssd1306.mpy

Եթե դրանք բացակայում են, քաշեք դրանք առկա վերջին տարբերակի թղթապանակում:

Այժմ դուք պատրաստ եք ներբեռնել սցենարը:

Mu խմբագրում բեռնելուց հետո այն կարող եք պահել Itsybitsy- ում main.py անունով:

Runsրագիրը անցնում է տողերի, շրջանակների, դինամիկ բարերի գծապատկերների ցուցադրման և սահմանված նիշերի ցուցադրման միջոցով: Պարզապես դանդաղ շրջեք կաթսան և սեղմեք և պահեք կոճակը ՝ էկրանը կառավարելու համար:

Հետևյալ էջերն ավելի շատ տեղեկատվություն են տալիս ծրագրի աշխատանքի վերաբերյալ:

Քայլ 6: Կարգավորեք սարքերը

Կարգավորեք սարքերը
Կարգավորեք սարքերը

Այս առաջին բաժինը բեռնում է բոլոր գրադարանները և տեղադրում է SSD1306, պոտենցիոմետր և կոճակների անջատիչը ճիշտ կապում:

Քայլ 7. Սահմանեք կերպարներ և գծեք հորիզոնական և ուղղահայաց գծեր

Սահմանեք կերպարներ և գծեք հորիզոնական և ուղղահայաց գծեր
Սահմանեք կերպարներ և գծեք հորիզոնական և ուղղահայաց գծեր
Սահմանեք կերպարներ և գծեք հորիզոնական և ուղղահայաց գծեր
Սահմանեք կերպարներ և գծեք հորիզոնական և ուղղահայաց գծեր

Այս բաժինը ստեղծում է նախապես սահմանված նիշերը: Նրանք ունեն 5 կետ լայնություն և 8 կետ բարձրություն: Սահմանման յուրաքանչյուր կետ նկարում է 4 կետ էկրանին, որպեսզի դրանք ավելի լավ ցուցադրվեն:

Հորիզոնական և ուղղահայաց գծերը հեշտ է նկարել օղակով: Պարզապես պետք է հիշել, որ վերջում ձեզ անհրաժեշտ է լրացուցիչ կետ: (0, 7) -ից (5, 7) տողին կպահանջվի 6 կետ ՝ x- ն իր հերթին 0, 1, 2, 3, 4 և 5 -ի հետ:

Հիմնական կետի հրամանը oled է: պիքսել (x, y, գույն) - 0 -ը սև է, 1 -ը ՝ սպիտակ:

Theագումը (0, 0) գտնվում է էկրանի վերևի ձախ մասում, 0 - 127 պիքսել հորիզոնական (ձախից աջ) և 0 - 63 ուղղահայաց (վերևից ներքև):

Քայլ 8: Արկղեր, բլոկներ և թեք գծեր

Արկղեր, բլոկներ և թեք գծեր
Արկղեր, բլոկներ և թեք գծեր

Արկղերը կառուցված են հորիզոնական և ուղղահայաց գծերից:

Բլոկները կառուցված են բազմաթիվ հորիզոնական գծերից:

Թեք գծերի համար մենք առաջին հերթին ստուգում ենք կոորդինատները, որոնք ամենից շատ ձախ են տրված: Հակառակ դեպքում դրանք փոխանակում ենք, քանի որ գիծը գծվելու է ձախից աջ:

Այնուհետև մենք հաշվարկում ենք թեքությունը և օգտագործում այն x- ի յուրաքանչյուր արժեքի համար y արժեքը սահմանելու համար:

Displayուցադրման (t) ընթացակարգը տեսանելի է դարձնում թարմացված էկրանը և սպասում է կարճ ուշացման, t վայրկյան:

Քայլ 9. Աստիճանի խորհրդանիշ, ավելացում, գծապատկեր և շրջան

Աստիճանի խորհրդանիշ, ավելացում, գծապատկեր և շրջան
Աստիճանի խորհրդանիշ, ավելացում, գծապատկեր և շրջան

Աստիճանի խորհրդանիշը ստեղծվում է 4 պիքսելից:

Հավասարեցման () ռեժիմը ավելացնում է լրացուցիչ տարածություններ համարի դիմաց ՝ ֆիքսված տարածության կարճ արժեքները աջ հավասարեցնելու համար:

Գրաֆիկը (v) առօրյան գծում է հորիզոնական սանդղակի գրաֆիկ `տալով ընտրված տոկոսը: Արժեքը գրված է աջ կողմում ՝ օգտագործելով «T» ՝ 100 -ը ներկայացնելու համար (տոննա կամ վերև):

Շրջանակները պահանջում են որոշակի եռանկյունաչափություն, այնպես որ մենք պետք է ներմուծենք մաթեմատիկական գրադարանը սցենարի սկզբում: Մենք օգտագործում ենք մեղքը, cos- ը և ռադիաները `կենտրոնից x և y տեղաշարժերը հաշվարկելու համար, քանի որ շառավիղը պտտվում է 90 աստիճանով: Չորս քառակուսիներից յուրաքանչյուրում միավորներ են գծվում փոխհատուցումների յուրաքանչյուր հաշվարկի համար:

Քայլ 10. Աղբի հավաքում, վերնագրեր և շրջանակներ

Աղբի հավաքածու, վերնագրեր և շրջանակներ
Աղբի հավաքածու, վերնագրեր և շրջանակներ

Այս հրահանգները ցույց են տալիս էկրանի մաքրումը սև -սպիտակի վրա, տեքստ գրելը էկրանին և օգտագործելով gc () «աղբահանության» ռեժիմը `տարածք ազատելու համար: Արժեքը ցույց է տալիս, որ շատ ավելի մեծ սցենարի համար շատ տեղ կա:

Այնուհետև ծրագիրը գծում է ընդհանուր կենտրոն ունեցող և շարժվող կենտրոններով շրջանակներ: Բավականին արագ ռեժիմ ՝ հաշվի առնելով պահանջվող հաշվարկի չափը:

Հաջորդը գրված է տողերի դեմո վերնագիրը:

Քայլ 11: Գծերի ցուցադրում

Գծերի ցուցադրում
Գծերի ցուցադրում

Այս առօրյան իսկապես գծի () ռեժիմին տալիս է մարզում: Radառագայթային գծերը գծված են էկրանի չորս անկյուններից յուրաքանչյուրից ՝ ձևավորելով տարբեր տարածություններ:

Քայլ 12: Հիմնական հանգույց. Շերտի գրաֆիկ և սահմանված կերպարներ

Հիմնական օղակը. Շերտի գրաֆիկ և սահմանված կերպարներ
Հիմնական օղակը. Շերտի գրաֆիկ և սահմանված կերպարներ

Սա ծրագրի հիմնական հանգույցն է: Պոտենցիոմետրից ստացված արժեքները փոխում են ցուցադրված արժեքները և փոխում գծապատկերի երկարությունը:

Եթե կոճակը պահված է, սահմանված նիշերը փոխարինվում են 1/0 -ով և True/False: Այս հանգույցը բավականին դանդաղ է ընթանում, քանի որ նախապես սահմանված նիշերը նկարելը դանդաղ գործընթաց է: Դուք կարող եք արագացնել գործերը ՝ մեկնաբանելով դրանցից մի քանիսը:

Չկա ջերմաստիճանի տվիչ, որը կցուցադրի այս ցուցադրումը պարզ, այնպես որ '?' ցուցադրվում է 190 տողի արժեքի փոխարեն:

Խորհուրդ ենք տալիս: