Lesson 1--Microduino "LED and a Breadboard"
目录ObjectiveUsing Microduino to control a LED. Actually you can learn to how to use the Micrduino's I/O port. This is a basic skill you should master and for further study. EquipmentMicroduino-Core is a 8-bit microcontroller development board based on Atmel ATmega328P, ATmega168PA series, and is an open source, compatible with Arduino UNO controller module. Detailed information, please refer to http://wiki.microduino.net/index.php?title=Microduino-Core Download program module, connect with Microduino-Core or Microduino-Core+ directly and communicate with PC. It uses MicUSB as the download port. And it has the same size with a dollar coin. Download line with most smart phones usb data cable is the same, convenient and practical Detailed information, please refer to http://wiki.microduino.net/index.php?title=Microduino-FT232R
BreadboardIn the vertical direction,5 points connected together and 25 points connected together in a horizontal direction. Some bread has 50 points connected together, so make sure connection format before you use it, in order to avoid generating erroneous results. The next two rows of points 50 have more usage, one row as GDN, the other row as VCC. Please refer to the following picture. Resistor and LEDLimiting resistor is used to prevent LED burned. Usually red and green LED voltage is 1.8 ~ 2.4V, blue and white is 2.8 ~ 4.2V, 3mmLED rated current is 1 ~ 10mA, 5mmLED rated current is 5 ~ 25mA, and 10mmLED rated current is 25 ~ 100mA. According to R = U / I to the calculated resistance. Usually hundreds of ohm should be ok. Experimental schematicThere are two connection methods, one is that led cathode connects to GND, anode connects to Microduino digital I/O port 13, which is the high light led. The other method ist that led cathode connected Microduino digital I/O port 13, anode connects to VCC, so that low-level light led.
Program
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闪烁一次。 视频 |