Мазмуну:
- 1 -кадам: Бул долбоор үчүн бизге эмне керек
- 2 -кадам: Circuit
- 3 -кадам: Райондун Breadboard версиясы
- 4 -кадам: Арипти жүктөө
- 5 -кадам: Кошумча драйверлерди кошуу
- 6 -кадам: Түзмөктөрдү орнотуу
- 7 -кадам: Белгилерди аныктап, горизонталдуу жана вертикалдуу сызыктарды чийиңиз
- 8 -кадам: кутулар, блоктор жана эңкейиш линиялар
- 9 -кадам: Даража Символу, Анлгмент, Бар Граф жана Чөйрө
- 10 -кадам: Таштанды чогултуу, наамдар жана чөйрөлөр
- 11 -кадам: Lines Demo
- 12 -кадам: Негизги цикл: Бар графикасы жана аныкталган белгилер
Video: SSD1306 I2C OLED 128x64 дисплейиндеги графика Itybitsy M4 Express колдонуп CircuitPython менен: 13 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
SSD1306 OLED дисплейи кичинекей (0,96 дюйм), арзан, кеңири жеткиликтүү, I2C, 128x64 пикселдүү монохроматтык графикалык дисплей, ал Raspberry Pi, Arduino же Adafruit Itsybitsy M4 сыяктуу микропроцессордук такталарга оңой эле туташат (болгону 4 зым). Экспресс, CircuitPlayground Express же башка CircuitPython түзмөктөрү. Айдоочуларды интернеттен көчүрүп алса болот.
Arduinos үчүн графикалык процедуралар бир нече убакыт бою жеткиликтүү болгон, бирок башка өнүктүрүү системалары үчүн эмес.
Негизги түзмөк драйверлери колдонуучуларга мүмкүндүк берет:
- Экранды ак же кара кылып тазалаңыз. oled.fill (c)
- Oed.text ("Текст", x, y, c) көрсөтүлгөн (x, y) позициясында экранга текст сабын жазыңыз.
- Oed.pixel (x, y, c) белгиленген (x, y) позициясында чекитти чийиңиз
- Сүрөт файлын экранга жүктөңүз. (Бул долбоордо колдонулган эмес)
- Oled.show () дисплейин жаңыртуу
Бул Нускамалык интерактивдүү түрдө кантип тартуу керектигин жөнөкөй процедуралар менен көрсөтөт:
- сызыктар
- чөйрөлөр
- көңдөй кутулар
- катуу блоктор
- алдын ала белгиленген белгилер
Мен Adafruit Itsybitsy M4 Expressти ыкмаларды көрсөтүү үчүн колдоном, бирок Pythonдогу кодду башка өнүгүү системаларына оңой эле ташууга болот.
Мен бул демонстрация үчүн Itsybitsy M4 тандадым, анткени ал арзан, кубаттуу, программасы оңой, аналогдук жана санариптик киргизүү/чыгарууну камтыйт, эс тутуму көп, интернетте документтерди жана жардам форумдарын оңой эле жайгаштырган, башында орнотуу абдан оңой жана коддоону жаңы баштагандар үчүн идеалдуу Python версиясы болгон CircuitPythonду колдойт.
Itsybitsy жана SSD1306 түзгөндөн кийин, бул абдан жөнөкөй нан тактасы. Терүү жок, бардык файлдарды жүктөп алса болот.
Бул арзан жана оңой долбоор, бирок кээ бир орто/алдыңкы идеяларды киргизет. Мен аны сынап көрөм деп үмүттөнөм. Бул кичинекей дисплейден таасирлендим.
1 -кадам: Бул долбоор үчүн бизге эмне керек
Аппараттык:
- SSD1306 I2C моно дисплейи 128x64 пиксел
- Itsybitsy M4 Express
- microUSBден USB кабелине - тактаны программалоо үчүн
- Breadboard
- 1 10K Ом потенциометр
- 1 баскыч которгуч
- туташтыруучу зым - ар кандай түстөр жардам берет
- Компьютер (кодду жазуу жана жүктөө үчүн) - абдан эски ноутбук жасайт.
Программалык камсыздоо:
Му редактору - код жазуу жана сценарийди Itybitsyге жүктөө үчүн
Itsybitsy орнотуу бул жерде түшүндүрүлөт:
CircuitPython акыркы версиясы:
CircuitPython китепканалары:
Му редактору:
2 -кадам: Circuit
Бул орнотуу үчүн абдан жөнөкөй схема. Кийинки баракта нерселерди оңой кылуу үчүн түстүү зымдар менен даяр нан тактасы көрсөтүлгөн.
3 -кадам: Райондун Breadboard версиясы
Нандын үстүнкү жана астыңкы жагында электр рельстери бар. Кызыл жип менен +ve рельстерди бириктиргиле. Кара зым менен рельстерди бириктиргиле.
Itsybitsy'дин 3V төөнөгүчүн темир жолго +жана темирге кошуңуз - кызыл зым. (12 -мамыча)
Itsybitsyнин G (GND) пинине кошулуңуз - жогорку темир жолго - кара зым. (12 -мамыча)
33 жана 34 -мамычаларда SSD1306 VCC жана GND казыктарын жогорку электр рельстерине туташтырыңыз.
Кызгылт зым менен SCL төөнөгүчтөрүн бириктиргиле.
Боз зым менен SDA төөнөгүчтөрүн бириктиргиле.
Кызыл жана кара зымдар менен потенциометрдин сырткы төөнөгүчтөрүн жогорку электр рельстерине, жашыл зым менен Itybitsyдеги A5ке борбордук (аарчуучу) пинти туташтырыңыз.
Түймө которгучтун бир жагын кызгылт көк зым менен 2 -пинге, ал эми кара зым менен экинчи жагын GND темир жолуна туташтырыңыз.
4 -кадам: Арипти жүктөө
Шрифт файлын жүктөп алып, CIRCUITPY дискке сүйрөңүз. (Бул Итсибици.)
Lib папкасына эки жолу чыкылдатыңыз жана буга чейин жүктөлгөн драйверлердин тизмесин караңыз.
5 -кадам: Кошумча драйверлерди кошуу
Lib папкасында төмөнкүлөр керек болот:
- simpleio.mpy
- adafruit_bus_device
- adafruit_framebuf.mpy
- adafruit_ssd1306.mpy
Эгер алар жок болсо, аларды жеткиликтүү акыркы версиясынан папкага сүйрөңүз.
Сиз азыр скриптти жүктөп алууга даярсыз.
Му редакторуна жүктөлгөндөн кийин аны main.py аты менен Itybitsyге сактай аласыз.
Программа сызыктардын, чөйрөлөрдүн, динамикалык штрихтик графиктин демонстрациялары жана белгиленген белгилерди көрсөтүү аркылуу өтөт. Жөн эле казанды жай буруп, дисплейди башкаруу үчүн баскычты басып кармап туруңуз.
Кийинки барактар программанын иштеши жөнүндө көбүрөөк маалымат берет.
6 -кадам: Түзмөктөрдү орнотуу
Бул биринчи бөлүм бардык китепканаларды жүктөйт жана SSD1306, потенциометрди жана баскычтарды туура казыктарга орнотот.
7 -кадам: Белгилерди аныктап, горизонталдуу жана вертикалдуу сызыктарды чийиңиз
Бул бөлүмдө алдын ала белгиленген белгилер орнотулат. Алардын туурасы 5 чекит жана бийиктиги 8 чекит. Аныктаманын ар бир чекити экранда 4 чекитти тартат, ошондо алар жакшыраак көрүнөт.
Горизонталдык жана вертикалдуу сызыктарды илмек менен тартуу оңой. Сиз жөн гана аягында кошумча чекит керек экенин эстен чыгарбоо керек. (0, 7) ден (5, 7) ге чейинки сызыкка 6 чекит керек болот: х кезеги менен 0, 1, 2, 3, 4 жана 5ке барабар.
Негизги чекит командасы oled.pixel (x, y, color) - 0 кара жана 1 ак.
Башталышы (0, 0) экрандын жогорку сол жагында, 0 - 127 пиксел горизонталдуу (солдон оңго) жана 0 - 63 вертикалдуу (өйдөдөн төмөн).
8 -кадам: кутулар, блоктор жана эңкейиш линиялар
Коробкалар горизонталдуу жана вертикалдуу сызыктардан курулган.
Блоктор бир нече горизонталдык сызыктардан курулган.
Жантайыңкы сызыктар үчүн биз биринчи кезекте сол координаттарын текшеребиз. Болбосо, биз аларды алмаштырабыз, анткени сызык солдон оңго тартылат.
Биз андан кийин эңкейишти эсептеп, аны хтын ар бир мааниси үчүн y маанисин коюу үчүн колдонобуз.
Дисплей (t) процедурасы жаңыртылган экранды көрүнүктүү кылат жана кыска кечиктирүүнү күтөт, t секунд.
9 -кадам: Даража Символу, Анлгмент, Бар Граф жана Чөйрө
Даража белгиси 4 пикселден түзүлгөн.
Align () тартиби күндүн белгиленген бөлүгүндө кыска маанилерди оңго тегиздөө үчүн сандын алдына кошумча боштуктарды кошот.
График (v) тартиби тандалган пайызды берген горизонталдык графикти тартат. Мааниси оң жагында "T" менен жазылат 100 (Тон же Топ).
Чөйрөлөр тригонометрияны талап кылат, андыктан биз скрипттин башында математикалык китепкананы импорттошубуз керек. Биз күнөө, кос жана радиандарды колдонобуз, х жана у борборлорун эсептөө үчүн, радиус 90 градуска айланат. Ар бир эсептөө үчүн төрт квадранттын ар биринде упайлар чегерилет.
10 -кадам: Таштанды чогултуу, наамдар жана чөйрөлөр
Бул көрсөтмөлөр экранды ак -кара кылып тазалоону, экранга текст жазууну жана орун бошотуу үчүн gc () 'таштанды чогултуу' тартибин колдонууну көрсөтөт. Мааниси алда канча чоң сценарий үчүн көп орун бар экенин көрсөтөт.
Андан кийин программа жалпы борбору жана кыймылдуу борборлору бар чөйрөлөрдү тартат. Керектүү эсептөөнүн суммасын эске алуу менен өтө тез тартип.
Кийинки саптардын демонстрациясынын аталышы жазылган.
11 -кадам: Lines Demo
Бул тартип чынында линия () көнүгүүсүн берет. Радиалдык сызыктар дисплейдин төрт бурчунун ар биринен ар кандай интервалдар менен үлгүлөрдү түзөт.
12 -кадам: Негизги цикл: Бар графикасы жана аныкталган белгилер
Бул программанын негизги цикли. Потенциометрден алынган баалуулуктар көрсөтүлгөн маанилерди өзгөртөт жана графиктин узундугун өзгөртөт.
Эгерде баскычты кармап турсаңыз, аныкталган белгилер 1/0 жана True/False сыяктуу алмаштырылат. Бул цикл өтө жай иштейт, анткени алдын ала белгиленген белгилерди тартуу-жай процесс. Сиз кээ бирлерине комментарий берүү менен ишти тездете аласыз.
Бул демо жөнөкөй болушу үчүн температура сенсору орнотулган эмес, андыктан '?' 190 -саптагы маанинин ордуна көрсөтүлөт.
Сунушталууда:
Visuino менен SSD1331 OLED дисплейиндеги (SPI) Bitmap Animation: 8 кадам
Visuino менен SSD1331 OLED Дисплейиндеги (SPI) Bitmap Animation: Бул үйрөткүчтө биз Visuino менен SSD1331 OLED Дисплейинде (SPI) анимациянын жөнөкөй түрүндө битмап сүрөтүн көрсөтөбүз жана айланабыз
TM1637 LED дисплейиндеги Arduino Display убактысы RTC DS1307 колдонуп: 8 кадам
TM1637 LED дисплейиндеги Arduino Display убактысы RTC DS1307ди колдонуп: Бул окуу куралында биз RTC DS1307 модулун жана LED дисплей TM1637 менен Visuino аркылуу убакытты кантип көрсөтүүнү үйрөнөбүз
Een Slim дисплейиндеги Verander Een Ongebruikte смартфону: 6 кадам (сүрөттөр менен)
Een Slim Displayдеги Verander Een Ongebruikte Smartphone: Бул окуу куралы голланд тилинде, англисче версиясын бул жерден караңыз. Жөнөкөй дисплейлер Google Spreadsheets менен таанышты, жана алар папиердин эшигин ачышты жана үйрөткүчтү колдонууга мүмкүнчүлүк берди
OLED модулун колдонуп DIY бөлмө термометри: 7 кадам (сүрөттөр менен)
OLED модулун колдонуп DIY бөлмө термометри: Биз DS18B20 сенсорун жана OLED модулун колдонуп бөлмө термометрин курууну үйрөнөбүз. Биз негизги такта катары Piksey Pico колдонобуз, бирок эскизи Arduino UNO жана Nano такталарына да шайкеш келет, андыктан сиз дагы аларды колдоно аласыз
ATtiny85 жана OLED дисплейиндеги Flappy Bird SSD1306: 6 кадам (сүрөттөр менен)
ATtiny85 жана OLED дисплейиндеги Flappy Bird SSD1306: Эй баарына, бүгүн мен сизге жараткан флэппиттин негизги клонун көрсөтөм, жана сиз дагы ушундай оюнду кантип жасай аласыз. Мен негизи сиз менен кодумду иштетип, анын ар бир кадамында кантип иштээрин түшүндүрөм. Бул оюн бузуу үчүн курулган