1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/FredyXu-cw_esp8266_ssd1306_i2c_4pin

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Очень жаль, но этот проект уже прекращён, рекомендуется обратить внимание на другой проект: https://gitee.com/FredyXu/coffee.

Мооский код Морзе — тренажёр

На базе ESP8266 с использованием ARDUUINO реализован мооский код Морзе — тренажёр.

В этой версии используется OLED-дисплей SSD1306 I2C 4-контактный.

Подробные инструкции по использованию см. в видео на B站.

Основные функции:

— поддержка ручного и автоматического режима работы; — в автоматическом режиме можно менять местами точки и тире; — можно отправлять через WIFI мооские коды Морзе, отправленные на указанный MQTT-сервер, и получать мооские коды других тренажёров, отправленных на указанный MQTT-сервер; — скорость отправки можно регулировать; — скорость воспроизведения можно регулировать; — время защиты от дребезга можно регулировать; — после отправки мооского кода Морзе через сеть WIFI он автоматически отправляется на указанный MQTT-сервер через 1,5 секунды после остановки.

О резервном WIFI

Достаточно заполнить один из них — основной или резервный. После включения сети сначала попробуйте подключиться к основному сигналу WIFI, а если соединение установлено, то через 20 секунд оно будет переподключено к резервному WIFI.

Список оборудования

Модуль Количество
ESP8266-разработка (NodeMCU) 1
OLED-дисплей 128×64 разрешение SSD1306 чип управления I2C связь 4 контакта 1
Кодировщик вращения цифровой импульсный выход можно нажать 5 контактов 1
3,5 мм аудио гнездо 3 контакта 1
Бесшумный зуммер 1
Провод DuPont Несколько

Как добавить ESP8266 в Arduino IDE

Откройте Arduino IDE, откройте «Настройки», добавьте адрес в «Управление дополнительными досками» следующим образом: http://arduino.esp8266.com/stable/package_esp8266com_index.json, сохраните его после добавления. Затем нажмите «Инструменты» → «Дополнительные платы» → «Управление дополнительными платами». Введите «ESP8266» в поле поиска в верхней части и нажмите Enter для поиска, затем установите найденный проект.

Метод подключения

OLED

OLED ESP8266
VCC 3.3V
GND GND
SCL D1(GPIO 5)
SDA D2(GPIO 4)

Автоматический ключ (KEY)

KEY ESP8266
1 D4(GPIO 2)
2 D7(GPIO 13)
GND GND

Ручной ключ

KEY ESP8266
1 D4(GPIO 2)
GND GND

Примечание: можно выбрать только один из двух методов подключения ключа. Автоматический метод подключения поддерживает ручной метод подключения, но ручной метод не может использовать автоматический метод.

Кодировщик

ENCODER ESP8266
GND GND
+ 3.3V
SW D6(GPIO 12)
DT D5(GPIO 14)
CLK D3(GPIO 0)

Бесшумный зуммер

BEE ESP8266
VCC 3.3V
GND GND
IO D0(GPIO 16)

Примечание: указанный зуммер является бесшумным зуммером.

Зависимые библиотеки

ESP8266WiFi

EEPROM

PubSubClient (By Nick O'Leary)

Adafruit_SSD1306 (By Adafrult)

Adafruit GFX Library (By Adafrult)

U8g2_for_Adafruit_GFX (By ollver)

Как войти в «настройки»

После включения нажмите или поверните кодировщик, чтобы войти в интерфейс настройки.

Описание интерфейса настроек

Возврат

Вернитесь на страницу по умолчанию из страницы настроек.

Регулировка тона

Измените частоту возбуждения зуммера, чтобы отрегулировать тон зуммера.

Тип ключа

Установите тип используемого ключа. Можно установить «ручной ключ» (Manual) или «автоматический ключ» (Auto).

Направление клавиши

Установите направление клавиши в автоматическом режиме, например, левая клавиша — точка (L-Di), правая клавиша — точка (R-Di).

Воспроизводить ли

Установить, воспроизводить ли мооский код, полученный от MQTT-сервера. Этот параметр действителен только для полученных собственных мооских кодов Морзе и не действует для других мооских кодов.

Преобразовать ли

Преобразовывать ли мооские коды, полученные от MQTT-сервера, в соответствующие символы и отображать их.

Время отправки

В отличие от других мооских тренажёров Морзе, скорость отправки этого тренажёра регулируется «временем точки». В дальнейшем «время точки» будет называться «единичным временем», то есть параметром «время отправки». При использовании ручного ключа нажатие клавиши до отпускания занимает меньше времени точки, это считается точкой. Если оно больше, чем время точки, оно считается тире. Фактически, время точки можно рассматривать как критическое время между точкой и тире.

При использовании автоматического ключа время точки составляет 0,5 от единичного времени, время тире составляет 1,5 от единичного времени, а интервал между мооскими кодами составляет 0,5 от единичного времени.

Время воспроизведения

Время воспроизведения мооского кода после получения от MQTT-сервера — это время точки.

Защита от дребезга

Установите время защиты от дребезга ключа.

Подключиться к сети

Настроить, подключаться ли к указанному MQTT-серверу через WIFI. Если этот параметр установлен на Да, необходимо самостоятельно подтвердить, что текущий WIFI и MQTT-сервер доступны.

Сбросить настройки по умолчанию

Все настройки сбрасываются до значений по умолчанию.

Подробнее см. видео на B站.

О font.h

font.h — это файл пользовательского шрифта, использующий шрифт Wenquanyi Open Source. Спасибо автору шрифта за бескорыстный вклад.

О psc.h и psc.cpp

psc.h и psc.cpp — это исходный код библиотеки PubSubClient (автор Nick O'Leary), поскольку PubSubClient по умолчанию не может получать слишком длинные данные, поэтому после небольшой модификации ограничения переменной она была перенесена сюда, а остальные части остались без изменений. Ещё раз спасибо первоначальному автору за бескорыжный вклад!

Журнал обновлений

2020-03-07

  • Исправлена ​​ошибка в операторе суждения, на которую указал 山猫号, большое спасибо! Поклон!

2020-01-18

  • Добавлен резервный WIFI. Когда сеть включена, сначала попытайтесь подключиться к главному сигналу WIFI. Если подключение не удалось, попробуйте подключиться к резервному сигналу WIFI. (Спасибо за предложение 蜗牛_BD4TZG)

2020-01-16

  • Добавлено управление тайм-аутом WIFI. Попытка подключения к WIFI завершится неудачно через 30 секунд.

2020-01-06

  • Исправлено, что невозможно отправить слишком длинный контент.
  • Имя файла управления WIFI изменено на wifi.h. Имя файла net.h зарезервировано для использования другими функциями.

2020-01-04

  • Исправлено, что иногда при первом включении после подачи питания параметры настройки считываются неправильно.
  • Устранена ошибка, из-за которой мооский код, получаемый каждым символом, добавлял лишний пробел после символа.

2020-01-03

  • Отрегулировано, что время защиты от дребезга не может превышать время точки.

2020-01-02

  • Исправлено, что при некоторых обстоятельствах во время первого запуска после включения питания параметры считывались неправильно.

2020-01-01

  • Исправлено, что использование ручного ключа иногда вызывает вибрацию зуммера при отправке.
  • Оптимизирован алгоритм автоматического ключа.
  • Скорректирована частота возбуждения по умолчанию, которая стала 1000 Гц.
  • Время защиты от дребезга по умолчанию скорректировано до 40 миллисекунд.

Особая благодарность за предложения

蜗牛_BD4TZG    山猫号

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Морзе-тренажёр на основе платы разработки EPS8266 (NodeMCU) с использованием Arduino. Поддерживается симуляция связи через MQTT. Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/FredyXu-cw_esp8266_ssd1306_i2c_4pin.git
git@api.gitlife.ru:oschina-mirror/FredyXu-cw_esp8266_ssd1306_i2c_4pin.git
oschina-mirror
FredyXu-cw_esp8266_ssd1306_i2c_4pin
FredyXu-cw_esp8266_ssd1306_i2c_4pin
master