Update README.md
[miniband.git] / README.md
index a9a90f80969c3a09cbd6d3e10fbd432fd0ed0851..80b1043530be3e48a65b8e86c554d69a232f79db 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # Code Club - Mini Band Project
 
+<img src="http://farm9.staticflickr.com/8338/8256708023_4a941566e9.jpg" width="500" height="375" alt="photo (2)">
+
 Make your own mini band! 
 You and your friends can form your own finger-sized band and rock out using Raspberry Pi and Arduino. 
 Learn how to build circuits with sensors and outputs and write a simple programme to control your instruments.
@@ -119,6 +121,8 @@ Find five different guitar sounds and upload to Scratch.
 
 ## Maracas
 
+<img src="http://farm9.staticflickr.com/8346/8257698652_4a99ee24b4.jpg" width="500" height="375" alt="Code Club Miniband">
+
 ### 1. Make your maracas
 
 Cut 2 short lengths of drinking straw for your maraca handles. 
@@ -127,12 +131,14 @@ Push the maraca heads onto the straws and mold into a maraca shape.
 Connect lengths of wire to the connectors of the 2 tilt sensors and then push each sensor into a straw until it presses into the Sugru.
 Leave the Sugru to set.
 
+<img src="http://farm9.staticflickr.com/8222/8256627511_118192e52f.jpg" width="500" height="375" alt="Code Club Miniband">
 
 ### 2. Connect the circuit
 
 Connect the +5V port on the Arduino board to one of the pins on the tilt switch (it doesn't matter which way round).
 Connect the other pin to an empty digital input on the board. 
 
+<img src="http://farm9.staticflickr.com/8348/8257698572_4157db0b20.jpg" width="500" height="375" alt="Code Club Miniband">
 
 ### 3. Program the Arduino
 
@@ -144,16 +150,29 @@ Find the appropriate code from the respository and upload to your Ardunio board.
 Find a maraca / shaker sound and upload to Scratch.
 
 
+## Connecting to the Raspberry Pi
+
+Set up your Raspberry Pi with a power supply and monitor. 
+Connect all your Ardunio boards (it's easiest to have one per instrument!) to the Raspberry Pi using USB. 
+You will probably need a USB hub.
+
+
 ## Python glueware
 
 Download the music-maker-hander.py file from the repository. Run it with
- python music-maker-handler.py
   python music-maker-handler.py
 This program sets up a listener for each instrument. When it detects that an instrument has been played, it sends a couple of signals to Scratch.
+
 The first signal appears in Scratch as a sensor value and is the volume (for drums), pitch (for the guitar), or ignored (for the maracas).
+
 The second signal is a broadcast message that makes Scratch play the sound in the instrument.
 
+One problem we had was with how the operating sytem mapped the various Arduinos to devices. It seemed to be pretty arbitrary. In the end, we tracked the device names by running
+    tail -f /var/log/syslog
+in a separate terminal and watching what the devices were called when we plugged them in. We could then edit the various DEVICE parameters in to top of the Python script to fit. You could probably be cleverer by using some udev rules to fix the device names, but we didn't think of that (and didn't have enough time either).
 
 ## Scratch front end
 
 The Scratch file, music-maker, makes the sounds. It responds to the signals from the Python handler above by playing the appropriate sounds. It also does some visual feedback for the insturments. 
 
+Scratch on the Raspberry Pi is very slow, especially when it comes to updating the screen. Very often, Scratch would hang mid-way through a jamming session, only to start playing all the sounds after a short while. During the demos, people suggested that we minimise the Scratch window to reduce its workload.
\ No newline at end of file