Shaun de luidruchtige schapen (5 / 8 stap)

Stap 5: Code


De volgende stap is het toevoegen van de code aan de Arduino micro-controller.
Als u niet over de Arduino software of IDE beschikt kunt u het downloaden op Arduino.cc
Je Arduino aansluit op uw computer en maak een nieuw project in de Arduino IDE.
Plak de volgende code in en uploaden naar de Arduino.

Schapen deurbel / / mei 2011 door Todd Miller op basis van Adafruit voorbeeldcode / / een geluidssignaal als sensor wordt geactiveerd, in dit geval schapen gebruikt 7 baaing
klinkt en pakt een willekeurig / / delen omvatten Arduino Uno, WAV Shield, kleine 8 ohm luidspreker en Sharp
GP2Y0A02 afstandssensor / / om te worden gemonteerd in een Shaun The Sheep uit Wallace & Gromet
#include < AF_Wave.h > #include < avr/pgmspace.h > #include "util.h" #include "wave.h" AF_Wave kaart;
Bestand f; WAVEFILE Golf; slechts één! uint8_t tracknum = 0; uint16_t samplerate;
#define sensorIn 0 int songCount = 7; int een [5]; int de resultaten;
int i = 0; int maxDist = 0; int sensorRead = 0; int fr = 0; lange previousMillis = 0; lange interval = 3000;
void setup {Serial.begin(9600); randomSeed(analogRead(1)); Serial.println ("Wave test!"); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT); pinMode (sensorIn, INPUT); Als (! card.init_card()) {}
instellen van seriële bibliotheek 9600 bps
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();
voor (ik = 0; ik < 5; i ++) {/ / max afstand krijgen voor vergelijking later / / maxDist += analogRead(5);
een [i] += analogRead(sensorIn); } insertionSort(a,5); ls();
}
void loop {readSensor(); uint8_t i, r char c, naam [15]; unsigned long currentMillis = millis();
Als (sensorRead > (maxDist + 20) & & (currentMillis - previousMillis > interval)) {previousMillis = currentMillis; Serial.println(maxDist-25); int songNumber = random(songCount);
Serial.Print ("Playing track #"); Serial.Print(songNumber); Serial.Print(""); Serial.println(name); switch(songNumber)
{geval 0: playcomplete ("BAA1. WAV"); breken; geval 1: playcomplete ("BAA2. WAV"); breken; geval 2: playcomplete ("BAA3. WAV"); breken; Case 3: playcomplete ("BAA4. WAV"); breken;
geval 4: playcomplete ("BAA5. WAV");
}
}
breken; Case 5:
playcomplete ("BAA6. WAV"); breken;
kast 6: playcomplete ("BAA7. WAV"); breken;
} sensorRead = 0;
} card.reset_dir();
ongeldig playcomplete(char *name) {uint16_t potval; uint32_t newsamplerate; playfile(name);
samplerate = wave.dwSamplesPerSec; terwijl (wave.isplaying) {}
kan je hier spullen! delay(50);
} card.close_file(f);
ongeldig playfile(char *name) {f = card.open_file(name); if (! 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();
} readSensor() {} ongeldig
for (int i = 0; ik < 5; i ++) {a[i]=analogRead(sensorIn);
}
insertionSort(a,5); Serial.Print ("max dis ="); Serial.println(maxDist); Serial.Print ("---laatste sensor waarde =");
}
Serial.Print(sensorRead); Serial.println("---");
VOID insertionSort (int arr [], int lengte) {int int j; int tmp;
voor (ik = 1; ik < lengte; i ++) {j = i;
terwijl (j > 0 & & arr [j - 1] > arr[j]) {tmp = arr [j];
}
}
ARR [j] = arr [j - 1]; ARR [j - 1] = tmp;
j--;
} / / matrix gesorteerd, nu verliezen lage en hoge waarden voor betere gemiddelde een [0] = 0; een [4] = 0; voor (ik = 0; ik < 5; i ++) {resultaten = resultaten + een [i];} resultaten / = 3; delen door 3 als 1 en 5 = 0 plaatsen als (fr == 0) {maxDist resultaten; = fr = 1;} anders sensorRead = resultaten; resultaten = 0; }
VOID 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);
}

Gerelateerde Artikelen

Het konijn hel

Het konijn hel

Deze Bunny maakte een tijdje geleden voor een klasse Physical Computing. Triggers beweging met een PIR-sensor zich in de neus, en vervolgens willekeurig selecteert en speelt een zeer luid griezelig geluid. Terwijl het geluid wordt afgespeeld, the Rab
Goedkope dom kerst schapen

Goedkope dom kerst schapen

Een warme knuffels gevoel, bont voor een open haard, geen kerst zonder schapen. Schapen, kudde, lam, men vraagt zich af waarom schapen worden niet meer gebruikt als symbool van Kerstmis. Dus maak jezelf een schaap voor deze Kerstmis of huisdecoratie
DIY schattige kleine schapen...

DIY schattige kleine schapen...

Hallo iedereenIk ben goldenlibyan, ik hou van knutselen & versieren zoveel & ik heb zo veel ideeën om te delen... Dit is mijn kleine shaun het schaap: P en mijn eerste instructable.zijn zo gemakkelijk en leuk om te maken en het ziet er zo schattig
Hoe leg een knoopje van de schenkel schapen

Hoe leg een knoopje van de schenkel schapen

deze knoop wordt vaak gebruikt voor het stoppen van een touw van magnetisch uitlijnen wanneer er een strijd is. Deze knoop blijft alleen wanneer het touw aan beide zijden wordt getrokken.Stap 1: Eerst van, maken een van ' met het touw ervoor te zorge
Positiebepaling & repareren uw luidruchtige & ruwe boor Machines

Positiebepaling & repareren uw luidruchtige & ruwe boor Machines

IntroductieHallo iedereen in dit instructable zal ik u laten hoe fix & reparatie van uw luidruchtige & ruwe boor machinesElke machine moet reviseren als genegeerd dan heeft dit voor de bewegende deel gevolgen te slijten als gevolg van verschillend
Grote hoorn schapen van klok onderdelen

Grote hoorn schapen van klok onderdelen

dit alles begon toen ik was het graven door een zak van geaccumuleerde klok delen de andere dag op zoek naar een kleine schroef.  Ik toevallig op een paar kleine klok frames, en plotseling ik zat te denken, "Big Horn Sheep!"Stap 1: De zak van on
Gerecycleerd schroot metaal schapen / / Mark II

Gerecycleerd schroot metaal schapen / / Mark II

Na al hebben mad een kladje schaap afgelopen zomer, en met alle positieve reacties ontvangen als gevolg van het, besloten heb ik om een nieuwe afspraak maken! Ditmaal nam ik foto's het hele proces van het maken. Ik hoop dat het u bevalt!Stap 1: Stap
Floofy Pom-Pom schapen

Floofy Pom-Pom schapen

deze gezellige, neen-naai schapen heeft haakwerk ledematen en hoofd en een pom-pom lichaam.Stap 1: Je nodig hebt... Twee kleuren van garen - een voor de hoofdtekst en een voor de aanhangselsEen pom-pom maker (degene die ik gebruikt was fancy en draai
Hoe maak je een suiker plakken Icing Fondant schapen taart Topper

Hoe maak je een suiker plakken Icing Fondant schapen taart Topper

Suiker plakken schapen taart Topper voor het versieren van de taart.Stap 1: Bekijk de video voor deze tutorial:https://www.YouTube.com/watch?v=V02v31E29aoStap 2: Bezoek onze website voor meer recepten en video 'swww.happyfoodstube.comwww.YouTube.com/
Schapen sterven

Schapen sterven

dit instructable is op sterven verschillende kleur van de schapen.Stap 1: Bouw van de Pen Eerst en vooral moet u een pen voor de schapen.Stap 2: Plaats de schapen Tweede moet u de schapen elke grootte zal doenStap 3: sterven De schapen kleurstof door
Hoe kleur schapen op MC

Hoe kleur schapen op MC

mijn eerste onverwoestbaar!Stap 1: De objecten zoeken Dus eerst de objecten die u wilt aanbrengen kleurstof vinden. In mijn geval ben ik het maken van gele kleurstof.Stap 2: De schapen Moet u nu een sheep(s) vinden.Stap 3: kleurstof Nu maken uw gekle
How To Get gekleurd schapen op Minecraft!

How To Get gekleurd schapen op Minecraft!

Bent u ziek van al die saaie witte schapen? We zullen deze handleiding volgen en die zullen niet meer!Stap 1: Benodigdheden Dit zal werken op creatieve of overleven maar ik deed het op creatieve. U moet:Kleurstof (laparas zal werken als een kleurstof
De nieuwsgierig USB-schapen

De nieuwsgierig USB-schapen

ik maakte deze kleine USB-schapen als een cadeau voor mijn vriendin. Het is gemakkelijk om te bouwen en ziet er erg schattig wanneer opknoping van een desktop of laptop USB-sleuf. Het zal zeker verhogen wat aandacht in uw kantoor.--------------------
Communiceren met shaun cassidy

Communiceren met shaun cassidy

shaun cassidy is net als de koning van u, volgens wikipedia. Toch maakt hij tijd in zijn hectische schema om mensen te helpen. Wij allen zoeken-out en overleg plegen met shaun eenmaal in tijdje. bijvoorbeeld, ik ben op mijn 4e vrouw en ik wil advies