和12岁小同志搞创客开发:手撕代码,做一款节拍电子鼓
機(jī)緣巧合在網(wǎng)上認(rèn)識(shí)一位12歲小同志,從零開始系統(tǒng)輔導(dǎo)其創(chuàng)客開發(fā)思維和技巧。
項(xiàng)目專欄:https://blog.csdn.net/m0_38106923/category_11097422.html?
本篇博文做一個(gè)有趣的小項(xiàng)目,節(jié)拍電子鼓:在架子鼓上裝上炫彩的LED燈,可以隨著節(jié)拍的強(qiáng)弱,顏色隨之明暗。
如果細(xì)心的話,可以發(fā)現(xiàn)互動(dòng)電子鼓的做法與燈光調(diào)節(jié)器是完全類似的。只是這里變換了一種形式,這也就是傳感器的傳神之處,可以以不同的形式呈現(xiàn)在我們面前。
本項(xiàng)目將使用到模擬壓電陶瓷震動(dòng)傳感器,簡單的說,就是檢測震動(dòng)的傳感器,原理就是:利用壓電陶瓷給電信號(hào)產(chǎn)生震動(dòng)的反變換過程,當(dāng)壓電陶瓷片震動(dòng)時(shí)就會(huì)產(chǎn)生電信號(hào),與Arduino專用傳感器擴(kuò)展板結(jié)合使用,Arduino模擬口能感知微弱的震動(dòng)電信號(hào),來實(shí)現(xiàn)燈光變化。
項(xiàng)目連線效果如下所示:
由于代碼與前一節(jié)完全相同,所以不做過多解釋。如下所示:
int sensorPin = 0; //壓電陶瓷傳感器連接到模擬0
int ledPin = 10; //LED連接到數(shù)字10void setup() {pinMode(ledPin, OUTPUT);
}void loop() {int sensorValue = analogRead(sensorPin); //讀取模擬口0的值 //通過map()把0~1023的值轉(zhuǎn)換為0~255int outputValue = map(sensorValue, 0, 1023, 0, 255); analogWrite(ledPin, outputValue*10); //給LED寫入對(duì)應(yīng)值 delay(10);
}
用手輕輕按下陶瓷片,隨著按下力的不同,LED呈現(xiàn)出不同的亮度。也可以把壓電陶瓷片固定在電子鼓上,跟著節(jié)奏,燈光隨之舞動(dòng)。
總結(jié)
以上是生活随笔為你收集整理的和12岁小同志搞创客开发:手撕代码,做一款节拍电子鼓的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 和12岁小同志搞创客开发:手撕代码,做一
- 下一篇: 和12岁小同志搞创客开发:手撕代码,做一