同步操作将从 FredyXu/CW_ESP8266_SSD1306_I2C_4PIN 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
在ESP8266上使用ARDUUINO实现的莫尔斯电码练习器。
主WIFI和备用WIFI填写一个即可。启动网络后先搜索主WIFI信号,如搜索到则尝试连接,20秒连接超时过后会尝试连接备用WIFI。
模块 | 数量 |
---|---|
ESP8266开发板(NodeMCU) | 1 |
OLED显示屏 128×64分辨率 SSD1306驱动芯片 I2C通信 4引脚 | 1 |
旋转编码器 数字脉冲输出 可按压 5引脚 | 1 |
3.5毫米音频母座 3引脚 | 1 |
无源蜂鸣器 | 1 |
杜邦线 | 若干 |
打开Arduino的IDE,打开“首选项”,在“附加开发板管理器网址”中添加如下地址:http://arduino.esp8266.com/stable/package_esp8266com_index.json
,添加完成后保存。再点击“工具”->“开发板”->“开发板管理器”。在顶部的搜索框中填写“ESP8266”并按下回车进行搜索,安装搜索到的项目即可。
OLED | ESP8266 |
---|---|
VCC | 3.3V |
GND | GND |
SCL | D1(GPIO 5) |
SDA | D2(GPIO 4) |
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服务器收到电码后,播放电码的“单位时长”。
设置电键防抖的时长。
设置是否通过WIFI连接到指定的MQTT服务器。如此项目设置为Yes,需要自行确认当前的WiFi和MQTT服务器是否可用。
将全部设置置为默认
font.h为自定义的字体文件,使用的是 文泉驿开源字体。 感谢字体作者的无私奉献。
psc.h和psc.cpp为PubSubClient(作者Nick O'Leary )库的源代码,由于默认情况下PubSubClient无法接收过长的内容,为了便于使用,故仅将限制变量稍作改动后转放至此,其他内容没有任何修改。再次感谢原作者的无私奉献!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。