资料介绍
描述
使用一些传感器,我从植物中获取实时读数,通过 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次下载 | 免费
评论
查看更多