Frustration Vocalizer
This originally started out as something completely different (the Insult Gun ™) but due to last-minute equipment failure in my main gun-shaped speaker I've had to quickly rebuild it to the Frustration Vocalizer™ which practically uses the same code and the same hardware I had already soldered.
Downloads
Supplies
- Arduino Uno
- Jumper cables
- LED's
- Buzzer
- Button
- VS1053 MP3 Shield
- an SD card
- some speakers, preferably with built in amplifier
- A powerbank
Setting Up Your Hardware Prototype
The way I've built it you can express up to three degrees of frustration. You select the preffered degree of frustration you wish to express by holding the button for a set amount of time. The longer you hold the button, the higher the pitch of the buzzer becomes and the more lights start burning.
The set-up is fairly simple, 3 lights all to seperate pins, a buzzer and a button.
One thing to note about the example image is that the Arduino in the image does not have a MP3 shield plugged in on it, but the pin placement is the same as it is with the MP3 shield. The seemingly illogical placement of the pins is due to the fact that the MP3 shield itself uses a fair amount of the pins when it is in use with actually playing MP3's (but functions exactly the same as a regular Arduino if no MP3's have to be played).
Prepping Your Audio
To actually convey your feelings of misery and frustration you will need to record audio samples of these emotions, or you could just use my audio I hastily recorded with my fairly dissapointing laptop microphone.
If you do choose to record your own audio though I recommend Audacity (https://www.audacityteam.org/) , it's free audio editing software that is easy to use.
Another note if you record your own audio, keep in mind when naming your audio files to name your tracks 'track001.mp3' 'track024.mp3' 'track999.mp3' etc. The MP3 module can only read files with that exact format. Another note to add to this note is that most pc's add the '.mp3' themselves so try just naming your tracks 'track001' withouth the added '.mp3' first
The Code
Added you will find my code. Please note that I named my tracks per frustration degree. 001-003 is light frustration, 011 is medium frustration and 021-023 is heavy frustration (I didn't record very many screams but I didn't have a lot of room or opportunity left to acceptably record a lot me screaming into a microphone after already having recorded over 30 insults for my original idea).
If you want to add more screams I suggest you keep a similar numbering convention to keep track of what track a track is. Also keep in mind that if you want to add more tracks you will need to alter that in the code. You will note that the specific tracks are randomly chosen.
Downloads
Construction
Put it all together in a way you prefer. I decided to put my Arduino and all the buttons and lights on pipe on my wrist, and have wiring to my speakers in a backpack. This way the entire construciton is portable.
Logboek
Week 1
Dag 1: Introductie gehad, begonnen met brainstormen voor idee. Was beetje laat in de les. Daarna practicum solderen, gemixt resultaat maar werkte wel toen het aangesloten werd op de Arduino. Huidige ideeën: Whack-a-mole met lampjes die je kapot moet slaan als ze aan gaan That’s it, I’m out
Dag 2: Werkcollege Arduino gehad, heb vaag het idee dat ik misschien begin te begrijpen hoe wat werkt. Ben wel vaag bang dat ik iets duurs opblaas. Nog geen beter idee, ben nog niet echt dol op mijn whack-a-mole idee om praktische redenen en het is niet echt een super creatief idee, whack-a-mole bestaat al meer dan honderd jaar.
Dag 3: Tweede werkcollege over de Arduino gehad, ben nog iets bezorgder om iets onrepareerbaar te slopen. Haakte bijna af omdat het een beetje ingewikkeld werd maar kon later weer meekomen. In beter nieuws, heb een beter idee dan whack-a-mole, een insult gun. Idee is om een pistool te bouwen waarbij je de trekker overhaalt en er een belediging naar je doelwit wordt toegeslingerd.
Dag 4: Verdergegaan met mijn idee van de insult gun. Het schijnt dat om de Arduino geluid af te laten spelen zolang het geen buzzer is nogal een uitdaging kan zijn. Heb sowieso andere onderdelen nodig, een speaker en iets om geluid mee af te spelen aangezien de Arduino geen MP3’s of iets soortgelijks kan afspelen. Ben wel al vast bezig geweest met een prototype waarvan ik de onderdelen wel heb, voornamelijk voor een charge functie. Hoe langer je de trekker (in dit geval de button) ingedrukt houd hoe erger de insult wordt, is het idee. Om de laten zien welke gradatie je geselecteerd hebt gaan er lampjes branden. Geel voor lichte belediging na 1 seconde, oranje voor medium na 2 en rood na 3.
Dag 5: Vandaag voornamelijk bezig geweest met animatie ivm de aankomende schouw van dat vak, maar heb wel onderdelen besteld, twee speakers en een MP3-shield. Een MP3 shield kan direct op de Arduino worden gezet en heeft als zodanig geen extra pins nodig.
Weekend: Niets gedaan, maar mijn bestelling is wel binnengekomen. Waar ik geen rekening mee had gehouden is dat de speakertjes geen aangebouwde aux kabel hebben dus ik zal dat denk ik zelf aan moeten sluiten. Er moet ook nog een SD kaart in het MP3 Shield, iets wat ik wel wist maar vergeten was.
Week 2
Dag 1: Niet veel gedaan omdat ik erg druk bezig was met animatie, maar heb wel een eerste poging gedaan om mijn speakertjes aan de praat te krijgen, tot zover zonder success. Heb een aux cord van thuis uit elkaar geknipt maar er komt tot op heden nog geen geluid uit
Dag 2: Ook vandaag veel bezig geweest met animatie, maar heb wel geluid uit mijn speakers weten te krijgen. Nog niet uit mijn MP3 shield zelf maar daar heb ik nog geen sd kaart voor. Het geluid is alleen nog wel erg zacht en ik weet niet waarom. Je kan het alleen maar goed horen als je je oor direct tegen de speaker houdt. Ik kan er een redelijke koptelefoon van maken maar dat was niet mijn idee.
Dag 3: Vandaag helemaal niets aan ITTT gedaan ivm Animatie schouw morgen.
Dag 4: Vandaag een SD kaart gekocht bij de Action, ga morgen eerst maar eens kijken om geluid uit mijn Arduino te zien krijgen. Heb ook een buzzer toegevoegd aan mijn audioloze prototype. Hoe langer je het knopje ingedrukt houdt hoe hoger het geluid uit de buzzer wordt.
Dag 5: Laatste dag voor de vakantie! Heb niet bar veel gedaan vandaag om eerlijk te zijn. Heb geprobeerd om mijn MP3 shield audio te laten afspelen, maar er is kennelijk zoveel specifieke code daarvoor nodig dat het niet gelukt is. Was wel heel gezellig.
Vakantie!: Pols gebroken, 9 dagen weg geweest op vakantie en onderdelen besteld. Voornamelijk een amplifier die ik kennelijk nodig heb om mijn speakertje geluid te laten maken omdat er niet genoeg stroom naartoe gaat vanuit de Arduino. De amplifier verbind de Arduino alleen maar met een aux kabel en zit zelf aan een stroombron vast en het speakertje.
Week 3:
Dag 1: Heb vandaag mijn amplifier in elkaar gezet met hulp van Swan (ik kon mijn rechterpols niet gebruiken). Ander ding waar ik vandaag achter ben gekomen, de amplifier die ik gekocht heb is voor veel grotere speakers dan mijn kleine 3 watt speakertje. Kennelijk passen er op deze amplifier 2x 5 watt speakers en blazen mijn kleine speakertjes op. Aan de ene kant denk ik ‘oh nee’, maar andere kant denk ik ‘oh yes’. Peer die mij dit verteld heeft heeft ook nog thuis een grote speaker liggen die hij aan mij wil uitlenen en die zal hij morgen meenemen.
Dag 2: De speaker die Peer mij heeft geleend is flink groot, ik ga denk ik mijn plan bijstellen van pistool naar geweer. Vandaag ook druk bezig geweest met het proberen om MP3’s af te laten spelen met mijn MP3 shield/Arduino. Tot op heden geen tot weinig success zodra ik van de voorbeeldfiles afga en mijn eigen ding probeer te doen. Vandaag heb ik ook al een aantal van mijn insults opgenomen terwijl ik tot 22:00 op school verbleef.
Dag 3: Vandaag ben ik erg lang bezig geweest met het proberen om MP3’s af te laten spelen in mijn al reeds bestaande lampjes en buzzertimer code waar ik ook heel veel hulp bij heb gekregen van onder andere Lotte, maar het lijkt wel bijna onmogelijk om het werkend te krijgen. Kennelijk gebruikt het MP3 shield wel pins maar zegt het alleen niet duidelijk welke pins dat zijn en gebruikt hij ze alleen maar als de shield-specifieke libraries worden aangeroepen die je nodig hebt om audio af te laten spelen. Ben hier weer tot 22:00 op school aan bezig geweest, ga morgen denk ik vanaf punt 0 opnieuw beginnen.
Dag 4: Vandaag niet naar school ivm studiedag, ben vandaag opnieuw begonnen met mijn code te schrijven en in plaats van proberen mijn MP3’s te laten afspelen in mijn getimede lichtjes en buzzerbestand, heb ik besloten om mijn getimede lichtjes en de buzzer toe te voegen aan een bestand waar ik de MP3’s al aan de praat heb gekregen, en nu werkt mijn code wel. Daarnaast heb ik ook geprobeerd mijn grote nieuwe speaker en mijn amplifier aan de praat te krijgen maar dat doet het niet. Ik heb rondgevraagd en het zou kunnen dat we bij het solderen een te hete soldeerbout hebben gebruikt en een circuitje hebben doorgebrand, dus ik zal op de zeer korte termijn ergens nog een nieuwe amplifier moeten zien te vinden. Morgenochten in Den Haag kan ik misschien een nieuwe ophalen, maar weet nog niet of dat gaat lukken.
Dag 5: Heb de nieuwe amplifier opgehaald in Den Haag en last minute nog in elkaar gesoldeerd met hulp van Andries. Daarnaast heb ik ook mijn lampjes en buzzer vastgesoldeerd op een plaatje en mijn trigger/button op een ander plaatje. Kan nu alles aan gaan sluiten in het weekend en mijn gun bouwen. Zal wel eerst nog wat moeten dumpsterdiven om goed materiaal voor een cover te vinden maar moet hopelijk wel lukken.
Weekend: En alles is mislukt. Heb ook deze amplifier gesloopt waarschijnlijk op dezelfde manier als de vorige, namelijk omdat ik er teveel stroom doorheen gejaagd had. Toen ik hem kocht stond er op dat hij 15 Volt aankon en dat heb ik ook een of twee keer geprobeerd om hem daarmee aan de praat te krijgen maar toen later bij nadere inspectie werd duidelijk dat hij maar 12 Volt aankan. Daarom heb ik op het allerlaatste moment besloten om mijn insult gun om te bouwen naar een frustration vocalizer. De code en gesoldeerde hardware zijn exact hetzelfde dus dat is prima gegaan, ik moest alleen nieuwe audio opnemen.