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

OpenFrameworks download

setup guide for xcode

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.

results matching ""

    No results matching ""