Citrouilles de chant / Arduino (6 / 9 étapes)

Étape 6: Shield Arduino/Wave mis en place et les fichiers

J’ai utilisé cette vague le bouclier de http://www.ladyada.net/make/waveshield/ qu'il s’agit comme un kit il suffit de suivre les instructions d’assemblage sur le lien.

Le bouclier de la vague va utiliser les broches 1, 2, 3, 4, 5, 10
Notre projet utilise broches 6, 7, 8, 9, A0, A1, A2, A3, A4, A5

Broches de 6, 7, 8, 9, A0, A1, A2, A3 sera utilisé pour les citrouilles, lumières clignotantes, broche A4 serviront à définir les ampoule de scintillement et la broche A5 sera utilisé pour commander un relais qui va couper le fond sonore et raccorder le blindage de la vague à une paire d’enceintes. C’est alors que tout le monde se concentrera sur le main event de l’affichage de l’Halloween.

Télécharger le fichier audio sur une carte sd et téléchargez le croquis à l’arduino.

CROQUIS

Créé par Greg Spiridakos 2011 / /

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

Carte de AF_Wave ;
Fichier f ;
Wavefile vague ;      seul !

#define redled 9

uint16_t taux d’échantillonnage ;

void setup() {}

Serial.Begin(9600) ;           mettre en place une bibliothèque série à 9600 bps
Serial.println ("vague test!") ;

pinMode (sortie 2) ;  utilisé par plaque d’insonorisation
pinMode (3, sortie) ;  utilisé par plaque d’insonorisation
pinMode (sortie 4) ;  utilisé par plaque d’insonorisation
pinMode (5, sortie) ;  utilisé par plaque d’insonorisation
pinMode (6, sortie) ;  conduit de lumière
pinMode (7, sortie) ;  conduit de lumière
pinMode (sortie 8) ;  conduit de lumière
pinMode (sortie 9) ;  conduit de lumière
pinMode (A0, sortie) ; conduit de lumière
pinMode (A1, sortie) ; conduit de lumière
pinMode (A2, sortie) ; conduit de lumière
pinMode (A3, sortie) ; conduit de lumière
pinMode (A4, sortie) ; scintillement ampoule ensemble
pinMode (A5, sortie) ; auido commuter les relais

pinMode (redled, sortie) ;

Si (! card.init_card()) {}
putstring_nl ("carte init. a échoué!") ; retour ;
}
Si (! card.open_partition()) {}
putstring_nl ("aucune partition!") ; retour ;
}
Si (! card.open_filesys()) {}
putstring_nl ("Impossible d’ouvrir filesys") ; retour ;
}

Si (! card.open_rootdir()) {}
putstring_nl ("Impossible d’ouvrir dir") ; retour ;
}

putstring_nl ("fichiers trouvés:") ;
ls() ;
}

ls() Sub {}
nom char [13] ;
int ret ;

Card.reset_dir() ;
putstring_nl ("fichiers trouvés:") ;
tandis que (1) {}
RET = card.get_next_name_in_dir(name) ;
Si (! ret) {}
Card.reset_dir() ;
retour ;
}
Serial.println(Name) ;
}
}

uint8_t tracknum = 0 ;

void loop() {}

uint8_t i, r ;
nom c, Char [15] ;

Card.reset_dir() ;
Faites défiler les fichiers dans le répertoire
pour (i = 0; i < tracknum + 1; i ++) {}
r = card.get_next_name_in_dir(name) ;
Si (! r) {}
manqué de pistes ! recommencer
tracknum = 0 ;
retour ;
}
}
putstring ("\n\rPlaying") ; Serial.Print(Name) ;
réinitialiser le répertoire, alors nous pouvons trouver le fichier
Card.reset_dir() ;
playcomplete(Name) ;
tracknum ++ ;
}

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

playfile(Name) ;
taux d’échantillonnage = wave.dwSamplesPerSec ;
alors que {(wave.isplaying)
vous pouvez faire des choses ici !
Delay(500) ;
}
Card.close_file(f) ;
}

void playfile(char *name) {}
f = card.open_file(name) ;
Si (! f) {}
putstring_nl ("Impossible d’ouvrir le fichier") ; retour ;
}
Si (! wave.create(f)) {}
putstring_nl ("pas un valide" WAV") ; retour ;
}
OK le temps de jouer !
Wave.Play() ;




{/ / ce groupe anime les leds

digitalWrite(A5,HIGH) ;    ce sera son tour relais audio sur la musique de fond du commutateur à sheild audio haut-parleurs de partage


Delay(14500) ;     Cela retardera la LED après que l’audio a commencé en millisecondes
1000 millisecondes = 1 seconde
retard de 14,5 sec du début
cycle 1
digitalWrite(6,HIGH) ;     //
digitalWrite(7,HIGH) ;     //
digitalWrite(8,HIGH) ;     //
digitalWrite(9,HIGH) ;     tout sur
digitalWrite(A0,HIGH) ;    //
digitalWrite(A1,HIGH) ;    //
digitalWrite(A2,HIGH) ;    //
digitalWrite(A3,HIGH) ;    //
Delay(23000) ;             retarder la sec 23,0

cycle 2
digitalWrite(6,LOW) ;      //
digitalWrite(7,LOW) ;      //
digitalWrite(A0,LOW) ;     tout éteint
digitalWrite(A1,LOW) ;     //
digitalWrite(A2,LOW) ;     //
digitalWrite(A3,LOW) ;     //
Delay(5100) ;              retarder 5,1 sec


cycle 3
digitalWrite(8,LOW) ;      8 arrêt
Delay(5700) ;              retarder les 5,7 sec


cycle 4
digitalWrite (9, faible) ;     9 off
digitalWrite (7, HIGH) ;    7 sur
Delay(5000) ;              retarder le délai total 5 sec du début


cycle 5
digitalWrite(6,HIGH) ;     //
digitalWrite(7,HIGH) ;     //
digitalWrite(8,HIGH) ;     tout sur
digitalWrite(9,HIGH) ;     //
digitalWrite(A0,HIGH) ;    //
digitalWrite(A1,HIGH) ;    //
digitalWrite(A2,HIGH) ;    //
digitalWrite(A3,HIGH) ;    //
Delay(6300) ;              retarder les 6,3 sec


cycle 6
digitalWrite(6,LOW) ;      //
digitalWrite(7,LOW) ;      //
digitalWrite(8,LOW) ;      //
digitalWrite(9,LOW) ;      tout éteint
digitalWrite(A0,LOW) ;     //
digitalWrite(A1,LOW) ;     //
digitalWrite(A2,LOW) ;     //
digitalWrite(A3,LOW) ;     //
Delay(1100) ;              retarder 1,1 s


cycle 7
digitalWrite(8,HIGH) ;     8 sur
digitalWrite(9,HIGH) ;     9 sur
Delay(6000) ;              retarder les 6sec



cycle 8
digitalWrite(8,LOW) ;      8 arrêt
digitalWrite(9,LOW) ;      9 off
digitalWrite(A0,HIGH) ;    A0 sur
Delay(5000) ;              retard de 5 secondes


cycle 9
digitalWrite(A0,LOW) ;     A0 hors
digitalWrite(7,HIGH) ;     7 sur
Delay(6000) ;              retarder les 6sec

cycle 10
digitalWrite(6,HIGH) ;     //
digitalWrite(7,HIGH) ;     //
digitalWrite(8,HIGH) ;     //
digitalWrite(9,HIGH) ;     tout sur
digitalWrite(A0,HIGH) ;    //
digitalWrite(A1,HIGH) ;    //
digitalWrite(A2,HIGH) ;    //
digitalWrite(A3,HIGH) ;    //
Delay(1000) ;              retard de 1 sec


cycle 11
digitalWrite(6,LOW) ;      //
digitalWrite(7,LOW) ;      //
digitalWrite(8,LOW) ;      tous sauf A0 hors
digitalWrite(9,LOW) ;      //
digitalWrite(A0,HIGH) ;    //
digitalWrite(A1,LOW) ;     //
digitalWrite(A2,LOW) ;     //
digitalWrite(A3,LOW) ;     //
Delay(100) ;              retard de 1 sec


cycle 12
digitalWrite(A0,LOW) ;     A0 hors
digitalWrite(A1,HIGH) ;    A1 sur
Delay(1000) ;               retard de 1 sec


cycle de 13
digitalWrite(A1,LOW) ;     A1 au large
digitalWrite(7,HIGH) ;     7 sur
Delay(1000) ;              retard de 1 sec

cycle 14
digitalWrite(A1,HIGH) ;    A1 sur
Delay(1000) ;              retard de 1 sec

cycle de 15
digitalWrite(A1,LOW) ;     A1 au large
digitalWrite(8,HIGH) ;     8 sur
digitalWrite(9,HIGH) ;     9 sur
Delay(8000) ;              retarder les 8sec


cycle 16
digitalWrite(7,HIGH) ;     7 sur
Delay(3000) ;              retard de 3 sec


cycle de 17
digitalWrite(6,HIGH) ;     //
digitalWrite(7,LOW) ;      //
digitalWrite(8,HIGH) ;     tout sauf 7 sur
digitalWrite(9,HIGH) ;     //
digitalWrite(A0,HIGH) ;    //
digitalWrite(A1,HIGH) ;    //
digitalWrite(A2,HIGH) ;    //
digitalWrite(A3,HIGH) ;    //
Delay(2000) ;              retard de 2 sec


cycle 18
digitalWrite(6,LOW) ;      //
digitalWrite(7,LOW) ;      //
digitalWrite(8,LOW) ;      tous sauf 9 off
digitalWrite(9,HIGH) ;     //
digitalWrite(A0,LOW) ;     //
digitalWrite(A1,LOW) ;     //
digitalWrite(A2,LOW) ;     //
digitalWrite(A3,LOW) ;     //
Delay(2000) ;              retard de 2 sec


cycle 19
digitalWrite(6,LOW) ;      //
digitalWrite(7,LOW) ;      //
digitalWrite(8,LOW) ;      tous sauf A2 hors
digitalWrite(9,LOW) ;      //
digitalWrite(A0,LOW) ;     //
digitalWrite(A1,LOW) ;     //
digitalWrite(A2,HIGH) ;    //
digitalWrite(A3,LOW) ;     //
Delay(1000) ;              1sec Delisle


cycle de 20
digitalWrite(A2,LOW) ;     A2 hors
digitalWrite(A3,HIGH) ;    A3 sur
Delay(3000) ;              retard de 3 sec


cycle de 21
digitalWrite(A3,LOW) ;     A3 off
digitalWrite(A0,HIGH) ;    A0 sur
Delay(2500) ;              retarder 2,5 sec

cycle de 22
digitalWrite(A0,LOW) ;     A0 hors
digitalWrite(A3,HIGH) ;    A3 sur
Delay(3000) ;              retard de 3 sec

cycle 23
digitalWrite(A3,LOW) ;     A3 off
digitalWrite(7,HIGH) ;     7 sur
Delay(5500) ;              retarder 5,5 s

cycle 24
digitalWrite(6,HIGH) ;     //
digitalWrite(7,HIGH) ;     //
digitalWrite(8,HIGH) ;     tout sur
digitalWrite(9,HIGH) ;     //
digitalWrite(A0,HIGH) ;    //
digitalWrite(A1,HIGH) ;    //
digitalWrite(A2,HIGH) ;    //
digitalWrite(A3,HIGH) ;    //
Delay(6000) ;              retarder les 6sec


cycle de 25
digitalWrite(8,HIGH) ;     8 sur
Delay(1000) ;              retard de 1 sec

cycle 26
digitalWrite(8,LOW) ;      8 arrêt
digitalWrite(9,HIGH) ;     9 sur
Delay(7500) ;              retarder 7,5 sec


cycle 27
digitalWrite(6,HIGH) ;     6 sur
Delay(1000) ;              retard de 1 sec

cycle de 28
digitalWrite(7,LOW) ;      7 sur
digitalWrite(A1,HIGH) ;    A1 sur
Delay(2000) ;              retard de 2 sec

cycle de 29
digitalWrite(7,HIGH) ;     7 sur
Delay(3500) ;              retarder les 3,5 sec

cycle 30
digitalWrite(A1,LOW) ;     A1 au large
digitalWrite(7,LOW) ;      7 off
digitalWrite(A0,HIGH) ;    A0 sur
Delay(3000) ;              retard de 3 sec


cycle de 31
digitalWrite(A1,HIGH) ;    A1 sur
Delay(3000) ;              retard de 3 sec

cycle de 32
digitalWrite(A0,LOW) ;     A0 hors
Delay(2500) ;              retarder 2,5 sec

cycle 33
digitalWrite(8,HIGH) ;     8 sur
digitalWrite(9,HIGH) ;     9 sur
Delay(3500) ;              retarder les 3,5 sec

cycle de 34
digitalWrite(7,HIGH) ;     7 sur
Delay(1000) ;              retard de 1 sec

cycle de 35
digitalWrite(A0,HIGH) ;    A0 sur
digitalWrite(A1,HIGH) ;    A1 sur
digitalWrite(A2,HIGH) ;    A2 sur
digitalWrite(A3,HIGH) ;    A3 sur
Delay(17500) ;             retarder 17,5 sec


cycle de 36
digitalWrite(8,HIGH) ;     8 sur
digitalWrite(9,HIGH) ;     9 sur
Delay(6500) ;              retard de 6,5 s


cycle de 37
digitalWrite(6,HIGH) ;     //
digitalWrite(7,HIGH) ;     //
digitalWrite(8,HIGH) ;     //
digitalWrite(9,HIGH) ;     //
digitalWrite(A0,HIGH) ;    tout sur
digitalWrite(A1,HIGH) ;    //
digitalWrite(A2,HIGH) ;    //
digitalWrite(A3,HIGH) ;    //
Delay(10000) ;             retarder les 10sec






cycle de 38
digitalWrite(6,LOW) ;      6 off
digitalWrite(7,LOW) ;      7 off
digitalWrite(8,LOW) ;      8 arrêt
digitalWrite(9,LOW) ;      9 off
digitalWrite(A0,LOW) ;     A0 hors
digitalWrite(A1,LOW) ;     A1 au large
digitalWrite(A2,LOW) ;     A2 hors
digitalWrite(A3,LOW) ;     A3 off
Delay(100) ;               retard de 1 sec

cycle de 39
commence à clignoter au hasard
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) ; le délai entre la chanson et du papillotement délai de bulbes en ms
stand de mode qui se met en marche les ampoules de scintillement


digitalWrite (A4, élevé) ; ampoules de scintillement sur
Delay(200) ; retarder jusqu'à ce que l’audio est passé de bouclier audio pour musique de fond
digitalWrite (A5, faible) ; déconnecte les relais du bouclier audio pour musique de fond


Delay(600000) ; retarder jusqu'à ce que le scintillement ampoules éteindre et commence la chanson et le spectacle de lumière (600000ms = 10 min de retard)
1000ms = 1 s, 600000ms = 10 min

digitalWrite (A4, faible) ; Tour à tour des ampoules de scintillement

}}

Articles Liés

Interactive citrouille d’Halloween (Arduino basé)

Interactive citrouille d’Halloween (Arduino basé)

L'IDÉEUne citrouille qui brille, secoue et hurle... [vidéo]C'est l'Halloween, alors, naturellement, que nous devions avoir un projet lié à cela.L'idée est d'avoir une citrouille, qui détecte la présence d'une personne essayant d'obtenir pour les bonb
R2D2 Xwing citrouille avec un Arduino

R2D2 Xwing citrouille avec un Arduino

Il s'agit d'une inscription au concours, s'il vous plaît votez pour moi ! Cliquez sur le ruban supérieur orange en haut à droite de cette page. = DComment faire un mouvement animatronics R2D2 citrouille dans un X-Wing. Lumière fournie par une ampoule
Méchante sorcière citrouille lanterne personnel

Méchante sorcière citrouille lanterne personnel

Citrouilles font une grande décoration pour l'extérieur et l'intérieur des maisons, ainsi que les jardins à l'Halloween. Pourquoi ne pas prendre le long de votre citrouille sculptée avec créativité autour avec vous le jour d'Halloween ! Et voici comm
Les citrouilles Illusion bricolage guide chant

Les citrouilles Illusion bricolage guide chant

En 2001, Disneyland a lasuperposition de vacances élaboréeNightmare Before Christmas à leur attraction Haunted Mansion. Dans la section normalement avec les statues de le buste bien-aimé chantant "Grim Grinning Ghosts", ils sont affichés avec ch
Boîtier de relais chant citrouilles/Parallel Port

Boîtier de relais chant citrouilles/Parallel Port

ce Instructable vous montrera comment créer une boîte de relais de port parallèle qui serviront à conduire une plate-forme de chant citrouille Halloween. La plate-forme de chant citrouille est essentiellement un spectacle de lumière et de la musique
Patch de citrouille d’Halloween IOT

Patch de citrouille d’Halloween IOT

Objectif : Lorsque enfants s'approchent de la maison du Patch de citrouille prend vie fournissant un environnement interactif basé sur le mouvement et la détection des sons.Étape 1: Couche de ServiceÉtape 2: Flux de travailQuand le mouvement est déte
Testeur de batterie Arduino

Testeur de batterie Arduino

Mon nom est Will Yoder et je suis une personne âgée à l'état de Caroline du Nord. C'est mon projet final pour 359 TDE, qui est de l'électronique à la North Carolina State University. Pour ce projet, que nous étions censés prendre un projet Arduino ex
Track-O-lanterne !

Track-O-lanterne !

Le Track-O-Lantern est basé sur l'Instructable fait par DIYHacksAndHowTos.  Merci de voter pour eux pour le concours Halloween accessoires, sans leur Instructable, que celui-ci ne serait pas ici.  J'ai utilisé leur code et le circuit à une exception
Seau de bricolage extérieur Protection imperméable pour projecteur

Seau de bricolage extérieur Protection imperméable pour projecteur

Un des moyens plus créatifs pour décorer votre maison pour les vacances ou événement spécial consiste à utiliser la vidéo mapping à utiliser votre projecteur pour projeter des images ou vidéo vers votre maison. J'ai récemment reçu dans cette idée l'a
Animatronic chant citrouilles

Animatronic chant citrouilles

il s'agissait d'une idée à l'origine d'un ami, que j'ai cogné à un niveau supérieur.  L'objectif est de créer chant / prenant citrouilles grâce à l'utilisation d'un Arduino et Vixen.  Nous allons utiliser le « générique » port d'aligner ces deux reso
Arduino alimenté Haunted Mansion chant bustes

Arduino alimenté Haunted Mansion chant bustes

l'année dernière j'ai voulu mettre sur pied une exposition Halloween émulant mon preferé Disneyland/monde de tous les temps. Initialement, cela allait juste à quatre têtes sur une table avec la "Grim Grinning Ghosts" de Haunted Mansion jouant su
Arduino alimenté citrouille d’Halloween avec détection de mouvement

Arduino alimenté citrouille d’Halloween avec détection de mouvement

SalutCet Instructable va vous montrer comment faire certains Halloween décorations dont arduino alimenté citrouille d'Halloween avec détection de mouvement.Étape 1: Faire la citrouille d'Halloween Matériaux :Ballon rondVieux journauxFarine lisseEauTe
Usine de chant. Faire votre usine à chanter avec Arduino, touche et un gameduino

Usine de chant. Faire votre usine à chanter avec Arduino, touche et un gameduino

ce projet fait partie des expériences réalisées tout en faisant un artiste en résidence à Instructables. Vous pouvez voir les autres projets ici.Faisant une usine à chanter depuis un truc le Theremin a été inventé. Ici je vais vous apprendre comment
Chant de citrouilles, hologramme Ghost Face & plus !

Chant de citrouilles, hologramme Ghost Face & plus !

En raison du volume élevé de demandes que je reçois pour Chant citrouilles effet spécial, j'ai fait une Instructable pour eux ici :Décorations, que j'ai créé dans la Cour de mon immeuble pour Halloween avec un hologramme original ghost visage et chan