Metall Doctor Who Sonic skruvmejsel med Arduino (9 / 13 steg)
Steg 9: Arduino skiss
http://HLT.Media.MIT.edu/?p=1695
Bifogat är Arduino skiss jag brukade göra ljud och ljus. Känn dig fri att ändra skissen så får du pitch och modulering du vill liksom blink mönstret du vill. I skissen använde jag två (2) utgångsstift för att styra två lysdioder.
Jag använde en Arduino Uno för att programmera ATTiny85. Följ länkarna ovan för att ta reda på hur man programmerar en ATTiny85 som en Arduino mikrokontroller.
Jag satt upp två brödunderläggen. ett bakbord är att programmera chip. den andra bakbord är att testa programmet.
Koden bygger på exempelkod-
skapad 21 Jan 2010, uppdaterad 30 augusti 2011, av Tom Igoe
(Jag ger kredit äras bör. Om med min kod, gör samma sak)
Här är Tonen handledning i Arduino
skissen ser ut så här:
/*
* Sonic skruvmejsel
* Versionshistorik
*
* Version 2.5 M
* För ATTiny85 16Mhz
*/
#include "pitches.h"
int melodi [] = {
NOTE_F7, NOTE_G4, NOTE_A2};
int noteDurations [] = {
9,12,7}.
int x = 0;
int led1 = 3;
int led2 = 2;
void setup() {
pinMode (led1, produktionen);
pinMode (led2, produktionen);
}
void loop() {
om (x < 5) {
digitalWrite (led1, hög);
digitalWrite (led2, låg);
x = x ++;
}
annars om (x < 7) {
digitalWrite (led1, hög);
digitalWrite (led2, hög);
x = x ++;
}
annars om (x < 9) {
digitalWrite (led1, låg);
digitalWrite (led2, hög);
x = x ++;
}
annat {
x = 0;
}
för (int thisNote = 0; thisNote < 3; thisNote ++) {
int noteDuration = 1000/noteDurations [thisNote];
tonen (4, melody[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration *. 14.
Delay(pauseBetweenNotes);
noTone(4);
}
}
På nästa kommer att steg titta på koden ovan mer i detalj.