第一课--LED灯闪烁实验(面包板的使用)/zh
Language | English |
---|
目的通过Microduino来控制一个led灯的亮灭,实际上是接触如何控制Microduino核心板的I/O口,这样大家就可以举一反三,发挥极大想象空间,为以后的学习打好基础。 设备Microduino-Core 是以 Atmel ATmega328P,ATmega168PA 系列为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 详细参考:http://wiki.microduino.cc/index.php?title=Microduino-Core 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。 详细参考:http://wiki.microduino.cc/index.php?title=Microduino-FT232R
面包板纵向每五个点都接在一起,横向每25个点是接在一起,有的面包板式50个点都接在一起,所以连接之前要确定好,以免产生产生错误结果。旁边两排的50个点一排用作GDN,一排用作VCC。 电阻、led电阻用作限流,以防led被烧坏。一般是 红绿LED的电压一般是1.8~2.4V,蓝白是2.8~4.2V ,3mmLED的额定电流1~10mA ,5mmLED的额定电流5~25mA ,10mmLED的额定电流25~100mA。可根据R=U/I来计算相应的阻值。一般几百欧就可以。 led正负判断 方法一:目测led内部,支架大连接的引脚是负极,支架小的链接的引脚是正极。 方法二:对于崭新的led,引脚有长短,因此直接看引脚的长短,引脚长的为正极,短的为负极。 万用表检测led灯好坏 用模拟万用表检测发光二极管时,必须使用“R×l0k”档。因为led的管压降大约为3V,而模拟万用表处于“R×lk” 档,表内电池仅为1.5V。低于管压降。无论正、反向接入,led都不可能导通,从而无法检测。“R×10k”档时表内接有9V(或 15V)高压电池,高于管压降,所以可以用来检测led。 因为模拟万用表黑表笔(与表内电池正极相连)表示正极,与红表笔(与表内电池负极相连)表示是负极,所以需要将模拟万用表的黑表笔接led的正极,红表笔接led的负极。如果led灯发光则证明led灯是好的。 用数字万用表用二极管档即可,而数字万用表黑表笔表示负极,红表笔表示正极,与模拟万用表相反,所以需要将数字万用表的红表笔接led的正极,黑表笔接led的负极。如果led灯发光则证明led灯是好的。 实验原理图原理图有两种接法,一是led的阴极接Microduino的GND,阳极接Microduino数据控制口13,这样就是高电平点亮led,二是led的阴极接Microduino的数据控制口13,阳极接Microduino的VCC,这样就是低电平点亮led。 程序
int led = 13;//定义引脚
void setup() {
pinMode(led, OUTPUT); //定义microduino数字13脚为输出
}
void loop() {
digitalWrite(led, HIGH); //数据13口输出高,若接法是高电平点亮则点亮,反之则熄灭
delay(1000); // 延时1s
digitalWrite(led, LOW); //数据13口输出低,若接法是高电平点亮则熄灭,反之则点亮
delay(1000); // 延时1s
}
int ledPin=13;
#define TIME 1000
long time1=0,time2=0;
void setup()
{
pinMode(ledPin,OUTPUT);
}
void loop()
{
if(millis()<time2+TIME)
{
digitalWrite(ledPin,HIGH);
time1=millis();
}
else
{
digitalWrite(ledPin,LOW);
if(millis()>time1+TIME)
time2=millis();
}
}
采用millis()比delay()函数效果更好,占用资源少,对系统拖延较少。 程序下载方法
结果程序下载后,可看到led每隔1s闪烁一次。 视频 |