Съдържание:

Графика на SSD1306 I2C OLED 128x64 дисплей с CircuitPython с помощта на Itsybitsy M4 Express: 13 стъпки (със снимки)
Графика на SSD1306 I2C OLED 128x64 дисплей с CircuitPython с помощта на Itsybitsy M4 Express: 13 стъпки (със снимки)

Видео: Графика на SSD1306 I2C OLED 128x64 дисплей с CircuitPython с помощта на Itsybitsy M4 Express: 13 стъпки (със снимки)

Видео: Графика на SSD1306 I2C OLED 128x64 дисплей с CircuitPython с помощта на Itsybitsy M4 Express: 13 стъпки (със снимки)
Видео: OLED дисплей и Ардуино. Библиотека U8gLib и контроллер SSD1306 2024, Юли
Anonim
Графика на SSD1306 I2C OLED 128x64 дисплей с CircuitPython с помощта на Itsybitsy M4 Express
Графика на SSD1306 I2C OLED 128x64 дисплей с CircuitPython с помощта на Itsybitsy M4 Express

SSD1306 OLED дисплейът е малък (0,96 ), евтин, широкодостъпен, I2C, монохромен графичен дисплей с 128x64 пиксела, който лесно се свързва (само 4 проводника) към микропроцесорни платки за разработка като Raspberry Pi, Arduino или Adafruit Itybitsy M4 Express, CircuitPlayground Express или други устройства на CircuitPython. Драйверите могат да бъдат изтеглени от интернет.

Графичните процедури за Arduinos са налични от известно време, но не и за други системи за разработка.

Основните драйвери на устройства позволяват на потребителите да:

  • Изчистете екрана на черно или бяло. oled.fill (c)
  • Напишете текстов низ на екрана на определена (x, y) позиция oled.text ("Текст", x, y, c)
  • Начертайте точка в определена (x, y) позиция oled.pixel (x, y, c)
  • Заредете файл с картина на екрана. (Не се използва в този проект)
  • Актуализирайте дисплея oled.show ()

Тази инструкция ще демонстрира, с прости процедури, как да рисувате, интерактивно:

  • линии
  • кръгове
  • кухи кутии
  • плътни блокове
  • предварително определени символи

Ще използвам Adafruit Itsybitsy M4 Express, за да демонстрирам методите, но кодът в Python може лесно да бъде пренесен в други системи за разработка.

Избрах Itybitsy M4 за тази демонстрация, защото е евтин, мощен, лесен за програмиране, включва аналогов и цифров вход/изход, има много памет, лесно намира документация и форуми за помощ в Интернет, много лесно се настройва първоначално и поддържа CircuitPython, версия на Python, идеална за начинаещи в кодирането.

След като сте настроили своите Itsybitsy и SSD1306, това е много проста конструкция. Няма писане, всички файлове могат да бъдат изтеглени.

Това е евтин и лесен за изграждане проект, но въвежда някои междинни/напреднали идеи. Надявам се, че ще опитате. Бях впечатлен от този малък дисплей.

Стъпка 1: Какво ни е необходимо за този проект

Какво ни е необходимо за този проект
Какво ни е необходимо за този проект

Хардуер:

  • SSD1306 I2C моно дисплей 128x64 пиксела
  • Itsybitsy M4 Express
  • microUSB към USB кабел - за програмиране на платката
  • Платка
  • 1 10K Ohm потенциометър
  • Превключвател с 1 бутон
  • свързващ проводник - различни цветове могат да помогнат
  • Компютър (за да напишете кода и да го качите) - много стар лаптоп ще свърши работа.

Софтуер:

Mu редактор - за писане на код и качване на скрипта в Itsybitsy

Настройването на Itsybitsy е обяснено тук:

Най -новата версия на CircuitPython:

Библиотеки на CircuitPython:

Mu Editor:

Стъпка 2: Веригата

Веригата
Веригата

Това е много проста схема за настройка. Следващата страница илюстрира готовия макет с цветни проводници, за да улесни нещата.

Стъпка 3: Версия на платката на схемата

Макетна версия на схемата
Макетна версия на схемата

В горната и долната част на дъската има захранващи релси. С червен проводник съединете +ve релсите заедно. С черен проводник съединете релсите -ve заедно.

Присъединете 3V щифта на Itsybitsy към долната +релса - червен проводник. (Колона 12)

Присъединете G (GND) щифта на Itsybitsy към горната релса - черен проводник. (Колона 12)

В колони 33 и 34 свържете щифтовете SSD1306 VCC и GND към горните релси за захранване.

С розов проводник съединете SCL щифтовете заедно.

Със сив проводник свържете щифтовете на SDA заедно.

С червени и черни проводници свържете външните щифтове на потенциометъра към горните захранващи шини, а със зелен проводник свържете централния щифт (чистачка) към A5 на Itybitsy.

Свържете едната страна на превключвателя с пурпурен проводник към щифт 2 и с черен проводник свържете другата страна към GND шина.

Стъпка 4: Зареждане на шрифта

Зареждане на шрифта
Зареждане на шрифта

Изтеглете файла с шрифта и го плъзнете към устройството CIRCUITPY. (Това е Itybitsy.)

Щракнете двукратно върху папката lib и разгледайте списъка с вече заредени драйвери.

Стъпка 5: Добавяне на допълнителни драйвери

Добавяне на допълнителни драйвери
Добавяне на допълнителни драйвери

В папката lib ще ви трябва следното:

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

Ако липсват, плъзнете ги в папката от последната налична версия.

Вече сте готови да изтеглите скрипта.

След като се зареди в редактора Mu, можете да го запишете в Itsybitsy с името main.py.

Програмата преминава през поредица от демонстрации на линии, кръгове, динамична лентова диаграма и показване на определени символи. Просто завъртете тенджерата бавно и натиснете и задръжте бутона, за да контролирате дисплея.

Следващите страници дават повече информация за това как работи програмата.

Стъпка 6: Настройка на устройствата

Настройка на устройствата
Настройка на устройствата

Този първи раздел зарежда всички библиотеки и настройва SSD1306, потенциометъра и бутонния превключвател на правилните щифтове.

Стъпка 7: Определете знаци и нарисувайте хоризонтални и вертикални линии

Определете знаци и начертайте хоризонтални и вертикални линии
Определете знаци и начертайте хоризонтални и вертикални линии
Определете знаци и нарисувайте хоризонтални и вертикални линии
Определете знаци и нарисувайте хоризонтални и вертикални линии

Този раздел задава предварително дефинираните символи. Те са 5 точки широки и 8 точки високи. Всяка точка в определението чертае 4 точки на екрана, така че да се показват по -добре.

Хоризонталните и вертикалните линии са лесни за рисуване с контур. Просто трябва да запомните, че имате нужда от допълнителната точка в края. Линия от (0, 7) до (5, 7) ще се нуждае от 6 точки: с x равно на 0, 1, 2, 3, 4 и 5 на свой ред.

Основната команда за точка е oled.pixel (x, y, цвят) - 0 е черно, а 1 е бяло.

Началото (0, 0) е в горния ляв ъгъл на екрана, 0 - 127 пиксела хоризонтално (отляво надясно) и 0 - 63 вертикално (отгоре надолу).

Стъпка 8: Кутии, блокове и наклонени линии

Кутии, блокове и наклонени линии
Кутии, блокове и наклонени линии

Кутиите са изградени от хоризонтални и вертикални линии.

Блоковете са изградени от множество хоризонтални линии.

За наклонени линии първо проверяваме дали координатите са дадени най-напред най-отляво. В противен случай ги сменяме, тъй като линията ще бъде изтеглена отляво надясно.

След това изчисляваме наклона и го използваме, за да зададем стойността на y за всяка стойност на x.

Процедурата за показване (t) прави актуализирания екран видим и изчаква кратко закъснение, t секунди.

Стъпка 9: Символ на степента, наклон, стълбовидна диаграма и кръг

Символ на степента, наклон, стълбовидна диаграма и кръг
Символ на степента, наклон, стълбовидна диаграма и кръг

Символът за степен се създава от 4 пиксела.

Процедурата align () добавя допълнителни интервали пред числото, за да подравнява вдясно кратките стойности в фиксирано пространство.

Програмата за график (v) изчертава хоризонтална лентова графика, даваща избрания процент. Стойността се изписва в десния край, като се използва 'T' за представяне на 100 (Тон или Горе).

Кръговете изискват известна тригонометрия, така че трябва да импортираме математическата библиотека в началото на скрипта. Използваме sin, cos и радиани, за да изчислим отклоненията x и y от центъра, тъй като радиусът се завърта на 90 градуса. Точките се нанасят във всеки от четирите квадранта за всяко изчисляване на отместванията.

Стъпка 10: Събиране на боклук, заглавия и кръгове

Събиране на боклук, заглавия и кръгове
Събиране на боклук, заглавия и кръгове

Тези инструкции демонстрират изчистване на екрана до черно -бяло, писане на текст на екрана и използване на gc () програма за събиране на боклук за освобождаване на място. Стойността показва, че има много място за много по -голям скрипт.

След това програмата начертава кръгове с общ център и с движещи се центрове. Доста бърза рутина, като се има предвид необходимия размер на изчислението.

Заглавието на демонстрацията на редовете е написано по -нататък.

Стъпка 11: Демонстрация на линии

Демонстрационни линии
Демонстрационни линии

Тази рутина наистина дава на рутината line () тренировка. Радиални линии се изтеглят от всеки от четирите ъгъла на дисплея с различни разстояния, образуващи шарки.

Стъпка 12: Основният цикъл: Стълбовидна диаграма и дефинирани знаци

Основният цикъл: Бар диаграма и дефинирани знаци
Основният цикъл: Бар диаграма и дефинирани знаци

Това е основният цикъл на програмата. Стойностите от потенциометъра променят показаните стойности и променят дължината на лентовата диаграма.

Ако бутонът е задържан, определените знаци се разменят, както са 1/0 и True/False. Този цикъл работи доста бавно, защото изчертаването на предварително дефинираните знаци е бавен процес. Можете да ускорите нещата, като коментирате някои от тях.

Няма монтиран температурен сензор, за да поддържа тази демонстрация проста, така че „?“се показва вместо стойност в ред 190.

Препоръчано: