Пример работы с 0.96" OLED индикатором по I2C
|
|
AndrF |
Дата: Вт, 06.01.2015, 17:32 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Это недорогие OLED-индикаторы (на Ebay сейчас стоят ~280 руб за штучку, например).
Проект с примером приложен (использовал PIC18F26K20 c аппаратным I2C - такие продаются около 100 руб за штучку).
Работает достаточно шустро - I2C работает на скорости в 1 MHz.
В примере производится очистка экрана (с фоном и без), ну и вывод нескольких строчек с разным размером шрифта (видео вышло не ахти какое, но что есть):
Код вызова при этом выглядит примерно так:
Код Device = 18F26K20 Clock = 16
Include "Utils.bas" Include "SSD1306.bas"
Dim i As Byte
DelayMs(200) SetAllDigital
TRISA = $00
SSD1306.Initialize()
While True PORTA.0 = Not PORTA.0
Cls(i)
Print( 2, 6, "Test2", 2, 2) Print( " Test1", 1, 1) Print( 255, 2, "12:37", 3, 3)
i = i + 1 if i > 3 Then i = 0 EndIf
DelayMS(500) Wend
Сообщение отредактировал
AndrF - Ср, 07.01.2015, 12:03
|
|
|
|
AndrF |
Дата: Ср, 07.01.2015, 20:09 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Сегодня задействовал установленный на плате DS3231...
Кстати, разыскивается шрифт. Назначение - отображение времени, температуры... В приведенном выше примере использовался отмасштабированный 5x7, но при увеличении его большом увеличении, понятное дело, становятся видны ступеньки:
Так что нужен шрифт подходящего размера, чтобы заменить им то что на экранчике выше отображается синим цветом...
Сообщение отредактировал
AndrF - Ср, 07.01.2015, 20:11
|
|
|
|
Ethno |
Дата: Пн, 19.01.2015, 17:42 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 11.12.2012
Статус:
Offline
|
Цитата AndrF ( ) Проект с примером приложен (использовал PIC18F26K20 c аппаратным I2C - такие продаются около 100 руб за штучку).Работает достаточно шустро - I2C работает на скорости в 1 MHz.
В примере производится очистка экрана (с фоном и без), ну и вывод нескольких строчек с разным размером шрифта (видео вышло не ахти какое, но что есть): У меня не компилируется...А можно hex на тест....?
|
|
|
|
AndrF |
Дата: Пн, 19.01.2015, 18:02 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Цитата Ethno ( ) У меня не компилируется... На что хоть ругается?
Цитата Ethno ( ) А можно hex на тест....? У меня сейчас нет ничего под рукой - разве только в выходные буду там где проект...Добавлено (19.01.2015, 18:01) --------------------------------------------- Ethno,
Единственное что смог - проверил компиляцию проекта - компилируется нормальное. Единственное что ругается что переменная i не инициализирована. Ну это просто вставь i = 0 перед циклом. Добавлено (19.01.2015, 18:02) --------------------------------------------- Ethno,
Кстати, Main.hex в проекте есть!
Сообщение отредактировал
AndrF - Пн, 19.01.2015, 17:55
|
|
|
|
Ethno |
Дата: Пн, 19.01.2015, 18:05 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 11.12.2012
Статус:
Offline
|
Цитата AndrF ( ) На что хоть ругается? Unable to open system file
|
|
|
|
AndrF |
Дата: Пн, 19.01.2015, 18:12 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Цитата Ethno ( ) Unable to open system file А хоть какой-то проект вообще компилируется?Добавлено (19.01.2015, 18:11) --------------------------------------------- У меня компиляция того проекта проходит вот так:
Цитата Clean: Deleting intermediary and output files. Clean Warning: File "C:\Work\MyBoard\Swordfish\Main.COF" doesn't exist. Clean: Deleted file "F:\A\Swordfish\MyBoardPrj.mcs". Clean: Done. Executing: "C:\Program Files\Mecanique\Swordfish\Swordfish.exe" Main.bas -p18F26K20 Swordfish BASIC Compiler 2.2.2.5 (ICC 1.1.6.4) Copyright © 2011-2014 Mecanique All Rights Reserved. Warning[] F:\A\Swordfish\Main.bas 21 : Variable 'i' might not have been initialized Warning[] F:\A\Swordfish\Main.bas 28 : Variable 'i' might not have been initialized ROM used : 3121 Bytes (4.76%) RAM used : 102 Bytes (2.59%) Loaded F:\A\Swordfish\Main.COF. BUILD SUCCEEDED: Mon Jan 19 17:57:48 2015 Добавлено (19.01.2015, 18:12) --------------------------------------------- Да, компиляцию запускаю из MPLAB...
|
|
|
|
Ethno |
Дата: Пн, 19.01.2015, 18:17 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 11.12.2012
Статус:
Offline
|
как в левой колонке изменить процессор а то Include 18F4552 Может из за этого. Потому что проекты из примеров нормально компилируются ... Понял у него нет на этот процессор установок, тогда вопрос где можно их взять. Это в папке LoaderHEX
Сообщение отредактировал
Ethno - Пн, 19.01.2015, 18:24
|
|
|
|
AndrF |
Дата: Пн, 19.01.2015, 18:33 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Ethno,
Посмотри здесь: http://www.sfcompiler.co.uk/wiki....Devices
Там в конце ссылка на описание как что надо сделать если процессора нет в списке.
|
|
|
|
Ethno |
Дата: Пн, 19.01.2015, 18:56 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 11.12.2012
Статус:
Offline
|
Теперь ругается на Include "SSD1306.BAS" Unable to open Include file : SSD1306.basДобавлено (19.01.2015, 18:56) ---------------------------------------------
Цитата Ethno ( ) Теперь ругается на Include "SSD1306.BAS"Unable to open Include file : SSD1306.bas Сообщение отредактировал Ethno - Пн, 19.01.2015, 18:49 перенес файлы из папки Library но теперь не находит файл setdigitalio.bas Include "setdigitalio.bas"
Сообщение отредактировал
Ethno - Пн, 19.01.2015, 18:49
|
|
|
|
AndrF |
Дата: Вт, 20.01.2015, 08:12 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Ну тут все понятно - это из-за использования старой версии Swordfish - она не понимает папки в подкаталоге программы. Ну и файлы библиотек у вас старые.
setdigitalio.bas можно забрать здесь:
http://www.sfcompiler.co.uk/wiki....gitalIO
Ну и еще что - если потребуется...
Добавлено (20.01.2015, 08:12) --------------------------------------------- Кстати, если использовать контроллеры из списка Firewing, то можно было бы бесплатно использовать его.
Сообщение отредактировал
AndrF - Вт, 20.01.2015, 08:16
|
|
|
|
Ethno |
Дата: Вт, 20.01.2015, 14:25 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 11.12.2012
Статус:
Offline
|
Цитата AndrF ( ) Ну и еще что - если потребуется. файл скачал но опять теже проблемы теперь ругается при компиляции на Public Dim SetAllDigital As SetDigitalIO.SetAllDigital в файле Util
Сообщение отредактировал
Ethno - Вт, 20.01.2015, 14:27
|
|
|
|
AndrF |
Дата: Вт, 20.01.2015, 14:45 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Тогда просто убери остальные библиотеки из папки программы, оставь только SSD1306.bas. Тогда будут использоваться старые библиотеки SWordfish из его папок.
Собственно ругается из-за вызова процедуры SetAllDigital (из модуля Utils.bas), которая устанавливает все порты контроллера цифровыми. Так что тебе надо разобраться как ее вызвать в старой версии. Ну или установить порты обычным методом.
|
|
|
|
Ethno |
Дата: Вт, 20.01.2015, 15:05 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 11.12.2012
Статус:
Offline
|
Спасибо сейчас попробую Добавлено (20.01.2015, 15:05) --------------------------------------------- нет, наверное старая версия рыбы, где можно скачать новую?
|
|
|
|
AndrF |
Дата: Вт, 20.01.2015, 15:06 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Я купил. Но поделиться не могу - ставится лишь на три машины с проверкой через интернет...
|
|
|
|
Ethno |
Дата: Вт, 20.01.2015, 15:13 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 11.12.2012
Статус:
Offline
|
Скачал СЕ 2.2.18 компилирует но ругается. Извините что мучаю, но очень хочется включить индикатор
Сообщение отредактировал
Ethno - Вт, 20.01.2015, 15:15
|
|
|
|