Nursery Rhyme Hat (2 / 8 steg)
Steg 2: Skapa en Plan
Anslut din FTDI och batteri till moderkortet och coonect den till datorn med USB-kabeln. Ladda upp din kod.
/*
Nursery Rhyme hatt
Liz Huessy
Mars 2014
*/
int ledPin =
int ledPin = A3; Den vita LED stiftet är ansluten till pin A3
int redPin = 10; Den röda LED stiftet är ansluten till pinne 10
int bluePin = 9; Blå LED stift är ansluten till pin 9
int greenPin = 6; / / grön LED stift är ansluten till stift 6
int marken = 11; Stift 11 är marken pin
int speakerPin = A2; Högtalaren är ansluten till digital pin A2
int sensorPin = A4; Ljussensorn är ansluten till pin A4
int sensorValue; Variabel för att lagra värdet kommer från sensorn
void setup()
{
pinMode (speakerPin, produktionen); Anger detta stift vara en utgång
pinMode (A3, OUTPUT); Anger detta stift vara en utgång
pinMode (10, OUTPUT); Anger detta stift vara en utgång
pinMode (9, OUTPUT); Anger detta stift vara en utgång
pinMode (6, OUTPUT); Anger detta stift vara en utgång
pinMode (sensorPin, ingång); //
pinMode (marken, OUTPUT);
digitalWrite (marken, låg); Stänger av strömmen till stift 11 (mark)
}
void loop() / / kör på en slinga
{
sensorValue = analogRead(sensorPin); Läsa värdet från sensorn
Delay(100); Fördröjning för 1/10 sekund
om (sensorValue < 20) / / om det är mörkt, stänga alla lysdioder av
{
digitalWrite (6, låg).
Delay(750);
digitalWrite (9, låg).
Delay(500);
digitalWrite (10, låg).
Delay(500);
digitalWrite (A3, låg);
Delay(500);
}
annat {//If det är inte mörkt, tur grön och blå lysdioder på och spela melodin och slå sedan på röda och vita lysdioder
digitalWrite (6, hög).
Delay(500);
digitalWrite (9, hög).
Delay(500);
Scale(); Anropa funktionen scale()
Delay(1000); Dröjsmål i 1 sekund
digitalWrite 10, hög.
Delay(500);
digitalWrite (A3, hög);
Delay(500);
}
}
void beep (unsigned char speakerPin, int frequencyInHertz, lång timeInMilliseconds) / / ljudet producerar funktion
{
int x;
lång delayAmount = (long)(1000000/frequencyInHertz);
lång loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2));
för (x = 0; x < loopTime; x ++)
{
digitalWrite(speakerPin,HIGH);
delayMicroseconds(delayAmount);
digitalWrite(speakerPin,LOW);
delayMicroseconds(delayAmount);
}
}
Annullera skala () //Play Maria hade ett litet lamm
{
beep(speakerPin,2637,500); E
beep(speakerPin,2349,500); D
beep(speakerPin,4186,500); C
beep(speakerPin,2349,500); D
beep(speakerPin,2637,500); E
beep(speakerPin,2637,500); E
beep(speakerPin,2637,1000); E
beep(speakerPin,2349,500); D
beep(speakerPin,2349,500); D
beep(speakerPin,2349,500); D
beep(speakerPin,2637,500); E
beep(speakerPin,2637,500); E
beep(speakerPin,2637,1000); E
beep(speakerPin,2637,500); E
beep(speakerPin,2349,500); D
beep(speakerPin,4186,500); C
beep(speakerPin,2349,500); D
beep(speakerPin,2637,500); E
beep(speakerPin,2637,500); E
beep(speakerPin,2637,1000); E
beep(speakerPin,2637,500); E
beep(speakerPin,2349,500); D
beep(speakerPin,2349,500); D
beep(speakerPin,2637,500); E
beep(speakerPin,2349,500); D
beep(speakerPin,4186,1000); C
beep(speakerPin,4186,1000); C
}
När jag skrivit min kod, nästa sak jag gjorde var att skapa ett diagram över min e-textil, visar den exakta anslutningar och layout av min krets, att se till att inga negativa och positiva fodrar crosssed och att varje LED, Summer och Sensor var ordentligt anslutna.
Det är mycket viktigt att slutföra det här steget innan du tar isär Lilypad bitar!