Grumpy Grandpa (X02)
About
This project uses the Microphone to detect clapping noises and turns on or off the LED if it senses two claps with a second pause inbetween.
This project was designed for the second generation mCookie Maker kits (102 Basic, 202 Advanced and 302 Expert kits).
Required Materials
- 1 x mCookie Core
- 1 x mCookie USB TTL (102 Kit) or 1 x mBattery (202/302 Kit)
- 1 x mCookie Sensor Hub
- 1 x Crash Sensor
- 1 x Microphone Sensor
- 1 x Buzzer
- 3 x Sensor Cable
- 1 x MicroUSB Cable
Build
NOTE: When connecting sensor wires, push on the plastic connector and not on the wires. Pushing on the wire can damage them.
- Connect the Crash Sensor to the Sensor Hub on Pin 4/5
- Connect the Buzzer to the Sensor Hub on Pin 6/7
- Connect the Microphone to the Sensor Hub on Pin A0/A1
- Grab the mCookie USBTTL or mBattery and Stack the mCookie Core on top.
- Stack the mCookie Sensor on top of that.
- Plug in the MicroUSB cable to the mCookie USBTTL or mBattery to a computer.
Program
1. Connect mCookie Core to the PC with the USB Cable. Open the Microduino IDE.
2. Copy and paste the code below and upload.
3. Select the board, processor and port:
- Go to Tools > Board and select Microduino/mCookie-Core (328p)
- Go to Tools > Processor and select Atmega328P16M,5V
- Go to Tools > Port and select the available port
4. Upload the program by clicking on the right arrow icon on the top left of the window. Or under Sketch > Upload.
Debugging
- Open the Serial monitor. Information will print out when the first clap is detected as "First clap detected!".
- Then a value will print out which is the silent value. If it is under the threshold, "Silence detected!" will print.
- "Second clap detected!" will print if it detected a second clap.
Tweaking
Variables can be edited to change the threshold / detection value for various functions to better fine tune to your environment.
DEBUG will enable debugging mode. Which outputs information to the Serial Port.
MIC_MIN is the minimum value from the Microphone that will anger Grandpa.
- Adjustable between 0 ~ 1023
- Default is 200
NOISE_TIME is the time in milliseconds (1 second = 1000 milliseconds) where minimum noise level is maintained which will anger Grandpa.
- Default is 200
Usage
Cause enough noise (MIC_MIN) for a time period (NOISE_TIME) and this will anger Grandpa. Grandpa will start yelling (making noise with the Buzzer).