www.kn34pc.com

Форум на силистренските радиолюбители
Дата и час: 10 Дек 2023, 13:04

Часовете са според зоната UTC + 2 часа [ DST ]




Напиши нова тема Отговори на тема  [ 14 мнения ] 
Автор Съобщение
МнениеПубликувано на: 10 Ное 2018, 00:31 
Offline

Регистриран на: 07 Апр 2009, 19:08
Мнения: 72
Местоположение: Шумен,Шипка
За проект избрах дисплей OLED SSD1327 1.5" 128x128 - blue закупен от наш интернет магазин.Но явно ударих на камък.Не мога да намеря нужната библиотека за Arduino uno :?


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 10 Ное 2018, 08:18 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
Опитай с U8glib V2 library for Arduino:
https://github.com/olikraus/U8g2_Arduino

Библиотеката е универсална, поддържа много типове дисплеи.

В описанието четем:
Цитат:
...
SSD1327 EA_W128128
SSD1327 MIDAS_128X128
...

Тествай напр. с "Hello World" (намираща се в U8g2_Arduino\examples\u8x8\HelloWorld).
Разкоменирай за твоя дисплей само един от редовете (изводите към Arduino са в скоби):
Цитат:
//U8G2_SSD1327_EA_W128128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/8);
//U8G2_SSD1327_EA_W128128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/8);
//U8G2_SSD1327_EA_W128128_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 5, /* data=*/ 4, /* reset=*/ U8X8_PIN_NONE);
//U8G2_SSD1327_EA_W128128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
//U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/8);
//U8G2_SSD1327_MIDAS_128X128_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/8);

На Arduino IDE v1.8.7 се компилира без грешки.


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 10 Ное 2018, 08:59 
Offline

Регистриран на: 07 Апр 2009, 19:08
Мнения: 72
Местоположение: Шумен,Шипка
Благодаря за насоките ,но пропуснах да отбележа ,че искам да го управлявам по I2C .Това което виждам във всички примери е ,че са за SPI :| .


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 10 Ное 2018, 09:51 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
ramzes написа:
... искам да го управлявам по I2C.

Библиотеката управлява SSD1327 и по I2C (в U8g2lib.h виж редове 5206 и надолу).
в ред 3 и 4 цитираните по-горе примерните типове са:
Цитат:
...
//U8G2_SSD1327_EA_W128128_1_SW_I2C u8g2(U8G2_R0, /* clock=/ 5, / data=/ 4, / reset=/ U8X8_PIN_NONE);
//U8G2_SSD1327_EA_W128128_1_HW_I2C u8g2(U8G2_R0, / reset=*/ U8X8_PIN_NONE);
...

За помощ: https://github.com/olikraus/u8g2/issues/699

Ще трябва да се промени
Цитат:
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif

на
Цитат:
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

Хардуерно също трябва да се промени състоянието на извод DC на дисплея. Примерно:
Цитат:
DC connected to GND.


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 15 Ное 2018, 14:37 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
Библиотеката ще се ползва. Харесва ми.
Поддържа текстов и графичен режим. Достъпни са функции за геометрични фигури.

Тест с 0.91" OLED 128x32 I2C с драйвер SSD1306:


Прикачени файлове:
2018-11-15-1388.jpg
2018-11-15-1388.jpg [ 352.25 KiB | Прегледано 10367 пъти ]
Върнете се в началото
 Профил  
 
МнениеПубликувано на: 16 Ное 2018, 19:36 
Offline

Регистриран на: 07 Апр 2009, 19:08
Мнения: 72
Местоположение: Шумен,Шипка
За сега няма много време да се _поръчкам_ , но направих един бърз опит с LCD HDM-16216H-2A с чипове HD44100H и SED1278 мога да заключа ,опитът беше несполучлив.Връщам се на OLED дисплея.Инсталирах версията 1.8.7 надявам се да намеря библиотеки за нея. Доколкото разбирам за някои модули са нужни библиотеки , т.е. не може да се пише свободни _съчинениея_ :oops:


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 16 Ное 2018, 20:59 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
OFFTOP:
Вариантите са няколко (затова пък безкрайни и все забавни):

1. Намираш проект, намираш нужните компоненти за него едно към едно, зареждаш sketch-а, компилираш, зареждаш в микроконтролера и ползваш.
Предимства: тръгва "от раз": 5 мин. за софтуерната част, нищо не пишеш, нищо не измисляш, не те боли главата вечер от множеството варианти.
Недостатъци: във всички намерени проекти все ще имат нещо, което не ти допада, ще искаш да промениш или да добавиш все нещичко.

2. Намираш подобен проект на твоя, който си замислил, а част от него поправяш (за наличните компоненти), изменяш готовите вече (с исканите функции) или допълваш (с нови функции).
Предимства: някой друг си е "блъскал" главата да измисли "скелета" на проблема, решил е 90% от нещата: "Бързо-лесно-вкусно", и след няколко дни изменения на софтуера и дописване на нови функции - и с мерудия :biggrin .
Недостатъци: Времезаемащо е: необходимо е четене и пробване на варианти.

3. Започваш проекта си от началото, със собствени алгоритми, начини на реакция, математ. обработки и всичко свое.
Предимства: Всичко сработва така, както си го поискал. Постепенно изчистваш кода и алгоритмите, докато ти хареса. Няма липсващи модули и устройства, няма безполезни менюта, няма безсмислен надписи. Бързо и лесно работиш с устройството, чиито функции си предвидил.
Недостатъци: Проектът никога няма да е завършен :crazy . Все нещо "може и по друг начин", "може и по-бързо". Трябва четене, писане :comp триене и проби, болежки в главата, необходими са често моливи и много бели листа :rolleyes :biggrin.
***
Със споделените библотеки вариантите са между 2 и 3: някой (добър човек) е направил управление на непознатото налично устройство (и ги е споделил за всеобщо ползване), ти го управлявляваш с входно-изходните процедури и функции без да те интересува особено кое как се случва вътре му - то си се управлява и работи. Ти само му задаваш какво да прави. Така си сглобяваш идейното устройство с "черни кутии", управлявани от теб с ясно написани правила.

(Пример: за DDS: пиша му: set_freq(10 000 000); а какво става там вътре, какво се праща (по документацията) - то си знае и на тоя етап "не ни интересува". Важното е, че след изпълнение на реда от програмата, в изхода на DDS ще има 10 MHz.) Ти се занимаваш с обединението на черните кутии в едно, да вършат работата заедно.

Проблемът е ако няма такива библиотеки за това устройство/модулче или нещо не ти допадат наличните (много памет заемат, сложни са и др. подобни изисквания). Тогава се налага по метод 3 (и документацията за модула, устройството, чипа) да си напишеш собствени. А ако искаш: да ги споделиш за ползване от други потребители, за да прескочат те вариант 3 и за тях това да е вариант 2 или вариант 1.

Често собствената програмка взаимства от всички варианти по малко. Затова пък работата й после носи удовлетворение, а новопостроеното устройство става "любимо" (понеже знаеш пътя на изходния му код :rolleyes).

Бе магии трябва да има :mocking


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 28 Ное 2018, 20:56 
Offline

Регистриран на: 07 Апр 2009, 19:08
Мнения: 72
Местоположение: Шумен,Шипка
Реших да използувам LED 7 сегментен дисплей за проекта , но пак греда . Диспля светна , но се получи неприятен ефект при който изгасените сегменти светят на 50 % т.е. почти не може да се различи показанието в реална сойност.
При подаване на захранване към UNO-то докато се установи 0 до там всичко добре .Реално искам да направя Волтметър който да ми показва стройност спрямо външен източник на захранване . Външният източник на захранване ми подава напрежение в диапазона на 1.4 до 2.8 волта стъпките на измерваното напрежение са през 0.05 волта. :crazy :crazy :crazy :crazy


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 28 Ное 2018, 21:09 
Offline

Регистриран на: 07 Апр 2009, 19:08
Мнения: 72
Местоположение: Шумен,Шипка
Реших проблем май до нова изходна позиция . Когато задам на входа GND Дисплея си показва 000 както искам . Но когато забия да си измеря примерно Батерйка нещата не се случват оффф


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 28 Ное 2018, 21:15 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
Какъв е LED дисплеят, драйвер има ли си или са директно свързани сегментите?


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 29 Ное 2018, 20:42 
Offline

Регистриран на: 07 Апр 2009, 19:08
Мнения: 72
Местоположение: Шумен,Шипка
Директно , твърд . :shock: С по един ер на катодиде.


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 29 Ное 2018, 21:08 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
Имаш 7-сегментен LED дисплей с:
- общи катоди/общи аноди?
- с 1 / 2 / 3 / 4 или повече разряда? (3?).
- динамична или статична индикация?
- нов (съвременен) / стар тип?
- със собствено управление или с готова програма пробваш?


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 30 Ное 2018, 00:36 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
На супер-библиотека за управление на 7-сегментни индикатори попаднах:

Seven segment display controller library for Arduino:
https://github.com/DeanIsMe/SevSeg

и статия за използване:
How to set up 7-segment displays on the Arduino:
http://www.circuitbasics.com/arduino-7- ... -tutorial/

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

За тест от SevSeg_Counter оставих изобразяване само на едно число (в случая 2.34).
(Цифрите на снимката трябваше да са ярко-червени...).

Остава да насочиш АЦП от един аналогов вход към дисплея вместо това число 2.34 и си готов :smile

Цитат:
byte digitPins[] = {2, 3, 4}; // катоди или аноди 1, 2, 3 ...
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; // a, b, c, d, e, f, g, h


Прикачени файлове:
Коментар на файл: Seven segment display controller library for Arduino
SevSeg.zip [20.49 KiB]
421 пъти
SevSeg_02.zip [7.15 KiB]
430 пъти
ca_20181129_212449.jpg
ca_20181129_212449.jpg [ 1.32 MiB | Прегледано 10238 пъти ]
ddd.jpg
ddd.jpg [ 195.27 KiB | Прегледано 10129 пъти ]
Върнете се в началото
 Профил  
 
МнениеПубликувано на: 13 Яну 2019, 19:10 
Offline
Аватар

Регистриран на: 07 Дек 2006, 18:24
Мнения: 1447
Местоположение: Силистра
Използван индикатор: SM410563, общ анод


Прикачени файлове:
SM410563.jpg
SM410563.jpg [ 53.26 KiB | Прегледано 10011 пъти ]
Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 14 мнения ] 

Часовете са според зоната UTC + 2 часа [ DST ]


Кой е на линия

Потребители, разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Форумът се задвижва от phpBB® Forum Software © phpBB Group
Преведено от yarnaudov.com