【U010】如何使用探索者输出模块
作者:机器谱
OLED显示模块 红绿双色LED 语音录放模块 |
1. 简介
OLED显示屏是一款无需背光源、自发光的显示模块。显示颜色为白色,显示尺寸0.96寸,驱动IC:SSD1306,该模块采用3.3V电源,通过IIC接口与控制器通信。显示效果好,安装方便。
2. 特点
· 支持 Arduino OLED 12864 驱动库
· I2C 接口,节省显示模块与控制器的连接线数量。
3. 参数
· 工作电压:3.3V
· 显示颜色:白色
· 像素个数:128列 × 64行
· 接口方式:IIC
· 工作温度:-30℃~+70℃
· 显示面积:21.744 × 10.864(mm)
4. 实物图片与接口
5. 用法示例
(1)显示字母、数字、图形
环境:OLED显示屏、Basra控制板、BigFish扩展板、Arduino 1.5.2。
将OLED显示模块连接在Bigfish的A4/A5端口上。
将OLED扩展库“MultiLCD”拷贝到arduino的libraries中。
启动Arduino IDE,可以发现,在Example中增加了MultiLCD的例程,打开File→Examples→MultiLCD→lcdhello
例程源代码如下(lcdhello.ino):
将例程uploading到控制板中,观察OLED屏上显示的内容,如下图所示:
序号 | 内容 |
1 | 参考资料 |
2 | 字模软件 |
3 | OLED模块函数库 |
4 | OLED模块例程 |
/************************************************************************* * Demo sketch of Arduino Text Display Library for Multiple LCDs * Distributed under GPL v2.0 * Copyright (c) 2013 Stanley Huang <stanleyhuangyc@live.com> * All rights reserved. *************************************************************************/ #include <Arduino.h> #include <Wire.h> #include <MultiLCD.h> LCD_SSD1306 lcd; /* for SSD1306 OLED module */ static const PROGMEM uint8_t smile[48 * 48 / 8] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFE,0xFE,0x7E,0x7F,0x7F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x7F,0x7F,0x7E,0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xFC,0xFE,0xFF,0xFF,0xFF,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0xFF,0xFF,0xFF,0xFE,0xFC,0xF0,0xC0,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x1F,0x1F,0x1F,0x3F,0x1F,0x1F,0x02,0x00,0x00,0x00,0x00,0x06,0x1F,0x1F,0x1F,0x3F,0x1F,0x1F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x30,0xF8,0xF8,0xF8,0xF8,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF8,0xF8,0xFC,0xF8,0x30,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x03,0x0F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFC,0xF8,0xF0,0xE1,0xC7,0x87,0x0F,0x1F,0x3F,0x3F,0x3E,0x7E,0x7C,0x7C,0x7C,0x78,0x78,0x7C,0x7C,0x7C,0x7E,0x3E,0x3F,0x3F,0x1F,0x0F,0x87,0xC7,0xE1,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0x7F,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x1F,0x3F,0x3F,0x7F,0x7F,0x7E,0xFE,0xFE,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFE,0xFE,0x7E,0x7F,0x7F,0x3F,0x3F,0x1F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,}; void setup() { lcd.begin(); } void loop() { lcd.clear(); lcd.draw(smile, 40, 8, 48, 48); delay(3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Hello, world!"); lcd.setCursor(0, 1); lcd.printLong(1234567890, FONT_SIZE_SMALL); lcd.setCursor(0, 2); lcd.printLong(1234567890, FONT_SIZE_MEDIUM); lcd.setCursor(0, 3); lcd.printLong(12345678, FONT_SIZE_LARGE); delay(3000); } |
#define ECHOPIN A0 //使用宏定义对超声波模块连接的引脚进行定义 #define TRIGPIN A1 #include <Arduino.h> #include <Wire.h> #include <MultiLCD.h> LCD_SSD1306 lcd; /* for SSD1306 OLED module */ void setup() { lcd.begin(); int a=0; pinMode(ECHOPIN, INPUT); pinMode(TRIGPIN, OUTPUT);
} void loop() { lcd.clear(); int a=Distance(); lcd.clear(); lcd.setCursor(0, 2); lcd.print("The distance is:"); lcd.setCursor(0, 4); lcd.print(a); lcd.setCursor(0, 5); lcd.print("cm"); delay(3000); } int Distance() //超声波距离测量函数,返回测量的距离 { digitalWrite(TRIGPIN, LOW); delayMicroseconds(2); digitalWrite(TRIGPIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGPIN, LOW); int distance = pulseIn(ECHOPIN, HIGH); distance= distance/58; return distance; } |
配置之后,点击主界面右下侧的“生成字模”。将生成的字模编码复制粘贴到例程中的相应位置,即可显示不同的图形。
7. 原理图
8. 参考资料
9. 应用前景
· 互动媒体设计
· 改装玩具
· 教育行业方案快速成型
· DIY电子
10. 注意事项
显示屏易碎,勿承受压力!
11. 资料清单
(2)电子测距仪
该段代码实现的具体功能为:在超声波传感器前放置屏障,移动传感器,随着距离的增减,OLED显示屏会刷新显示相应的距离数值。
显示效果如下:
从左至右
1、GND
2、VCC:逻辑电压5V
3、SDA/A4:IIC数据输入引脚
4、SCL/A5:IIC时钟输入引脚
6. 字模软件
在“显示字母、数字、图形”的例程中,oled屏上显示的一张笑脸是通过一个48*48/8大小的一维十六进制数组设置的。这个数组中的每一个十六进制数即8位二进制数代表了屏幕上某8个像素点的亮灭情况(这8个像素点可以视为一个小单元),这些数组元素叫做“字模”是由字模软件生成的。
在本文的最后可以下载一款字模软件。打开软件后,“模式”选项下,有两种模式,“图形模式”和“字符模式”,默认为图形模式。
在图形模式下,可以新建一个合适像素大小的BMP图像,之后在空白图像上画自己想要的图形,左键画图,右键擦除,画完之后,经过“配置”,即可生成字模数组。
在字符模式下,可以使用键盘输入数字、字母和汉字,同样,输入完之后经过“配置”即可生成字模数组。
“配置”选项,对于探索者的OLED屏,请按如下图片配置。
【整体打包】-【U010】如何使用探索者输出模块-OLED模块-资料附件.zip | 2.38MB | 下载30次 | 下载 |
1. 简介
探索者红绿双色LED是一种灯光输出模块,它可以显示红绿两种颜色,当检测到不同方向的电流时,传感器上的LED灯会显示不同的颜色。主控芯片可根据传感器采集的电平高低做出相应的颜色。
2. 工作原理
红绿双色LED是检测通过三极管的电流方向来显示不同的颜色。也就是说三极管左右两侧电压的正负决定了显示什么。比如A端的电压为正极,B端为负极,那么led显示红色。相反的B端的电压为正极,A端为负极,那么led显示绿色
原理图:
实物与PCB引脚对照图:
引脚从左到右接线说明表:
pin | 名称 | 注释 |
1 | GND | 接地,电源负极 |
2 | VCC | 供电5V DC |
3 | DATA1 | 数据接口1 |
4 | DATA2 | 数据接口2 |
void red(); void green(); void off(); void setup() { pinMode( A4 , OUTPUT); pinMode( A5 , OUTPUT); } void loop() { red(); delay( 1000 ); off(); delay( 1000 ); green(); delay( 1000 ); off(); delay( 1000 ); } void red() { digitalWrite( A4 , HIGH ); digitalWrite( A5 , LOW ); } void off() { digitalWrite( A4 , LOW ); digitalWrite( A5 , LOW ); } void green() { digitalWrite( A4 , LOW ); digitalWrite( A5 , HIGH ); } |
3. 用法示例
效果:当A4为高电平,A5为低电平时,LED显示红色,否则LED显示绿色。
环境:Basra主控板,Bigfish扩展板,红绿双色LED,Arduino IDE等。
电路:将传感器接在Bigfish的A4/A5接口上。
程序源代码如下:
4. 应用场景
· 模拟信号灯
· 摩尔斯电码模拟
5. 资料清单
序号 | 内容 |
1 | 红绿双色LED_原理文件 |
2 | 红绿双色LED_例程 |
【整体打包】-【U010】如何使用探索者输出模块-红绿双色LED-资料附件.zip | 41.84KB | 下载4次 | 下载 |
1. 按键说明
语音模块可录制、存储和播放50分贝以上音频,最长可录制音频的时间为20秒。
①REC:录制键,一直按下可以录音,录音时黄色LED灯长亮,录制完毕后松开录音键LED灯熄灭,录制时长不超过20s,且只能录制1段;
②四芯输出线接口,用于连接四芯输出线;
③PLAY:播放键,按下,课播放录音,播放音频结束后,LED灯闪烁一下;
④固定孔,便于用螺丝将模块固定于机器人上;
⑤音频输出口,课插入音频输出线进行录音;
⑥麦克风,录制音频时需要将音源对准麦克风;
⑦音频输入口,可插入音频输入线进行录音;
2. 使用方法
(1)长按REC键,录制一小段语音,接线如下(注意使用四芯输出线):
(2)按PLAY键,即可播放该段语音;也可以将下面的代码写入Basra主控板,来播放录制的音频;
void setup() { // put your setup code here, to run once: pinMode(14,OUTPUT); } void loop() { // put your main code here, to run repeatedly: voice(); delay(2000); } void voice() { digitalWrite(A0,HIGH); digitalWrite(A0,LOW); } |
3. 注意事项
语音模块的声音播放的声音比较小,可以连结音箱使用。使用音箱时,要注意:
(1)首先需要一根耳机双头线,一端连上电脑耳机孔,一段连在语音模块的音频输入口(即图一中的⑦号口),在电脑上播放想要录制的语音文件,即可将语音录制到模块中。
(2)录制完语音后,将音箱的音频线连接到语音模块的音频输出口(即图一中的⑤号口)。
这样,就可以通过音箱放大语音模块的声音了。
4.资料清单
序号 | 内容 |
1 | 语音录放模块_电路文件 |
【整体打包】-【U010】如何使用探索者输出模块-语音录放模块-资料附件.zip | 914.37KB | 下载1次 | 下载 |
|