Zingen Pumpkins / Arduino (6 / 9 stap)

Stap 6: Arduino/Wave shield instellen en de bestanden

Ik gebruikte deze golf schild- http://www.ladyada.net/make/waveshield/ , die het komt als een kit volg eenvoudig de montage-instructies op de link.

De wave shield zal gebruik maken van pins 1, 2, 3, 4, 5, 10
Onze project gebruik pins 6, 7, 8, 9, A0, A1, A2, A3, A4, A5

Pinnen 6, 7, 8, 9, A0, A1, A2, A3 zal worden gebruikt voor de pompoenen knipperende lichten, pin A4 worden gebruikt voor het controleren van de flikkering lampenset en pin A5 zal worden gebruikt om een relais dat zal koppelt het achtergrond geluid en sluit de wave shield op een set luidsprekers. Dit is zodat iedereen zich op het main event van het Halloween-display richten zal.

Upload het audio-bestand naar een sd-kaart, en uploaden van de schets aan de arduino.

SCHETS

Gemaakt door Greg Spiridakos 2011 / /

#include < AF_Wave.h >
#include < avr/pgmspace.h >
#include "util.h"
#include "wave.h"

Kaart van de AF_Wave;
Bestand f;
WAVEFILE Golf;      slechts één!

#define redled 9

uint16_t samplerate;

VOID Setup {}

Serial.begin(9600);           instellen van seriële bibliotheek 9600 bps
Serial.println ("Wave test!");

pinMode (2, OUTPUT);  gebruikt door geluid schild
pinMode (3, OUTPUT);  gebruikt door geluid schild
pinMode (4, OUTPUT);  gebruikt door geluid schild
pinMode (5, OUTPUT);  gebruikt door geluid schild
pinMode (6, OUTPUT);  LED licht
pinMode (7, OUTPUT);  LED licht
pinMode (8, OUTPUT);  LED licht
pinMode (9, OUTPUT);  LED licht
pinMode (A0, uitvoer); LED licht
pinMode (A1, uitvoer); LED licht
pinMode (A2, uitvoer); LED licht
pinMode (A3, uitvoer); LED licht
pinMode (A4, uitvoer); flikkering lampenset
pinMode (A5, uitvoer); auido schakelaar via relay

pinMode (redled, OUTPUT);

Als (! card.init_card()) {}
putstring_nl ("Card init. mislukt!"); terugkeer;
}
Als (! card.open_partition()) {}
putstring_nl ("geen partitie!"); terugkeer;
}
Als (! card.open_filesys()) {}
putstring_nl niet kon ("openen filesys"); terugkeer;
}

Als (! card.open_rootdir()) {}
putstring_nl kon niet ("open dir"); terugkeer;
}

putstring_nl ("bestanden gevonden:");
ls();
}

ongeldig ls() {}
char naam [13];
int ret;

Card.reset_dir();
putstring_nl ("bestanden gevonden:");
terwijl (1) {}
RET = card.get_next_name_in_dir(name);
Als (! ret) {}
Card.reset_dir();
terugkeer;
}
Serial.println(name);
}
}

uint8_t tracknum = 0;

void loop {}

uint8_t i, r;
char c, naam [15];

Card.reset_dir();
Blader door de bestanden in de directory
voor (ik = 0; ik < tracknum + 1; i ++) {}
r = card.get_next_name_in_dir(name);
Als (! r) {}
rende tracks! opnieuw beginnen
tracknum = 0;
terugkeer;
}
}
putstring ("\n\rPlaying"); Serial.Print(name);
resetten van de directory, zodat we het bestand kunt vinden
Card.reset_dir();
playcomplete(name);
tracknum ++;
}

ongeldig playcomplete(char *name) {}
uint16_t potval;
uint32_t newsamplerate;

playfile(name);
samplerate = wave.dwSamplesPerSec;
terwijl (wave.isplaying) {}
kan je hier spullen!
delay(500);
}
Card.close_file(f);
}

ongeldig playfile(char *name) {}
f = card.open_file(name);
Als (! f) {}
putstring_nl kon niet ("open bestand"); terugkeer;
}
Als (! wave.create(f)) {}
putstring_nl ("niet een geldig WAV"); terugkeer;
}
OK tijd om te spelen!
Wave.Play();




{/ / deze groep bezielt de leds

digitalWrite(A5,HIGH);    Dit zal veranderen audio estafette naar schakelaar achtergrondmuziek voor audio Shield delen sprekers


delay(14500);     Dit zal het vertragen van de LED's nadat de audio is gestart in miliseconden
1000 miliseconden = 1 seconde
14,5 sec vertraging van start
cyclus 1
digitalWrite(6,HIGH);     //
digitalWrite(7,HIGH);     //
digitalWrite(8,HIGH);     //
digitalWrite(9,HIGH);     alle op
digitalWrite(A0,HIGH);    //
digitalWrite(A1,HIGH);    //
digitalWrite(A2,HIGH);    //
digitalWrite(A3,HIGH);    //
delay(23000);             vertraging 23,0 sec

cyclus 2
digitalWrite(6,LOW);      //
digitalWrite(7,LOW);      //
digitalWrite(A0,LOW);     Alle uitschakelen
digitalWrite(A1,LOW);     //
digitalWrite(A2,LOW);     //
digitalWrite(A3,LOW);     //
delay(5100);              5.1 sec vertragen


cyclus 3
digitalWrite(8,LOW);      8 uitschakelen
delay(5700);              5.7 sec vertragen


cyclus 4
digitalWrite (9, laag);     9 af
digitalWrite (7, hoge);    7 op
delay(5000);              vertraging van 5 sec totale vertraging van start


cyclus 5
digitalWrite(6,HIGH);     //
digitalWrite(7,HIGH);     //
digitalWrite(8,HIGH);     alle op
digitalWrite(9,HIGH);     //
digitalWrite(A0,HIGH);    //
digitalWrite(A1,HIGH);    //
digitalWrite(A2,HIGH);    //
digitalWrite(A3,HIGH);    //
delay(6300);              6.3 sec vertragen


cyclus 6
digitalWrite(6,LOW);      //
digitalWrite(7,LOW);      //
digitalWrite(8,LOW);      //
digitalWrite(9,LOW);      Alle uitschakelen
digitalWrite(A0,LOW);     //
digitalWrite(A1,LOW);     //
digitalWrite(A2,LOW);     //
digitalWrite(A3,LOW);     //
delay(1100);              1.1 sec vertragen


cyclus 7
digitalWrite(8,HIGH);     8 op
digitalWrite(9,HIGH);     9 op
delay(6000);              vertraging van 6 sec



cyclus 8
digitalWrite(8,LOW);      8 uitschakelen
digitalWrite(9,LOW);      9 af
digitalWrite(A0,HIGH);    A0 op
delay(5000);              vertraging van 5 seconden


cyclus 9
digitalWrite(A0,LOW);     A0 af
digitalWrite(7,HIGH);     7 op
delay(6000);              vertraging van 6 sec

cyclus 10
digitalWrite(6,HIGH);     //
digitalWrite(7,HIGH);     //
digitalWrite(8,HIGH);     //
digitalWrite(9,HIGH);     alle op
digitalWrite(A0,HIGH);    //
digitalWrite(A1,HIGH);    //
digitalWrite(A2,HIGH);    //
digitalWrite(A3,HIGH);    //
delay(1000);              1 sec vertraging


cyclus 11
digitalWrite(6,LOW);      //
digitalWrite(7,LOW);      //
digitalWrite(8,LOW);      alles behalve A0 af
digitalWrite(9,LOW);      //
digitalWrite(A0,HIGH);    //
digitalWrite(A1,LOW);     //
digitalWrite(A2,LOW);     //
digitalWrite(A3,LOW);     //
delay(100);              .1 sec vertraging


cyclus van 12
digitalWrite(A0,LOW);     A0 af
digitalWrite(A1,HIGH);    A1 op
delay(1000);               vertraging van 1 seconde


cyclus 13
digitalWrite(A1,LOW);     A1 uit
digitalWrite(7,HIGH);     7 op
delay(1000);              vertraging van 1 seconde

cyclus 14
digitalWrite(A1,HIGH);    A1 op
delay(1000);              vertraging van 1 seconde

cyclus van 15
digitalWrite(A1,LOW);     A1 uit
digitalWrite(8,HIGH);     8 op
digitalWrite(9,HIGH);     9 op
delay(8000);              vertraging van 8 sec


cyclus 16
digitalWrite(7,HIGH);     7 op
delay(3000);              vertraging van 3 seconden


cyclus 17
digitalWrite(6,HIGH);     //
digitalWrite(7,LOW);      //
digitalWrite(8,HIGH);     alles behalve 7 op
digitalWrite(9,HIGH);     //
digitalWrite(A0,HIGH);    //
digitalWrite(A1,HIGH);    //
digitalWrite(A2,HIGH);    //
digitalWrite(A3,HIGH);    //
delay(2000);              vertraging van 2 sec


cyclus 18
digitalWrite(6,LOW);      //
digitalWrite(7,LOW);      //
digitalWrite(8,LOW);      alles behalve 9 af
digitalWrite(9,HIGH);     //
digitalWrite(A0,LOW);     //
digitalWrite(A1,LOW);     //
digitalWrite(A2,LOW);     //
digitalWrite(A3,LOW);     //
delay(2000);              vertraging van 2 sec


cyclus 19
digitalWrite(6,LOW);      //
digitalWrite(7,LOW);      //
digitalWrite(8,LOW);      alles behalve A2 af
digitalWrite(9,LOW);      //
digitalWrite(A0,LOW);     //
digitalWrite(A1,LOW);     //
digitalWrite(A2,HIGH);    //
digitalWrite(A3,LOW);     //
delay(1000);              dealy 1 sec


cyclus 20
digitalWrite(A2,LOW);     A2 af
digitalWrite(A3,HIGH);    A3 op
delay(3000);              vertraging van 3 seconden


cyclus 21
digitalWrite(A3,LOW);     A3 af
digitalWrite(A0,HIGH);    A0 op
delay(2500);              vertraging van 2,5 sec

cyclus 22
digitalWrite(A0,LOW);     A0 af
digitalWrite(A3,HIGH);    A3 op
delay(3000);              vertraging van 3 seconden

cyclus 23
digitalWrite(A3,LOW);     A3 af
digitalWrite(7,HIGH);     7 op
delay(5500);              vertraging van 5.5 sec

cyclus van 24
digitalWrite(6,HIGH);     //
digitalWrite(7,HIGH);     //
digitalWrite(8,HIGH);     alle op
digitalWrite(9,HIGH);     //
digitalWrite(A0,HIGH);    //
digitalWrite(A1,HIGH);    //
digitalWrite(A2,HIGH);    //
digitalWrite(A3,HIGH);    //
delay(6000);              vertraging van 6 sec


cyclus 25
digitalWrite(8,HIGH);     8 op
delay(1000);              vertraging van 1 seconde

cyclus van 26
digitalWrite(8,LOW);      8 uitschakelen
digitalWrite(9,HIGH);     9 op
delay(7500);              vertraging van 7,5 sec


cyclus 27
digitalWrite(6,HIGH);     6 op
delay(1000);              vertraging van 1 seconde

cyclus 28
digitalWrite(7,LOW);      7 op
digitalWrite(A1,HIGH);    A1 op
delay(2000);              vertraging van 2 sec

cyclus 29
digitalWrite(7,HIGH);     7 op
delay(3500);              3,5 seconde vertraging

cyclus 30
digitalWrite(A1,LOW);     A1 uit
digitalWrite(7,LOW);      7 uit
digitalWrite(A0,HIGH);    A0 op
delay(3000);              vertraging van 3 seconden


cyclus 31
digitalWrite(A1,HIGH);    A1 op
delay(3000);              vertraging van 3 seconden

cyclus 32
digitalWrite(A0,LOW);     A0 af
delay(2500);              vertraging van 2,5 sec

cyclus 33
digitalWrite(8,HIGH);     8 op
digitalWrite(9,HIGH);     9 op
delay(3500);              3,5 seconde vertraging

cyclus van 34
digitalWrite(7,HIGH);     7 op
delay(1000);              vertraging van 1 seconde

cyclus 35
digitalWrite(A0,HIGH);    A0 op
digitalWrite(A1,HIGH);    A1 op
digitalWrite(A2,HIGH);    A2 op
digitalWrite(A3,HIGH);    A3 op
delay(17500);             vertraging van 17,5 sec


cyclus 36
digitalWrite(8,HIGH);     8 op
digitalWrite(9,HIGH);     9 op
delay(6500);              vertraging van 6.5 sec


cyclus 37
digitalWrite(6,HIGH);     //
digitalWrite(7,HIGH);     //
digitalWrite(8,HIGH);     //
digitalWrite(9,HIGH);     //
digitalWrite(A0,HIGH);    alle op
digitalWrite(A1,HIGH);    //
digitalWrite(A2,HIGH);    //
digitalWrite(A3,HIGH);    //
delay(10000);             vertraging van 10 sec






cyclus 38
digitalWrite(6,LOW);      6 uit
digitalWrite(7,LOW);      7 uit
digitalWrite(8,LOW);      8 uitschakelen
digitalWrite(9,LOW);      9 af
digitalWrite(A0,LOW);     A0 af
digitalWrite(A1,LOW);     A1 uit
digitalWrite(A2,LOW);     A2 af
digitalWrite(A3,LOW);     A3 af
delay(100);               .1 sec vertraging

cyclus 39
willekeurige knippert
digitalWrite(6,HIGH);
digitalWrite(A0,HIGH);
delay(150);
digitalWrite(6,LOW);
digitalWrite(9,HIGH);
delay(150);
digitalWrite(9,LOW);
digitalWrite(A0,LOW);
digitalWrite(7,HIGH);
delay(150);
digitalWrite(A1,HIGH);
digitalWrite(7,LOW);
delay(150);
digitalWrite(A1,LOW);
digitalWrite(8,HIGH);
delay(150);
digitalWrite(8,LOW);
digitalWrite(A2,HIGH);
delay(150);
digitalWrite(A3,HIGH);
delay(150);
digitalWrite(A3,LOW);
digitalWrite(A2,LOW);
delay(150);
digitalWrite(6,HIGH);
digitalWrite(A0,HIGH);
delay(150);
digitalWrite(6,LOW);
digitalWrite(9,HIGH);
delay(150);
digitalWrite(9,LOW);
digitalWrite(A0,LOW);
digitalWrite(7,HIGH);
delay(150);
digitalWrite(A1,HIGH);
digitalWrite(7,LOW);
delay(150);
digitalWrite(A1,LOW);
digitalWrite(8,HIGH);
delay(150);
digitalWrite(8,LOW);
digitalWrite(A2,HIGH);
delay(150);
digitalWrite(A3,HIGH);
delay(150);
digitalWrite(A3,LOW);
digitalWrite(A2,LOW);
delay(150);
digitalWrite(6,HIGH);
digitalWrite(A0,HIGH);
delay(150);
digitalWrite(6,LOW);
digitalWrite(9,HIGH);
delay(150);
digitalWrite(9,LOW);
digitalWrite(A0,LOW);
digitalWrite(7,HIGH);
delay(150);
digitalWrite(A1,HIGH);
digitalWrite(7,LOW);
delay(150);
digitalWrite(A1,LOW);
digitalWrite(8,HIGH);
delay(150);
digitalWrite(8,LOW);
digitalWrite(A2,HIGH);
delay(150);
digitalWrite(A3,HIGH);
delay(150);
digitalWrite(A3,LOW);
digitalWrite(A2,LOW);
delay(150);
digitalWrite(6,HIGH);
digitalWrite(A0,HIGH);
delay(150);
digitalWrite(6,LOW);
digitalWrite(8,HIGH);
delay(150);
digitalWrite(A0,LOW);
digitalWrite(A2,HIGH);
delay(150);
digitalWrite(8,LOW);
digitalWrite(A2,LOW);
delay(150);
digitalWrite(7,HIGH);
digitalWrite(A3,HIGH);
delay(150);
digitalWrite(7,LOW);
digitalWrite(9,HIGH);
delay(150);
digitalWrite(A3,LOW);
digitalWrite(9,LOW);
delay(150);
digitalWrite(6,HIGH);
digitalWrite(A1,HIGH);
delay(150);
digitalWrite(6,LOW);
digitalWrite(8,HIGH);
delay(150);
digitalWrite(A1,LOW);
digitalWrite(8,LOW);

delay(8000); de wachttijd tussen de lied en flikkering bollen vertraging in ms
stand-by-modus die flikkering bollen aanzetten zal


digitalWrite (A4, hoge); flikkering bollen op
delay(200); uitstellen tot audio is overgestapt van audio schild aan achtergrondmuziek
digitalWrite (A5, laag); audio schild verbreekt relay naar de achtergrondmuziek


delay(600000); uitstellen tot flikkering bollen uit te schakelen en nummer en lichtshow start (600000ms = 10 min vertraging)
1000ms = 1 seconde, 600000ms = 10 min

digitalWrite (A4, laag); Bochten van flikkering bollen

}}

Gerelateerde Artikelen

Zingen Pumpkins, Hologram Ghost gezicht & meer!

Zingen Pumpkins, Hologram Ghost gezicht & meer!

Wegens het hoge volume van verzoeken die ik voor het Zingen Pumpkins speciaal effect ontvangen, maakte ik een Instructable voor hen hier:Decoraties die ik heb gemaakt in mijn gebouw binnenplaats voor Halloween met een originele hologram ghost gezicht
Zingen Pumpkins illusie DIY guide

Zingen Pumpkins illusie DIY guide

In 2001 introduceerde Disneyland deNightmare Before Christmas uitgebreide vakantie overlay hun Haunted Mansion-attractie. In de sectie normaal met de beelden van de geliefde buste "Grim grijnzend Ghosts" zingen, worden deze weergegeven met zinge
Zingen Pumpkins/parallelle poort Relay vak

Zingen Pumpkins/parallelle poort Relay vak

dit Instructable zal u tonen hoe te bouwen van een parallelle poort relay doos die zal worden gebruikt om te rijden een zingende Pompoen Halloween tuig. Het zingen pompoen tuig is in feite een gesynchroniseerde licht en muziek show dat wordt veronder
Animatronic zingen Pumpkins

Animatronic zingen Pumpkins

dit was een idee oorspronkelijk van een vriend, die ik naar het volgende niveau gestoten heb.  Het doel is het creëren van zingen / pompoenen met behulp van een Arduino en de "Vixen" nemen.  We zullen de "generieke" seriële gebruiken d
Zingen de plant. Maak uw installatie zingen met Arduino, touche en een gameduino

Zingen de plant. Maak uw installatie zingen met Arduino, touche en een gameduino

dit project is een onderdeel van experimenten gedaan terwijl het doen van een artiest in residentie in Instructables. Kunt u de andere projecten hier.Maken van een plant die zingen sinds een truc was de uitvinder van de Theremin. Hier ga ik je leren
Halloween IOT pompoen Patch

Halloween IOT pompoen Patch

Doel: Wanneer kinderen het huis benadert wordt de pompoen Patch komt tot leven bieden een interactieve omgeving op basis van beweging en geluid detectie.Stap 1: Service LayerStap 2: Werk FlowWanneer beweging wordt gedetecteerd; Voer de volgende hande
Candy Monster Plant

Candy Monster Plant

Dit project kwam uit veel verschillende richtingen. Een was dat ik wil proberen het maken van iets dat animatronic was. Ten tweede, mij watertje getting klaar voor Halloween en op zoek naar iets nieuw te maken voor Halloween. Tot slot, ik dacht dat d
"Grove"r

"Grove"r

Dit is een opmerkelijke object dat brengt interactie en mogelijkheid voor iedereen die het tegenkomt. Een enkele arduino kunt deze robot om te reageren op de gesproken opdrachten en dat bijna alle zintuigen van de menselijke tegenhanger.Stap 1: Meerd
Arduino aangedreven Haunted Mansion zingen bustes

Arduino aangedreven Haunted Mansion zingen bustes

vorig jaar wilde ik samen te stellen een Halloween display emuleren mijn favoriete Disneyland/wereld rit aller tijden. Oorspronkelijk was dit net gonna be vier hoofden op een tabel met de Haunted Mansion van "Grimmig grijnzend Ghosts" spelen op
Arduino Theremin deur / slot herinnering

Arduino Theremin deur / slot herinnering

Soms, moeten we om toe te voegen sommige kruiden aan ons leven, zodat u zult zich beter voelen en maken leuker leven worden verbazingwekkende wordt gevraagd.Mijn collega's en ik altijd vergeet om de deur dicht na onze ontmoeting, en er zijn te veel w
Arduino gereguleerde Animatronic Skeleton rockband - lopende

Arduino gereguleerde Animatronic Skeleton rockband - lopende

Voor Halloween dit jaar besloten heb ik om te bouwen van een animatronic skeleton rockband. Het is een work in progress op dit punt, maar ik ben best wel blij met hoe het komt langs. De meeste alles is gemaakt van materialen die ik had op hand (ik be
Beginner Arduino

Beginner Arduino

De Arduino is een zakformaat computer (ook wel een "microcontroller") die u kunt programmeren en gebruik om te controleren van de circuits. Deze samenwerkt met het buiten woord door middel van sensoren, LED's, motoren, sprekers... zelfs op het i
Voorbeeld van de automatisering van Remote Home - Arduino + Ethernet-Shield

Voorbeeld van de automatisering van Remote Home - Arduino + Ethernet-Shield

opnieuw welkom!In dit Instructable, ik zal detail hoe met verschillende sensoren en items met een internet aangesloten Arduino. Naar mijn mening was dit een erg leuk project samen te stellen en sleutelen! Plus, kreeg ik omhoog borstel op mijn HTML en
Arduino frequentie detectie

Arduino frequentie detectie

Als een vervolg op de Arduino Audio Input tutorial die ik vorige week gepost, schreef ik een schets die analyseert een signaal binnenkomt de analoge ingang van de Arduino en bepaalt de frequentie. De code maakt gebruik van een sampling rate van 38.5k