这个例程显示了你可以用OCROBOT各款控制器做到的最简单的事,单LED闪烁(Blink)。
/* Blink 让LED亮一秒,灭一秒,重复 */ // 我们在2号脚上连了一个LED.定义一个名为led的变量,赋值为2(也就是2号管脚)。 int led = 2; // 按下reset键之后,setup中的代码执行一次: void setup() { // 设置数字输出. pinMode(led, OUTPUT); } // loop中代码一直重复执行: void loop() { digitalWrite(led, HIGH); // 点亮LED (HIGH 意思是高电平) delay(1000); // 等待1秒 digitalWrite(led, LOW); // 熄灭LED(LOW 意思是低电平) delay(1000); // 等待1秒 }
这个例子中我们使用了3个新的函数:pinMode()、digitalWrite()、delay()。
pinMode()在程序中定义了led管脚输出状态。digitalWrite()使led管脚输出高电平或者低电平。delay()产生延时。
通过digitalWrite()与delay()配合我们可以产生各种不同led亮灭的效果。
如果让led亮三秒、灭1秒、再亮两秒、灭3秒应该怎样实现?
/* Blink 让LED亮一秒,灭一秒,重复 */ // 我们在2号脚上连了一个LED.定义一个名为led的变量,赋值为2(也就是2号管脚)。 int led = 2; // 按下reset键之后,设置里的代码执行一次: void setup() { // 设置数字输出. pinMode(led, OUTPUT); } // loop里代码一直重复执行: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
这个例子中我们使用了3个新的函数:pinMode()、digitalWrite()、delay()。
pinMode()在程序中定义了led管脚输出状态。digitalWrite()使led管脚输出高电平或者低电平。delay()产生延时。
通过digitalWrite()与delay()配合我们可以产生各种不同led亮灭的效果。
如果让led亮三秒、灭1秒、再亮两秒、灭3秒应该怎样实现?
把电阻串联到13号引脚。连接LED的长脚(阳极)到电阻另一端。连接LED的短脚(阴极)到GND脚。
部分控制器的13号脚已经连接了一个LED,如果你没连接别的外围设备,应该看得到那个LED闪烁。
按照图纸搭建好电路后,把你的控制器连接电脑USB口,打开IDE,输入下面的代码。
下面的程序中,你先要设置13号引脚为输出脚
pinMode(13, OUTPUT);
在loop中 点亮LED
digitalWrite(13, HIGH);
给13号引脚高电平(3-5V电压),使得LED引脚之间有了电压,灯就亮了。你可以熄灭它
digitalWrite(13, LOW);
然后使13号引脚电压归零,熄灭LED。在这之间,人需要足够的时间来观察亮灭变化,所以delay()命令让控制器停止1000毫秒或者说一秒,当使用delay()命令的时候,这段时间不会有任何事情发生。理解了这些之后,你可以查看 不用delay来闪烁LED 例程来学习怎样在执行其他任务的时候创建delay。
当理解这个过程之后,你可以看看“读取开关状态“的例程学习怎么读取连接在控制器的开关状态。
/* Blink 让LED亮一秒,灭一秒,重复 */ // 13号脚上连了一个LED. // 给它命名: int led = 13; // 按下reset键之后,设置里的代码执行一次: void setup() { // 设置数字输出. pinMode(led, OUTPUT); } // loop里代码一直重复执行: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }