
Съдържание:
- Стъпка 1: Какво ни е необходимо за този проект
- Стъпка 2: Веригата
- Стъпка 3: Версия на платката на схемата
- Стъпка 4: Зареждане на шрифта
- Стъпка 5: Добавяне на допълнителни драйвери
- Стъпка 6: Настройка на устройствата
- Стъпка 7: Определете знаци и нарисувайте хоризонтални и вертикални линии
- Стъпка 8: Кутии, блокове и наклонени линии
- Стъпка 9: Символ на степента, наклон, стълбовидна диаграма и кръг
- Стъпка 10: Събиране на боклук, заглавия и кръгове
- Стъпка 11: Демонстрация на линии
- Стъпка 12: Основният цикъл: Стълбовидна диаграма и дефинирани знаци
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36

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.
Препоръчано:
CircuitPython с Itsybitsy M4 Express 1: Настройка: 9 стъпки

CircuitPython с Itsybitsy M4 Express 1: Настройка: Ново за кодиране? Използвали сте само Scratch и искате да преминете към текстов език, който дава лесен достъп до физически изчисления със светодиоди, ключове, дисплеи и сензори? Тогава това може да е за вас. Забелязах, че този сайт съдържа много инструкции за
I2C / IIC LCD дисплей - Конвертиране на SPI LCD към I2C LCD дисплей: 5 стъпки

I2C / IIC LCD дисплей | Конвертирайте SPI LCD към I2C LCD дисплей: използването на spi lcd дисплей се нуждае от твърде много връзки, което е наистина трудно да се направи, затова намерих модул, който може да преобразува i2c lcd в spi lcd, така че нека започнем
Как да направите персонализиран измервател на температурата „Направи си сам“с помощта на графика и Atmega328p: 3 стъпки (със снимки)

Как да си направим персонализиран измервател на температурата „Направи си сам“с помощта на графична диаграма и Atmega328p: В тази публикация ще ви покажа как да направите измервателен уред за температурата с помощта на лентова диаграма & Atmega328p. Публикацията ще включва всички подробности като електрическа схема, изработка на печатни платки, кодиране, монтаж и усилвател; Тестване. Включих и видеоклип, съдържащ всички
Flappy Bird на ATtiny85 и OLED дисплей SSD1306: 6 стъпки (със снимки)

Flappy Bird на ATtiny85 и OLED дисплей SSD1306: Здравейте, днес ще ви покажа основен клониран птица клонинг, който създадох, и как можете да направите подобна игра. По същество ще прегледам кода си с вас и ще обясня как работи на всяка стъпка. Тази игра е създадена, за да
Как да броим от 0 до 99 с помощта на 8051 микроконтролер със 7 сегментен дисплей: 5 стъпки (със снимки)

Как да броим от 0 до 99 с помощта на 8051 микроконтролер със 7 -сегментен дисплей: Здравейте на всички, В този урок ще ви разкажем как да броите от 0 до 99, като използвате два 7 -сегментни дисплея