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