“第一课--LED灯闪烁实验(面包板的使用)/zh”的版本间的差异
(→设备) |
(→实验原理图) |
||
第38行: | 第38行: | ||
[[File:schematic.jpg|600px|center|thumb]] | [[File:schematic.jpg|600px|center|thumb]] | ||
+ | |||
+ | [[File:lesson1Setup.jpg|600px|center|thumb]] | ||
==程序== | ==程序== |
2014年5月8日 (四) 03:48的版本
Language | English |
---|
目的通过Microduino来控制一个led灯的亮灭,实际上是接触如何控制Microduino核心板的I/O口,这样大家就可以举一反三,发挥极大想象空间,为以后的学习打好基础。 设备Microduino-Core 是以 Atmel ATmega328P,ATmega168PA 系列为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 详细参考:http://wiki.microduino.net/index.php?title=Microduino-Core 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。 详细参考:http://wiki.microduino.net/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的阴极接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闪烁一次。 视频 |