首页 > 代码库 > 2017.1.20活动
2017.1.20活动
1、根据教程用倾斜开关控制了一个小灯的亮灭(倾斜到达一定角度亮或到达一定角度灭),后自己尝试了利用倾斜开关控制两个小灯,即一开始绿灯亮红灯灭,到达一定角度后,绿灯亮起红灯灭掉,附代码:
void setup()
{
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
void loop()
{
int i;
while(1)
{
i=analogRead(5);
if(i<512)
{
digitalWrite(8, HIGH);
digitalWrite(9,LOW);
}
else
{
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
}
}
}
2、根据教程尝试了数码管模拟器,可以使数码管从0到9依次亮起,后做适当修改也可以令其亮起自己想亮的数字
ps:连接电路的时候一定要仔细啊!!!不要问我怎么知道的
3、在数码管模拟器的基础上尝试了四位数码模拟管。
得出结论:连接电路一定要按照一定顺序,连的仔细,不要乱,不然可能看了一眼就会放弃排查。
4、利用光敏电阻控制小灯亮灭,然而当我连完电路烧完程序却发现没有反应,这个时候,我发现,串口监视器真的是个好东西。然而串口监视器里滚了一排零....
后在老师帮助下发现,有一根线接错了...排除错误之后,发现串口监视器有读数但灯依然不亮,我们甚至检查了灯泡的好坏,最后悲伤地发现是正负接反了。
这个故事告诉我们:接电路要走心,串口监视器是个好东西,二极发光管的正负不要倒接!!!
5、某同学围观我弄RGB三色灯,然而当我将原程序复制粘贴后悲伤的发现它有毒(当然也有可能是我的打开方式有问题),于是手打一段之后发现红灯电压最大,其次是绿灯,最小是蓝灯,怀疑是否是因为电压问题导致的无法同时亮起,经过一番试验之后只能做到让其轮番亮起灭掉而不能同时亮起产生混彩效果。
后惊讶发现若将最后一段程序放至中间便能使其他程序奏效,并产生混彩效果,后自己更改数据使混彩的效果不同,不得不说有几个颜色还是挺好看的。
附教程中程序:(其实我只是把void color那一段放到了前面而已...)
void loop() // run over and over again
{
// Basic colors:
color(255, 0, 0); // 红色亮
delay(1000); // 延时一秒
color(0,255, 0); //绿色亮
delay(1000); //延时一秒
color(0, 0, 255); // 蓝色灯亮
delay(1000); //延时一秒
// Example blended colors:
color(255,255,0); // 黄色
delay(1000); //延时一秒
color(255,255,255); // 白色
delay(1000); //延时一秒
color(128,0,255); // 紫色
delay(1000); //延时一秒
color(0,0,0); // t关闭led
delay(1000); //延时一秒
}
void color (unsigned char red, unsigned char green, unsigned char blue) //颜色控制函数
{
analogWrite(redPin, 255-red);
analogWrite(bluePin, 255-blue);
analogWrite(greenPin, 255-green);
}
by wyz
2017.1.20活动