資料介紹
描述
使用一些傳感器,我從植物中獲取實時讀數,通過 SonicPi 觸發聲音文件。
接收來自傳感器的實時讀數并進行比較,以檢查它們是否低于臨界水平,如果是,Arduino 會發出一個 MIDI 音符:一個 F# 音符用于亞臨界水平(當植物需要澆水時)和一個Bb 注意水分含量突然上升時(給植物澆水時)。
然后 MIDI 音符通過虛擬端口和串行橋接。
SonicPi 在虛擬端口上監聽傳入的音符,并比較傳入的音符是 F# 還是 Bb。
如果是前者,它會觸發一個聲音文件,如果是后者,它會觸發另一個聲音文件。
總而言之,該植物正在演奏只有兩個音符的音樂表演。
-Arduino代碼
int sensor_pin = A0;
int output_value_new ;
int output_value_old = 0;
int satisfied_note = 0x6A;
int scream_note = 0x66;
int threshold_moisture = 80;
void setup() {
Serial.begin(9600);
Serial.println("Reading From the Sensor ...");
delay(2000);
}
void loop() {
output_value_new= analogRead(sensor_pin);
output_value_new = map(output_value_new,550,0,0,100);
if (output_value_old ==0){
output_value_old = output_value_new;
}
if (output_value_new <= threshold_moisture) {
//Note on channel 1 (0x90), some note value (note), silent velocity (0x00):
noteOn(0x90, scream_note, 0x7F);
delay(100);
}
int output_difference = output_value_new - output_value_old;
if (output_difference >=30){
//Note on channel 1 (0x90), some note value (note), middle velocity (0x45):
noteOn(0x90, satisfied_note, 0x7F);
delay(100);
}
Serial.print("Mositure : ");
Serial.print(output_value_new);
Serial.println("%");
delay(1000);
output_value_old = output_value_new;
}
void noteOn(int cmd, int pitch, int velocity) {
Serial.write(cmd);
Serial.write(pitch);
Serial.write(velocity);
}
-SonicPi代碼
screams = "YOUR_SMAPLE_FOLDER_HERE"
satisfied = "YOUR_SMAPLE_FOLDER_HERE"
live_loop :midi_piano do
use_real_time
note, velocity = sync "/midi:loopmidi_port_0:1/note_on"
if note == 102 #Fsharp7
sample screams, rrand_i(1,7)
sleep(rrand_i(1,5))
end
if note == 106 #Bb7
sample satisfied, rrand_i(1,3)
sleep(rrand_i(1,4))
end
end
in_thread do
use_real_time
use_real_time
note, velocity = sync "/midi:loopmidi_port_0:1/note_on"
if note == 106 #Fsharp7
sample screams, rrand_i(1,7)
sleep(rrand_i(2,6))
end
if note == 102 #Bb7
sample satisfied, rrand_i(1,3)
sleep(rrand_i(1,4))
end
end
NOTE: I have made the demonstration video along the lines of those sleazy TV infomercial ads we used to see on cable.
?
- 使用Arduino構建植物澆水系統
- 如何使用Arduino構建植物澆水系統 1次下載
- 基于Arduino微控制器的自動植物澆水系統設計 2次下載
- 基于土壤濕度傳感器的自動澆水系統 5次下載
- 使用土壤濕度傳感器的植物澆水和監控系統
- WaterPi:室內植物遠程澆水和監控系統
- 智能植物澆水系統項目
- WaterSmart植物澆水裝置開源
- 自動植物澆水系統開源分享
- 制作自己的自動澆水植物
- 植物澆水自動化開源分享
- 雙植物澆水系統開源分享
- 室內植物澆水系統開源分享
- 智能植物澆水系統開源
- 使用樹莓派2實現的植物澆水系統的資料合集 56次下載
- 利用ESP32制作一個電容式土壤濕度傳感器 8261次閱讀
- 微雪電子土壤濕度傳感器簡介 4778次閱讀
- MEMS偏航傳感器在汽車安全系統中的應用介紹 2878次閱讀
- 安裝測力傳感器時需要注意哪些問題 701次閱讀
- 無源傳感器和有源傳感器的區別 3.1w次閱讀
- 濕度傳感器安裝說明 3373次閱讀
- 傳感器的組成_傳感器原理及應用 1.7w次閱讀
- 為什么需要凈化傳感器數據 650次閱讀
- 溫濕度傳感器在農業上的運用 5401次閱讀
- 溫度傳感器如何選型?選擇溫度傳感器需要注意哪些? 3.7w次閱讀
- 淺談傾角傳感器組成和使用 7083次閱讀
- 地磁傳感器工作原理_地磁傳感器應用_地磁傳感器的作用 4.1w次閱讀
- arduino測量土壤濕度自動澆水提醒 1.3w次閱讀
- 在選擇傳感器時需要關注的六大關鍵點 1501次閱讀
- 工程師DIY智能灌溉器解決植物澆水難題 2364次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多