Final project - Mini SoundBot
Idea
In the very beginning, I planned to make a theremin. But I was stucked by the osillators and complicated circut. So I simplified it to a signal-note converter -- I call it SoundBot.
If you wave or move hands in front of the Soundbot, it’ll convert the distance between your hand and the sensor into music notes.
Input
I used an Ultrasonic Ranging Module HC-SR04 which detects the distance.
Output
At first, I've tried to use speaker like this, but it sounds a little wierd.
So I decided to use macbook as output device, my program can synthesize signal into piano-like notes:
Make the board
sudo make -f hello.HC-SR04.make program-usbtiny
avr-objcopy -O ihex hello.HC-SR04.out hello.HC-SR04.c.hex;\
avr-size --mcu=attiny45 --format=avr hello.HC-SR04.out
AVR Memory Usage
----------------
Device: attiny45
Program: 526 bytes (12.8% Full)
(.text + .data + .bootloader)
Data: 2 bytes (0.8% Full)
(.data + .bss + .noinit)
avrdude -p t45 -P usb -c usbtiny -U flash:w:hello.HC-SR04.c.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9206
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "hello.HC-SR04.c.hex"
avrdude: input file hello.HC-SR04.c.hex auto detected as Intel Hex
avrdude: writing flash (526 bytes):
Writing | ################################################## | 100% 0.92s
avrdude: 526 bytes of flash written
avrdude: verifying flash memory against hello.HC-SR04.c.hex:
avrdude: load data flash data from input file hello.HC-SR04.c.hex:
avrdude: input file hello.HC-SR04.c.hex auto detected as Intel Hex
avrdude: input file hello.HC-SR04.c.hex contains 526 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 1.11s
avrdude: verifying ...
avrdude: 526 bytes of flash verified
avrdude: safemode: Fuses OK (H:FF, E:DF, L:62)
avrdude done. Thank you.
Programming
OpenFrameworks
micknoise/Maximilian: C++ Audio and Music DSP Library
Housing
Design
Fusion360 → dxf → Coraldraw → GCC Laser Pro
Laser cut
Assembly
Test
Ref
Hope that will be fun!
I'm interested in making a Theremin. It's an early electronic musical instrument controlled without physical contact by the thereminist
Principle
利用两个感应人体与大地的分布电容的LC 振荡器工作单元分别产生震荡的频率与大小变化而工作.
Here's block diagram of a theremin. Volume control in blue, pitch control in yellow and audio output in red.