Stap 3: Integratie Arduino en Processing
De Processing Schets downloaden:
1) Sluit de arduino compiler programma.
2) downloaden van de processing schets https://www.dropbox.com/sh/hexeeougg5dulqz/PiA8Mb...
github link: https://www.dropbox.com/sh/hexeeougg5dulqz/PiA8Mb...
Open de code in verwerking (UPanimation.pde)..."personalizedFunctions.pde" moeten in dezelfde map.
4) ervoor te zorgen de Arduino is aangesloten-up via usb naar uw computer
5) opdat de verwerking regel met "myPort = nieuwe Serial (dit, Serial.list() [0], 9600);" is correct, waar Serial.list() [0] de seriële poort is. Voor ons was het meestal was 0, maar soms het 1. Dit is de poort die tegen je arduino praat. U krijgt een fout als dit niet is geconfigureerd.
6) start de schets. Hopelijk, wanneer je de blote draden aanraken, ziet u wijzigingen op het scherm.
7) Opmerking de if-then-else structuur van de code van de verwerking. U kunt deze bewerken om verschillende RGB kleur bloemen maken of meer drempels om een grotere hoeveelheid kleuren toe te voegen...
code geplakt:
/ *** door Ellen Keith, Yael Braha, Marc Roth, Tosh Chiang en Jasdeep Garcha voor SF UP festival 2012 *** /
#include "pitches.h"
Audio int melodie [] = {NOTE_B6, NOTE_E5}; int melody2 [] = {NOTE_C6, NOTE_F5}; int noteDurations [] {8, 8, 2} =;
bemonstering en io int pairOne = A0; int pairTwo = a1 worden verkregen; int geleid = 13; int aOut = 12;
de rest
int triggerThresh = 50; Hiermee stelt u de trigger foroutput Boole stopMusic = waar; int countOut = 0;
void setup {//configures inputs en outputs
Serial.begin(9600); pinMode (pairOne, INPUT); pinMode (pairTwo, INPUT); pinMode led (, uitvoer); op arduino pinMode (aOut, OUTPUT); }
void loop {int handShakeReadFinal1; //for definitieve int handShakeReadFinal2; analogReference(INTERNAL1V1); //command varieert tussen arduinos / / analogReference(INTERNAL); / / Lees de input op analoge pin 0 en 1: int handShakeRead1 = analogRead(pairOne); delay(10); //resample pin 0! int handShakeRead1b = analogRead(pairOne); int handShakeRead2 = analogRead(pairTwo); delay(10); //resample pin 1! int handShakeRead2b = analogRead(pairTwo);
output waarde alleen als beide monsters groter is dan de drempel en niet-nulzijnde als (handShakeRead1 > triggerThresh en handShakeRead1b > triggerThresh) {handShakeReadFinal1 = handShakeRead1;} else {handShakeReadFinal1 = 0;}
Als (handShakeRead2 > triggerThresh en handShakeRead2b > triggerThresh) {handShakeReadFinal2 = handShakeRead2;} else {handShakeReadFinal2 = 0;}
afdrukken van waarden naar seriële poort Serial.print('A'); Serial.println(handShakeReadFinal1); Serial.Print('B'); Serial.println(handShakeReadFinal2);
delay(50);
audio
Als (handShakeReadFinal1 > triggerThresh || handShakeReadFinal2 > triggerThresh) {digitalWrite (leidde, hoog); als (stopMusic) {tune();}} else {countOut = 0; stopMusic = true, digitalWrite (led, laag); / / delay(1000);}}
VOID tune() {voor (int thisNote = 0; thisNote < 2; thisNote ++) {int noteDuration = 1000/noteDurations [thisNote]; Toon (aOut, melodie [thisNote], noteDuration), vertraging (noteDuration + 30);} stopMusic = false;}