Interaktiv skulptur (talande dubbel huvud av rörande plasma boll) (6 / 7 steg)
Steg 6: Interaktiv plasma boll
Plasma bollen ändrades för att kunna vara interaktiva. När någon vidrör i plasma bollen, det spela ett ljud.
Vi använde en krets med nuvarande sensor, en arduino, en mp3 sköld och högtalare.
Interaktivitet utvecklas i samarbete med Achim Meyer och Aravinth Panchadcharam.
Detta är koden:
#include / / SPI bibliotek
#include / / SDFat bibliotek #include / / SDFat Util bibliotek #include / / Mp3 sköld bibliotek
SdFat sd; Skapa objekt till SD funktioner SFEMP3Shield MP3player; Skapa Mp3 bibliotek objekt
CONST uint8_t volym = 0; MP3-spelare volym 0 = max, 255 = lägsta (off) const uint16_t monoMode = 1; Mono inställning 0 = av, 3 = max int sensorPin = 5; Välj input PIN-koden för potentiometer int ledPin = 13. Välj PIN-koden för LED int sensorValue = 0; variabel för att lagra värdet kommer från sensorn
void setup() {/ / pinMode (sensorPin, ingång); Serial.BEGIN(9600); initSD(); Initiera SD kort initMP3Player(); Initiera MP3 sköld}
int filterLength = 1000;
int tröskelvärde = 350; // 1. Jämför värdet för sensorn och besluta väder på eller av 325 volym och 350 utan volym
void loop() {lång sensorSum = 0; för (int jag = 0; jag tröskelvärde) {if (! MP3player.isplaying()) {Serial.println("ON"); MP3player.playMP3("track001.mp3"); } / * annat / / / * 2. lägga till {int d = (sensorValue - tröskelvärde); om (d > 50) d = 50, byte volym = 50 - d; Serial.println(Volume); MP3player.setVolume (volym, volym); {} / / * /} annat {Serial.println("OFF"); om (MP3player.isPlaying()) MP3player.stopTrack(); / / MP3player.setVolume (254, 254); / / växla volymen}}
att stänga av volymen: 3 saker
initSD() initierar de SD-kort och kontroller för ett fel. void initSD() {//Initialize SdCard. om (! sd.begin (SD_SEL, SPI_HALF_SPEED)) sd.initErrorHalt(); if(!sd.chdir("/")) sd.errorHalt("sd.chdir");}
initMP3Player() sätter upp alla initieringen för den / / MP3-spelare sköld. Det kör funktionen begin(), kontroller / / fel, gäller en lapp om hittade och ställer in volymen / / / stero läge. void initMP3Player() {uint8_t resultatet = MP3player.begin(); / / init mp3-spelaren sköld om (resultatet! = 0) / / kontrollera resultatet, se readme för felkoder. {/ / Felkontroll kan gå här!} MP3player.setVolume (volym, volym); MP3player.setMonoMode(monoMode); }