把Color sensor的8隻腳如下圖接到Arduino板右下角的G、V、2、3、A4和A5
用Serial.print / Serial.println,把Color sensor讀取到的顏色數值顯示出來
結果畫面:
在lv1中,我們可以看到loop內大內容都是控制Color sensor讀不同顏色的光然後寫出來; 可是如果再加上其他程式(比如用if做判斷)的話就會比較混亂
我們可以用1.5章節學到的function功能,把大部份內容簡化為一句程式 “color()” 。(當然也可以改成其他名字)
如果忘了如何製作function的請點右方箭頭
記錄黑色和白色的RGB數值到工作紙上 (工作紙上的lv3應為lv2b)
每個color sensor的顏色的數值範圍都有不同的數值,為了數值的應用,我們希望把RGB值調整為:
越接近白色,RGB值越接近255、255、255;
越接近黑色,RGB值越接近0、0、0。
我們用map把數值比例調整到0~255、並用constrain把超出範圍的數值剔走。
結果畫面:
當不同顏色物件接近sensor時、使LED顯示出相同的RGB顏色
*最少要對準紅色亮紅燈、藍色亮藍燈、綠色亮綠燈,如果不行就試試調整lv3的RGB最大值及最小值。
原理:利用lv3 得到的新RGB 3色的數值(0~255)輸入到LED的RGB數值中
提示指令:
analogWrite(LEDR_pin, redN);