Search This Blog

Powered by Blogger.

Translate

Home » , , , » [TC] Haunted House Sound Effects Machine(Rasberry Pie)

[TC] Haunted House Sound Effects Machine(Rasberry Pie)

People have been asking me about interesting applications for the Raspberry Pi, and whether Raspberry Pi is an Arduino killer of some sort. The answer to the second question is no; in fact it is an Arduino augmenter. This blog post answers the first question with another question: how about a Haunted House sound effects machine?

A new revision of the Early Release of Getting Started with Raspberry Pi came out last Friday. I read Matt Richardson’s chapter on using Pygame with the GPIO pins on the Pi, which included a simple Sound Sample player. I adapted his example to work with an Arduino that talks to the Pi over a serial connection; this skeletal (ahem) hookup could easily be incorporated into some sort of Halloween installation. I decided to use Arduino for reading the inputs because out of the box it is more robust and can handle a wider variety of inputs. Also, there are many existing Haunted House triggering demos out in the wild that use Arduino.
First, you’ll need to prepare the trigger circuit. The following example uses three toggle switches, but you can replace those with any kind of on/off input. In a haunted house (or porch-based trick-or-treater installation), a PIR sensor would be handy for triggering based on proximity.
Here’s the basic schematic:
http://todayscircuits.blogspot.in
The 10k resistors can be replaced by the Arduino’s own internal pull-up resistors, if you know how to do that.
I connected the Arduino to the Raspberry Pi using a USB cable. While I had the Pi hooked into a monitor, I found that I could just plug the Arduino through my Mac keyboard USB connector and it got enough power from that to work. If you have an older Raspberry Pi with polyfuses limiting the power on the USB port (check to see if you have 2 little green fuses marked “1104″ next to the USB ports), you may need an external hub, or run the Pi headless to free up a USB port.
Next, upload the following sketch to the Arduino:
// PiTalk.ino// Reads three digital inputs. These could be any kind of
// switch or (for Halloween) PIR sensors. byte onState[3] = { 0, 0, 0 }; // save the state of each pin void setup() { Serial.begin(9600); // Open serial connection pinMode(2, INPUT); // Set these three pins for reading pinMode(3, INPUT); // Each have a 10k pullup externally pinMode(4, INPUT); // so a trigger is LOW} void loop() { for (int i=0; i<3; i++) { // Iterate over pins if (digitalRead(i+2) == LOW) { // Check if triggered if (onState[i] == 0) { // Just triggered? Serial.write(i+2); // Send the pin number onState[i] = 1; // but just once }
} else { onState[i] = 0; // Not triggered } } delay(20);}You can use your computer to do upload the program, or you can download and install the Arduino IDE directly on the Raspberry Pi (as described in the next release of Getting Started with Raspberry Pi).Once the Arduino is programmed, open up the Leafpad text editor on the Raspberry Pi and enter this Python program, adapted from Matt’s Sound Sample Player:# playSounds.py import pygame.mixerfrom time import sleepfrom sys import exitimport serial pygame.mixer.init(44000, -16, 1, 1024)
soundA = pygame.mixer.Sound("Scream.wav")
soundB = pygame.mixer.Sound("WilhelmScream.wav")soundC = pygame.mixer.Sound("CastleThunder.wav") soundChannelA = pygame.mixer.Channel(1)
soundChannelB = pygame.mixer.Channel(2)soundChannelC = pygame.mixer.Channel(3) print "Sampler Ready."serialFromArduino = serial.Serial("/dev/ttyACM0",9600)serialFromArduino.flush() while True: try: val = ord(serialFromArduino.read()) print(val) if (val == 2):
soundChannelA.play(soundA)
if (val == 3): soundChannelB.play(soundB) if (val == 4): soundChannelC.play(soundC) val = 0 sleep(.01) except KeyboardInterrupt:
exit()
Save it as playSounds.py. Before you run the script you’ll probably need to install the Python serial module. To do that, type:
sudo apt-get install python-serial
If you’re running the latest Raspbian, you probably have everything you need to get this running. Open the LXTerminal and type:
python playSounds.py
If you get an error that Pygame is not installed, type:
sudo apt-get update
sudo apt-get install python-pygame
You’ll also need some sound files to play. I chose three from the Internet Archive: a generic scream, a Wilhelm Scream, and the classic Castle Thunder sample.
When you press the buttons each sound will play once; Pygame’s mixer will even play all three at the same time if you have multiple trick-or-treaters invading your porch


Share this on your favourite network

0 comments:

Post a Comment

Page Rank

google pagerank

Write For Us

Submit a Guest Post

Find us on Facebook

Categories

555 Timer IC 7 segment Display 8051 Project AC Circuits Adafruit Alarms Amplifier Circuits Analog Circuits android Arduino arm processor Assembly Languange Atmel Atom Size Audio Circuits augmented reality Automotive Circuits avr Battery Circuits Bicycle Gurad bluetooth Cable TV Circuits Cambridge University Camera Technology Circuit Boards Clipping And Clamping Circuits Clocking And Timer Circuits Computing contact lens Contact Us Form Contests Controller Circuit Conversion Circuits Counter Circuits Digital Electronics diy circuits Downloads EFY EFYTimes Electronic Books Electronic Components Electronic Locks And Keys Engineering Fan Circuits Filter Circuits Fire Alarm free Frequency Fun And Game Circuits future Google Hack n Mod Ham Radio Circuits heart rate monitoring High Voltage Circuits Home Circuits IC Guide ieee Industrial Circuits Infrared Instructables Inventions ipad lcd Led Circuits Light Related Lighting Circuits Medical Circuits Meter Clocks Microcontrollers Microprocessors Mini Projects modules Movie maker NatGeo Navigation Notice Optical Fiber PC Circuits PCB Boards Physics pnp transistor Power Supplies Printing Projects Programmer Project Ideas Projectors Protection circuits Proximity Detectors Radar Radio Circuits Radio Transmitters Raspberry Raspberry Pie Remote Circuits Retis Lab RFID Robot Cars Robotics Science Science Alert Security And Safety Sensor Circuits Servo Motors Smallest Smartwatches sms Software solar cell sound application Spectram Switch Technology News Telephone Related Television Related Test And Measurement Circuits Thermal Projects Tone generator circuits Touch Screen Tutorials Wearables Wi-Fi Wireless
Like us on Facebook
Follow us on Twitter
Recommend us on Google Plus
Subscribe me on RSS