Shaun le mouton bruyant (5 / 8 étapes)

Étape 5: Code


L’étape suivante consiste à ajouter le code à votre microcontrôleur Arduino.
Si vous n’avez pas le logiciel Arduino ou IDE vous pouvez le télécharger sur Arduino.cc
Branchez votre Arduino sur votre ordinateur et créez un nouveau projet dans l’IDE Arduino.
Collez le code suivant dans et transférez-le sur l’Arduino.

Sonnette de mouton / / mai 2011 par Todd Miller basé sur le code d’exemple Adafruit / / émet un son lorsque le capteur est déclenché, dans ce cas mouton bêlements utilise 7
sonne et on choisit au hasard / / pièces incluent Arduino Uno, WAV bouclier, Président petit 8 ohms et Sharp
Capteur de distance GP2Y0A02 / / pour être montés à l’intérieur d’un Shaun The Sheep Wallace & Gromet
#include < AF_Wave.h > #include < avr/pgmspace.h > #include « util.h » #include « wave.h » AF_Wave carte ;
Fichier f ; Wavefile vague ; seul ! uint8_t tracknum = 0 ; uint16_t taux d’échantillonnage ;
#define sensorIn 0 int songCount = 7 ; int a [5] ; résultats int ;
int i = 0 ; int maxDist = 0 ; int sensorRead = 0 ; int fr = 0 ; long previousMillis = 0 ; intervalle long = 3000 ;
void setup() {Serial.begin(9600) ; randomSeed(analogRead(1)) ; Serial.println ("vague test!") ; pinMode (sortie 2) ; pinMode (3, sortie) ; pinMode (sortie 4) ; pinMode (5, sortie) ; pinMode (sensorIn, entrée) ; Si (! card.init_card()) {}
mettre en place une bibliothèque série à 9600 bps
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() ;
pour (i = 0; j’ai < 5; i ++) {/ / obtenir la distance max pour la comparaison plus tard / / maxDist += analogRead(5) ;
un [i] += analogRead(sensorIn) ; } insertionSort(a,5) ; ls() ;
}
void loop() {readSensor() ; uint8_t i, r; c char nom [15]; unsigned long currentMillis = millis() ;
Si (sensorRead > (maxDist + 20) & & (currentMillis - previousMillis > interval)) {previousMillis = currentMillis ; Serial.println(maxDist-25) ; int songNumber = random(songCount) ;
Serial.Print ("jeu track #") ; Serial.Print(songNumber) ; Serial.Print("") ; Serial.println(Name) ; Switch(songNumber)
{case 0: playcomplete ("BAA1. « « « WAV ») ; rupture ; cas 1: playcomplete ("BAA2. « « « WAV ») ; rupture ; cas 2: playcomplete ("BAA3. « « « WAV ») ; rupture ; case 3: playcomplete ("BAA4. « « « WAV ») ; rupture ;
case 4: playcomplete ("BAA5. « « « WAV ») ;
}
}
rupture ; cas no 5 :
playcomplete ("BAA6. « « « WAV ») ; rupture ;
case 6: playcomplete ("BAA7. « « « WAV ») ; rupture ;
} sensorRead = 0 ;
} card.reset_dir() ;
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(50) ;
} card.close_file(f) ;
void playfile(char *name) {f = card.open_file(name) ; if (! f) {}
putstring_nl ("Impossible d’ouvrir le fichier") ; retour ;
} Si (! wave.create(f)) {}
putstring_nl ("pas un valide" WAV") ; retour ;
} / / ok temps de jouer ! Wave.Play() ;
} void readSensor() {}
pour (int i = 0; i < 5; i ++) {a[i]=analogRead(sensorIn) ;
}
insertionSort(a,5) ; Serial.Print ("dis max =") ; Serial.println(maxDist) ; Serial.Print ("---valeur capteur final =") ;
}
Serial.Print(sensorRead) ; Serial.println("---") ;
Sub insertionSort (int arr [], int length) {int i, int j; int tmp ;
pour (i = 1; i < longueur; i ++) {j = i ;
tandis que (j > 0 & & arr [j - 1] > arr[j]) {tmp = arr [j] ;
}
}
arr [j] = arr [j - 1] ; arr [j - 1] = tmp ;
j--;
} / / Tableau trié, maintenant perdre les valeurs basse et haute pour la meilleure moyenne a [0] = 0 ; [4] = 0 ; pour (i = 0; i < 5; i ++) {résultats = résultats + un [i];} résultats / = 3 ; diviser par 3 comme places de 1 et 5 = 0 si (fr == 0) {maxDist = résultats; fr = 1;} else sensorRead = résultats ; résultats = 0 ; }
void ls() {char nom [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) ;
}

Articles Liés

Bon marché stupides moutons de Noël

Bon marché stupides moutons de Noël

Une chaude étreinte se sentant, fourrure devant une cheminée, pas Noël sans les moutons. Moutons, flock, agneau, on peut se demander pourquoi les moutons ne sont pas plus utilisés comme symbole de Noël. Alors vous vous sentirez un mouton pour ce Noël
DIY mignon petit mouton...

DIY mignon petit mouton...

Salut tout le mondeJe suis goldenlibyan, j'aime l'artisanat & décoration tellement & j'ai tant d'idées à partager... Il s'agit de mon petit shaun le mouton: P et mon premier instructable.son si facile et amusant à faire et il a l'air tellement mig
Le lapin d’enfer

Le lapin d’enfer

Ce lapin a été effectué il y a une classe Physical Computing. Il déclenche le mouvement avec un capteur infrarouge situé dans le nez, puis au hasard choisit et joue un très grand bruit effrayant. Lorsque le son joue, les yeux du lapin clignotent, pui
Amigurumi « Petit Timmy »

Amigurumi « Petit Timmy »

mon amour petit-fils âgé de presque 3 ans de la montre « Shaun the Sheep » et son spin-off « Timmy Time ».  Les deux programmes du Royaume-Uni et sont disponibles sur Netflicks.  Quand il est fatigué ou ne se sentant pas bien, il demandera pour Shaun
Faire des figures hors de votre corbeille - DIY

Faire des figures hors de votre corbeille - DIY

Hi,Celui-ci est sur le recyclage des petites pièces de mon vieux lecteur de CD ainsi que le petit truc qui doit être insérée dans le tube fluorescent-lumières de travailler... mon père appelle quelque chose comme « Dégustateurs ou démarreurs » je pen
ALIEN ABDUCTION NITE LITE

ALIEN ABDUCTION NITE LITE

si Mom aiment Articles de fantaisie, c'est quelque chose vous pouvez faire pour elle, que vous ne pouvez pas acheter au magasin - son propre Alien Abuduction Nite Lite avec un volant amovible (propulsé par fil crochet) vaisseau spatial !Tandis que Sh
Faire une Animation en Stop Motion - pour les débutants

Faire une Animation en Stop Motion - pour les débutants

Avez-vous déjà demandé comment ces films de Pixar sont faits ? Ou comment Aardman, avec Shaun le mouton et Wallace et Gromit ? Eh bien, vous êtes venu au bon endroit !Stop-motion a été la première forme d'animation, et il est encore utilisé très larg
Folle de Vibro pour animaux moutons

Folle de Vibro pour animaux moutons

Salut, dans cette instructable je vais vous apprendre comment faire un mouton robo qui est en fait si petit que vous pouvez porter n'importe où. Ce mouton est une sorte de vibro bot. Mais il a des caractéristiques étonnantes et est très mignon.Étape
Comment faire un noeud de queue de mouton

Comment faire un noeud de queue de mouton

ce noeud est souvent utilisé pour mettre fin à une corde d'accrochage lorsqu'il y a une mêlée. Ce noeud reste seulement lorsque la corde est tirée de chaque côté.Étape 1 : Tout d'abord, faire les ' avec la corde en vous assurant qu'il y a corde en su
Difficulté & réparer votre bruyant & rugueux des Machines de forage

Difficulté & réparer votre bruyant & rugueux des Machines de forage

IntroductionBonjour tout le monde dans ce instructable je vais montrer u comment réparer et réparer vos machines de forage bruyant et rugueuxChaque machine a besoin de remise en état si on l'ignore alors elle affectera sa partie mobile pour opprimer
Comment faire un mouton couleurs arc-en-ciel

Comment faire un mouton couleurs arc-en-ciel

Dans ce instructable, je vais vous montrer comment faire un mouton qui transforme toutes les couleurs de l'arc-en-ciel.Étape 1: fournitures1 (ou plusieurs) des moutons1 nom du Tag1 enclumecertains XPÉtape 2: Nommage le porte-étiquette Clic droit sur
Moutons mourir

Moutons mourir

cette instructable est sur la couleur différente de moutons en train de mourir.Etape 1: Construction de la plume Tout d'abord vous avez besoin d'un stylo pour les moutons.Étape 2: Placer les moutons Ensuite, vous devez les moutons n'importe quelle ta
L’USB-mouton curieux

L’USB-mouton curieux

j'ai fait ce petit mouton-USB comme un cadeau pour ma copine. Il est facile à construire et semble très mignon quand accroché à un slot usb portable ou de bureau. Certainement, il déclenchera une certaine attention dans votre bureau.-----------------
Coudre un chapeau de peau de mouton chaud

Coudre un chapeau de peau de mouton chaud

comme fabricant de démarrage personnalisée, je ne pouvais pas me résoudre à porter un chapeau en polyester au cours de la période des fêtes.  Après Noël l'année dernière, j'avais besoin d'un chapeau différent pour garder mes chaleureux d'oreilles qui