基本思路应该是:1
用模拟端口,这样会有亮度区别。做一个计数器作为亮度的输出数值。2
Sample的时候只要按下开关计数器开始递增,到最大值就不再加了,如果开关断开,计数器清零。
很简单,首先分别定义一个数字输入和数字输出口,输入口用于连接检测接近开关状态,输出口用于驱动LED,建立一持续30秒的循环测量程序,循环中持续测量接近开关状态,如果开关状态为闭合,那么保持LED加电,否则,LED关闭。或者点亮LED后直接延时30秒,然后检测接近开关状态,如果开关状态为开路,那么关闭LED。不知上述控制逻辑那种符合你的本意?可自由选择。
// Pin 13 has an LED connected on most Arduino boards
// give it a name:
int led = 13;
int button = 9;
int buzzer = 2
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output
pinMode(buzzer, OUTPUT);
pinMode(led, OUTPUT);
pinMode(button,INPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(10000); // wait for 10 second
if(HIGH == digitalRead(button))
{
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
}else
{
digitalWrite(buzzer, HIGH);
while(1)
{
delay(1000)
}
}
}
本文采用 ESP8266 NodeMCU 板开发,该开发板板载LED灯,同IO引脚为D0(GPIO16)口相连,LED灯为共阳接法,也就是要想LED灯点亮,D0(GPIO16)口要输出低电平“0”。
打开 Arduino 点击 “工具” - “开发板” ,选择 NodeMCU10(ESP12E Module) 。
点击菜单栏 “文件” - “示例”- “01Basice”- “01Basice”- “Blink”, 可查看示例LED闪光灯控制程序,该程序控制LED灯亮一秒灭一秒。
程序说明:
1在使用输入或者输出功能前需通过 pinMode() 函数配置引脚模式。
其调用形式为:
pinMode(pin,mode);
I/O引脚的三种模式分别为: INPUT —— 输入模式; OUTPUT —— 输出模式;INPUT _PULLUP —— 输入上拉模式;
2配置为输出模式后,需用通过 digitalWrite() 函数输出高电平或低电平;其调用形式为:
digitalWrite(pin,value);
a点击 “工具” - “端口” ,选择在设备管理中看到的串口。
b点击 “工具” - “Upload Speed” ,选择 115200 。
c点击 上传 ,将写的程序烧录到 MCU 中,期间 ESP8266 的指示灯会一直闪烁,在 Arduino 控制台中会显示上传进度,上传到 100% 就可以查看效果了。
在上传完车后,开发板上LED灯将会亮一秒灭一秒的循环进行下去。
智能家居是以住宅为平台,利用综合布线技术、网络通信技术、 安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。智能家居就是方便,怎么方便? 之前建配龙商场就有个活动,是个智能门锁,通过指纹识别开锁,通过钥匙开锁,通过手机APP开锁,你忘记带钥匙,不会忘记带手机,忘记带手机不会忘了带指纹。所以这就是智能家居的方便点。问题太大。这个有成熟产品面世了。温度传感器、麦克风模块、雨滴传感器、红外传感器、通过类似的传感器进行判断,通过arduino + wifi 模块 + 继电器模块 做个wifi 控制。不过现在成本很大 价格很贵。再等2年左右绝对商业化。下面说个应用这是一个很简单的单片机应用,但与一般单片机不同的是,本作品使用Arduino UNO单片机和Ardublock软件编程来实现,所以很适合非专业的爱好者、中小学生来制作,其原理主要是利用超声波传感器检测头部与书本的距离,通过Led发光管和报警声音,提醒使用者,及时纠正不良读写姿势,保护眼睛,预防近视。一、硬件介绍:(一)ArduinoUNO单片机:这是由一个开放源码的硬件平台和一套专门的软件开发环境组成。它可以用来开发交互产品,它可以读取开关和传感器信号,可以控制电灯、电机和其他物理设备。Arduino UNO(R3版本)采用的微处理器是ATmega328。该版本包括14个数字输入输出IO,6个模拟输入IO,16MHZ的晶体,USB接口,电源接口,烧录头,复位按钮等。电路结构图(二)传感器:1、超声波传感器的引脚有5根,分别是: ①VCC电源端 ②TRIG控制端 ③ECHO接收端 ④、⑤GND地线(也即电源的负极)2、引脚连接:1脚VCC和arduino板的VCC脚连接,5脚GND也和相应的GND连接,2脚TRIG可以连接到A板的任意一个数字端口,如3号口,3脚ECHO也一样,如连连至2号口。3、使用方式——“电平触发”(三)LED和蜂鸣器:LED可以选用普通发光二极管,蜂鸣器用普通的就可以,没有特别要求。二、编程语言的选择:ArduBlock是一款基于Arduino爱好者的图形化编程软件,所有程序都可以通过搭积木的方式,把高级的计算机语言和专业的语法,简化为一个个模块,堆砌在一起。主程序超声波检测程序三、功能说明与外观制作:(一)实物面板图如上所示:(二)功能说明:1、开电源,系统自检,8个小灯一闪一闪,LED1亮,表示正常工作。2、系统读取人头部与书本的距离作为参考数据。3、系统进入检测状态LED1——灯亮,电源工作中LED2:闪烁,表示在检测状态中。LED3——LED4:姿势正确LED5——LED6:姿势不对,闪烁,轻轻发出“滴”声提醒。LED7——LED8:要纠正姿势,闪烁,同时播放音乐,提醒调整距离。(三)电路焊接与外观制作:1、电路焊接:本作品电路结构简单,通过制作这一作品,可以培养初学者焊接技术。焊接顺序是这样:首先用烙铁头给要焊接的地方加热,然后把焊锡丝送到焊接点,等锡熔化到所需要的量时,先移开焊锡丝,再拿开烙铁头,此时焊接点不能移动,否则会出现虚焊。有一个说明,初学者可能会使用助焊剂来帮助焊接,实际上常用的焊锡丝内部就有松香,就是起到肋焊剂的作用,所以不需要再使用肋焊剂,有些肋焊剂还具有腐蚀性,所以建议不要使用。2、外观结构制作:本作品外观采用PVC线槽来设计,这一方法主要还是受PVCBOT-Jason的启发,主要是考虑PVC线槽具有方便切割的特点,因此本作品也算是PVCBOT的一个Arduino UNO单片机实现案例,同时也向Jason和他的团队表示感谢,感谢他们为大家提供那么多的PVCOBOT作品。
int num=10;//定义LED闪烁次数
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serialbegin(9600);
}
void loop() {
Led_Blink();//LED闪烁子程序
Serialprintln(num);//串口输出监视num的数值
}
void Led_Blink()//LED闪烁子程序
{
if(num>0)
{
num--;
digitalWrite(LED_BUILTIN, HIGH);
delay(300);
digitalWrite(LED_BUILTIN, LOW);
delay(300);
}
else
{
digitalWrite(LED_BUILTIN, LOW);
}
}
以上就是关于如何用arduino点亮led全部的内容,包括:如何用arduino点亮led、arduino如何通过接近开关控制LED,接近开关有信号LED亮,如果超过30秒接近开关无信号灯灭、arduino编程,程序开始运行一个led亮,10秒内按button led就灭,10秒没有按button,buzzer就会响。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)