Difference between revisions of "Group6"
Line 128: | Line 128: | ||
<span style='width:90%; font-size:12px; font-family:calibri'> | <span style='width:90%; font-size:12px; font-family:calibri'> | ||
Zoals boven beschreven werkte te robot aan de hand van muziek analyse die de servo's deed bewegen om de inkt reservoirs in te drukken. De techniek daarachter bestaat uit twee delen, een computer die met Processing muziek analyseert, en een Arduino die de servo's aanstuurd. Deze twee delen communiceren met elkaar draadloos via een serieele bluetooth verbinding. | Zoals boven beschreven werkte te robot aan de hand van muziek analyse die de servo's deed bewegen om de inkt reservoirs in te drukken. De techniek daarachter bestaat uit twee delen, een computer die met Processing muziek analyseert, en een Arduino die de servo's aanstuurd. Deze twee delen communiceren met elkaar draadloos via een serieele bluetooth verbinding. | ||
− | + | <br> | |
De Arduino's in- en outputs zijn gelinkt aan een Bluesmirf bluetooth modem. Een computer kan via bluetooth verbinding maken met de Bluesmirf en via een serieele poort data heen en weer sturen die de Arduino aanstuurd. Deze serieele data word opgemaakt in Processing aan de hand van de muziek analyse en toegestuurd naar de Arduino die deze data vertaald in het aansturen van de servo's. | De Arduino's in- en outputs zijn gelinkt aan een Bluesmirf bluetooth modem. Een computer kan via bluetooth verbinding maken met de Bluesmirf en via een serieele poort data heen en weer sturen die de Arduino aanstuurd. Deze serieele data word opgemaakt in Processing aan de hand van de muziek analyse en toegestuurd naar de Arduino die deze data vertaald in het aansturen van de servo's. | ||
− | + | <br> | |
− | In Processing wordt met de Minim audio library het audiospectrum geanalyseerd. Van iedere frequentie van de muziek kan de waarde uitgelezen worden. Dit zijn 512 frequenties in ons geval, maar niet alle frequenties geven altijd een mooie waarde. Daarom word een gemiddelde berekend van een bepaald stuk van de frequenties, zoals de lage, midden of hoge tonen aan de hand van meerdere 'for' loops die van die delen een berekening maakt voor de servo's. Deze berekening zet de waardes van de analyse om naar een bereik van 20 tot 70 voor de servo. Deze uiteindelijke waarden worden per gedetecteerde beat van Minim doorgestuurd over de seriele poort naar de Arduino. Omdat we uiteindelijk maar twee servo's gebruiken worden alleen de lage en midden tonen berekend en doorgestuurd. Dit gaat in een regel van 3 bytes waarvan de tweede en derde byte ieder de waarde voor een servo bevatten. De eerste byte is een teken voor de Arduino dat er data is om uit te lezen. In de Arduino word de regel van bytes uitgelezen en de tweede en derde byte doorgeven aan servo 1 en servo 2. | + | In Processing wordt met de Minim audio library het audiospectrum geanalyseerd. Van iedere frequentie van de muziek kan de waarde uitgelezen worden. Dit zijn 512 frequenties in ons geval, maar niet alle frequenties geven altijd een mooie waarde. Daarom word een gemiddelde berekend van een bepaald stuk van de frequenties, zoals de lage, midden of hoge tonen aan de hand van meerdere 'for' loops die van die delen een berekening maakt voor de servo's. Deze berekening zet de waardes van de analyse om naar een bereik van 20 tot 70 voor de servo. Deze uiteindelijke waarden worden per gedetecteerde beat van Minim doorgestuurd over de seriele poort naar de Arduino. Omdat we uiteindelijk maar twee servo's gebruiken worden alleen de lage en midden tonen berekend en doorgestuurd. Dit gaat in een regel van 3 bytes waarvan de tweede en derde byte ieder de waarde voor een servo bevatten. De eerste byte is een teken voor de Arduino dat er data is om uit te lezen. In de Arduino word de regel van bytes uitgelezen en de tweede en derde byte doorgeven aan servo 1 en servo 2. |
<span style='width:90%; font-size:18px; font-family:calibri; color: 000; display:block; padding:20px; color:fff; background:#fff; border-bottom: solid; border-bottom-color: 000; border-width: 1px; text-transform: uppercase;'> | <span style='width:90%; font-size:18px; font-family:calibri; color: 000; display:block; padding:20px; color:fff; background:#fff; border-bottom: solid; border-bottom-color: 000; border-width: 1px; text-transform: uppercase;'> |
Revision as of 18:13, 28 October 2014
R O B O T .
GROEP
Timo van Dijk
Hans Schuttenbeld
Hiske Hottinga
Ilja van Vlaardingen
CONCEPT
Ontwerp een robot die in staat is een nummer (muziekstuk) te visualiseren.
Gedurende het nummer doet de robot haar werk. Na afloop wordt het resultaat gepresenteerd aan de rest van de klas.
Zij vormen de jury en zullen bepalen welke robot het beste resultaat heeft geleverd.
- Formaat: A2 posterformaat (staand, witte achtergrond)
- Methode: vrij, zolang de robot het werk doet
(er mag dus geen directe handeling van mensen aan te pas komen, de robot moet het visuele werk tot stand brengen)
BATTLE
Thuan Tran
Shushanik Moutafian
Bonny van der Sande
Meleny Spits
i n s p i r a t i e .
ZZZ - RUNNING WITH THE BEAST
MYTHBUSTERS PAINT THE MONA LISA
TEKENROBOTS
r o l l e n .
Timo: programmeren, arduino, technische uitleg
Hiske: banden, manusje van alles, proces uitleg
Hans: frame, concept, concept uitleg
Ilja: frame, concept, wiki documentatie
c o n c e p t .
Om de robot verschillende muziekstijlen te kunnen laten visualiseren zijn we als eerste muziek gaan ontleden. In grote lijnen bestaat muziek uit; frequentie, ritme en volume. Het eerste concept was om de muziek op te delen in vier verschillende frequenties. Door deze vier lagen de input te laten zijn zou de output, ook opgedeeld in vier verschillende visuele uitingen, een indruk kunnen geven van de muziek. Echter bleek dit na enig experiment zeer moeilijk haalbaar. We zijn verder gegaan met het gegeven ritme. Het vernieuwde concept is voort geborduurd op het vertalen van ritme naar beeld. Door het ritme met code te detecteren en om te zetten naar beweging van een servo ontstond de mogelijkheid om de robot op elk willekeurig ritme te laten werken. We hebben ervoor gekozen om de servo druk uit te laten oefenen op een inktreservoir. De programmering vertaalde het ritme zo, dat bij iedere beat de inktreservoiren ingedrukt werden en dus inkt vrij lieten. Tijdens de presentatie bleken er echter nog wat kinderziektes in te zitten omdat we tijdens het proces geen tijd hebben overgehouden voor visuele tests.
p r o c e s .
tekst
t e c h n i e k .
Zoals boven beschreven werkte te robot aan de hand van muziek analyse die de servo's deed bewegen om de inkt reservoirs in te drukken. De techniek daarachter bestaat uit twee delen, een computer die met Processing muziek analyseert, en een Arduino die de servo's aanstuurd. Deze twee delen communiceren met elkaar draadloos via een serieele bluetooth verbinding.
De Arduino's in- en outputs zijn gelinkt aan een Bluesmirf bluetooth modem. Een computer kan via bluetooth verbinding maken met de Bluesmirf en via een serieele poort data heen en weer sturen die de Arduino aanstuurd. Deze serieele data word opgemaakt in Processing aan de hand van de muziek analyse en toegestuurd naar de Arduino die deze data vertaald in het aansturen van de servo's.
In Processing wordt met de Minim audio library het audiospectrum geanalyseerd. Van iedere frequentie van de muziek kan de waarde uitgelezen worden. Dit zijn 512 frequenties in ons geval, maar niet alle frequenties geven altijd een mooie waarde. Daarom word een gemiddelde berekend van een bepaald stuk van de frequenties, zoals de lage, midden of hoge tonen aan de hand van meerdere 'for' loops die van die delen een berekening maakt voor de servo's. Deze berekening zet de waardes van de analyse om naar een bereik van 20 tot 70 voor de servo. Deze uiteindelijke waarden worden per gedetecteerde beat van Minim doorgestuurd over de seriele poort naar de Arduino. Omdat we uiteindelijk maar twee servo's gebruiken worden alleen de lage en midden tonen berekend en doorgestuurd. Dit gaat in een regel van 3 bytes waarvan de tweede en derde byte ieder de waarde voor een servo bevatten. De eerste byte is een teken voor de Arduino dat er data is om uit te lezen. In de Arduino word de regel van bytes uitgelezen en de tweede en derde byte doorgeven aan servo 1 en servo 2.
r e f l e c t i e.
Betere en helderdere vertaling van ritme naar beeld. Het besturingssysteem van de robot ook een output laten zijn in plaats van handmatige besturing.
Hans
Voor mij was het de eerste keer om met dergelijke technieken te werken tijdens het proces. De manier van werken, namelijk stap voor stap, hebben we daardoor over het hoofd gezien. Achteraf wilde wij eigenlijk bij stap 10 beginnen, wat met ons gebrek aan ervaring natuurlijk onmogelijk is. Overigens is het enthousiasme ons wel ten goede gekomen. Want door groot te denken verbreed je tenslotte je opties.
De rolverdeling en de samenwerking was binnen het team uitstekend. Ieder had zijn eigen taak (zie rolverdeling) en daarnaast hadden we voldoende bijeenkomsten om te bespreken waar iedereen mee bezig was. De visie over ‘wat willen we nou met de robot’ lag ook vrijwel op een lijn waardoor er snel en makkelijk stappen werden gemaakt in het proces.
Over de planning gedurende het project, tja dat is in iedere reflectie hetzeldfe, ruimte voor verbetering!