Мазмуну:

SSD1306 I2C OLED 128x64 дисплейиндеги графика Itybitsy M4 Express колдонуп CircuitPython менен: 13 кадам (сүрөттөр менен)
SSD1306 I2C OLED 128x64 дисплейиндеги графика Itybitsy M4 Express колдонуп CircuitPython менен: 13 кадам (сүрөттөр менен)

Video: SSD1306 I2C OLED 128x64 дисплейиндеги графика Itybitsy M4 Express колдонуп CircuitPython менен: 13 кадам (сүрөттөр менен)

Video: SSD1306 I2C OLED 128x64 дисплейиндеги графика Itybitsy M4 Express колдонуп CircuitPython менен: 13 кадам (сүрөттөр менен)
Video: 1.3 OLED самый лучший Arduino дисплей 128x64 I2C SH1106 + DHT22 RU 2024, Ноябрь
Anonim
Itsybitsy M4 Express колдонуп, CircuitPython менен SSD1306 I2C OLED 128x64 дисплейиндеги графика
Itsybitsy M4 Express колдонуп, CircuitPython менен SSD1306 I2C OLED 128x64 дисплейиндеги графика

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

Circuit
Circuit

Бул орнотуу үчүн абдан жөнөкөй схема. Кийинки баракта нерселерди оңой кылуу үчүн түстүү зымдар менен даяр нан тактасы көрсөтүлгөн.

3 -кадам: Райондун Breadboard версиясы

Райондун Breadboard версиясы
Райондун 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

Lines Demo
Lines Demo

Бул тартип чынында линия () көнүгүүсүн берет. Радиалдык сызыктар дисплейдин төрт бурчунун ар биринен ар кандай интервалдар менен үлгүлөрдү түзөт.

12 -кадам: Негизги цикл: Бар графикасы жана аныкталган белгилер

Негизги цикл: Бар графикасы жана аныкталган белгилер
Негизги цикл: Бар графикасы жана аныкталган белгилер

Бул программанын негизги цикли. Потенциометрден алынган баалуулуктар көрсөтүлгөн маанилерди өзгөртөт жана графиктин узундугун өзгөртөт.

Эгерде баскычты кармап турсаңыз, аныкталган белгилер 1/0 жана True/False сыяктуу алмаштырылат. Бул цикл өтө жай иштейт, анткени алдын ала белгиленген белгилерди тартуу-жай процесс. Сиз кээ бирлерине комментарий берүү менен ишти тездете аласыз.

Бул демо жөнөкөй болушу үчүн температура сенсору орнотулган эмес, андыктан '?' 190 -саптагы маанинин ордуна көрсөтүлөт.

Сунушталууда: