2回答

1收藏

【赚周年币】Fireduino A4.触摸按键控制LED及显示状态

#线上活动 #线上活动 3748 人阅读 | 2 人回复 | 2016-12-25

本帖最后由 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(信号)
触摸按键实物:


我们对相应的端口定义如下所示:

主要的代码:
  1. #include <Arduino.h>
  2. #include "oled.h"
  3. #include "oledfont.h"

  4. #define TOUCH       9
  5. //板载led
  6. #define LED_GREEN   13
  7. #define LED_BLUE    3

  8. void Sys_Init(void)
  9. {
  10.   Serial.begin(115200);
  11.   pinMode(OLED_GND, OUTPUT);
  12.   pinMode(OLED_VCC, OUTPUT);
  13.   pinMode(OLED_CLK, OUTPUT);
  14.   pinMode(OLED_DIN, OUTPUT);
  15.   pinMode(OLED_RES, OUTPUT);
  16.   pinMode(OLED_DC, OUTPUT);
  17.   pinMode(OLED_CS, OUTPUT);
  18.   digitalWrite(OLED_GND,LOW);
  19.   digitalWrite(OLED_VCC,HIGH);
  20.   
  21.   pinMode(TOUCH,INPUT);
  22.   pinMode(LED_GREEN, OUTPUT);
  23.   digitalWrite(LED_GREEN,HIGH);

  24. }

  25. void Main(void)
  26. {
  27.   char str1[] = {"eeboard"};
  28.   char str2[] = {"www.eeboard.com"};
  29.   char str3[] = {"Fireduino"};
  30.   char str4[] = {"LED_STA: "};
  31.   
  32.   char LED_ON[] = {"ON "};
  33.   char LED_OFF[] = {"OFF"};
  34.   uint8_t i = 4;
  35.   OLED_Init();
  36.   OLED_Clear();
  37.   
  38.   OLED_ShowCHinese(i, 0, 0);
  39.   OLED_ShowCHinese(i+16, 0, 1);
  40.   OLED_ShowString(i+32, 0, str1, 16);
  41.   OLED_ShowCHinese(i+88,0, 2);
  42.   OLED_ShowCHinese(i+104,0, 3);
  43.   OLED_ShowString(4,2,str2,16);
  44.   OLED_ShowString(28,4,str3,16);
  45.   while(1)
  46.   {
  47.     Serial.println("Hello eeboard!!!");
  48.     if(1 == digitalRead(TOUCH))
  49.     {
  50.       digitalWrite(LED_GREEN,LOW);
  51.       OLED_ShowString(0, 6, str4, 16);
  52.       OLED_ShowString(64, 6, LED_ON, 16);
  53.       }
  54.     else
  55.     {
  56.       digitalWrite(LED_GREEN,HIGH);
  57.       OLED_ShowString(0, 6, str4, 16);
  58.       OLED_ShowString(64, 6, LED_OFF, 16);
  59.       }
  60.       
  61.     }  
  62. }
复制代码
当手指没有接触按键的时候可以看到LED是熄灭状态同时屏幕状态指示是OFF。

当手指触摸按键,可以看到LED变亮同时状态指示为ON,松开手指又回到初始状态。

程序源码:
touch.zip (6.75 KB, 下载次数: 1)
关注下面的标签,发现更多相似文章

评分

参与人数 1 +30 收起 理由
loveeeboard + 30

查看全部评分

分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

9robot

发表于 2016-12-25 13:46:46 | 只看该作者

谢谢分享         
板凳

limale

发表于 2016-12-25 19:53:16 | 只看该作者

9robot 发表于 2016-12-25 13:46
谢谢分享

共同学习。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条