TA的每日心情 | 开心 2024-10-14 08:33 |
---|
签到天数: 2451 天 连续签到: 1 天 [LV.Master]伴坛终老
|
本帖最后由 limale 于 2017-1-17 20:18 编辑
上一篇帖子https://www.cirmall.com/bbs/thread-59205-1-1.html已经有了屏幕可以显示了,中午刚好有点儿空我们做个小实验:用一个触摸按键来控制板载的绿色LED,当按下按键的时候端口输出低电平LED点亮,手放开端口输出高电平LED熄灭。
触摸传感器模块介绍:
传感器触摸传感器当用手触摸时,S输出一个高电平,手放开就是低电平,再次触摸S输出一个高电平,手放开就是低电平。
供电范围:3-5V电流:5MA
接口:G(GND)、V(vcc)、S(信号)
触摸按键实物:
我们对相应的端口定义如下所示:
主要的代码:- #include <Arduino.h>
- #include "oled.h"
- #include "oledfont.h"
- #define TOUCH 9
- //板载led
- #define LED_GREEN 13
- #define LED_BLUE 3
- void Sys_Init(void)
- {
- Serial.begin(115200);
- pinMode(OLED_GND, OUTPUT);
- pinMode(OLED_VCC, OUTPUT);
- pinMode(OLED_CLK, OUTPUT);
- pinMode(OLED_DIN, OUTPUT);
- pinMode(OLED_RES, OUTPUT);
- pinMode(OLED_DC, OUTPUT);
- pinMode(OLED_CS, OUTPUT);
- digitalWrite(OLED_GND,LOW);
- digitalWrite(OLED_VCC,HIGH);
-
- pinMode(TOUCH,INPUT);
- pinMode(LED_GREEN, OUTPUT);
- digitalWrite(LED_GREEN,HIGH);
- }
- void Main(void)
- {
- char str1[] = {"eeboard"};
- char str2[] = {"www.eeboard.com"};
- char str3[] = {"Fireduino"};
- char str4[] = {"LED_STA: "};
-
- char LED_ON[] = {"ON "};
- char LED_OFF[] = {"OFF"};
- uint8_t i = 4;
- OLED_Init();
- OLED_Clear();
-
- OLED_ShowCHinese(i, 0, 0);
- OLED_ShowCHinese(i+16, 0, 1);
- OLED_ShowString(i+32, 0, str1, 16);
- OLED_ShowCHinese(i+88,0, 2);
- OLED_ShowCHinese(i+104,0, 3);
- OLED_ShowString(4,2,str2,16);
- OLED_ShowString(28,4,str3,16);
- while(1)
- {
- Serial.println("Hello eeboard!!!");
- if(1 == digitalRead(TOUCH))
- {
- digitalWrite(LED_GREEN,LOW);
- OLED_ShowString(0, 6, str4, 16);
- OLED_ShowString(64, 6, LED_ON, 16);
- }
- else
- {
- digitalWrite(LED_GREEN,HIGH);
- OLED_ShowString(0, 6, str4, 16);
- OLED_ShowString(64, 6, LED_OFF, 16);
- }
-
- }
- }
复制代码 当手指没有接触按键的时候可以看到LED是熄灭状态同时屏幕状态指示是OFF。
当手指触摸按键,可以看到LED变亮同时状态指示为ON,松开手指又回到初始状态。
程序源码:
touch.zip
(6.75 KB, 下载次数: 1)
|
评分
-
查看全部评分
|