Arduino gecontroleerd knippert Fairy Kerstverlichting met Jingle Bells (10 / 12 stap)

Stap 10: Testen van de estafette

Je moet:

  • USB-kabel

We kunnen toevoegen in een tussenstap om ervoor te zorgen dat de Relay-Shield werkt.

  1. Haal de aansluiting van de frontluidsprekers aan het schild (dit is slechts tijdelijk, zodat we het Relais schakelen kan horen)
  2. De code uploaden naar je Arduino
  3. Druk op de knop op je breadboard.
  4. Je hoort de Relais klikt u op in- en uitschakelen (getoond in de video). U wellicht te wrikken van de pinnen verbinden met het Relais schild de Arduino een beetje totdat beide relais in- en uitschakelen klikken als alternatief.
  5. Zodra we weten dat dit is werken wij annuleerteken tampon naar de luidsprekers terug in.
 #define C 2100 #define D 1870 #define E 1670 #define f 1580 // Does not seem to like capital F #define G 1400 // Define a special note, 'R', to represent a rest #define R 0 // SETUP ============================================ // Set up speaker on a PWM pin (digital 9, 10 or 11) int speakerOut = 9; int green = 4; int red = 7; int buttonPin = 2; void setup() { pinMode(speakerOut, OUTPUT); pinMode(green, OUTPUT); pinMode(red, OUTPUT); pinMode(buttonPin, INPUT); digitalWrite(green, LOW); } // BUTTON // Variables will change: int on = LOW; // the current state of the output pin int buttonState; // the current reading from the input pin int lastButtonState = LOW; // the previous reading from the input pin // the following variables are long's because the time, measured in miliseconds, // will quickly become a bigger number than can be stored in an int. long lastDebounceTime = 0; // the last time the output pin was toggled long debounceDelay = 50; // the debounce time; increase if the output flickers // MELODY and TIMING ======================================= // melody[] is an array of notes, accompanied by beats[], // which sets each note's relative length (higher #, longer note) int melody[] = {E, E, E,R, E, E, E,R, E, G, C, D, E, R, f, f, f,f, f, E, E,E, E, D ,D,E, D, R, G ,R, E, E, E,R, E, E, E,R, E, G, C, D, E, R, f, f, f,f, f, E, E, E, G,G, f, D, C,R }; int MAX_COUNT = sizeof(melody) / 2; // Melody length, for looping. // Set overall tempo long tempo = 10000; // Set length of pause between notes int pause = 1000; // Loop variable to increase Rest length int rest_count = 30; // Initialize core variables int tone_ = 0; int beat = 0; long duration = 0; // PLAY TONE ============================================== // Pulse the speaker to play a tone for a particular duration void playTone(int colour) { long elapsed_time = 0; if (tone_ > 0) { // if this isn't a Rest beat, while the tone has digitalWrite(colour, HIGH); // played less long than 'duration', pulse speaker HIGH and LOW while (elapsed_time < duration) { digitalWrite(speakerOut,HIGH); delayMicroseconds(tone_ / 2); // DOWN digitalWrite(speakerOut, LOW); delayMicroseconds(tone_ / 2); // Keep track of how long we pulsed elapsed_time += (tone_); } digitalWrite(colour, LOW); } else { // Rest beat; loop times delay digitalWrite(colour, HIGH); for (int j = 0; j < rest_count; j++) { // See NOTE on rest_count delayMicroseconds(duration); } digitalWrite(colour, LOW); } } int colour = green; void jingleBells(int i){ // Set up a counter to pull from melody[] and beats[] tone_ = melody[i]; beat = 50; duration = beat * tempo; // Set up timing if(colour == green){ colour = red; playTone(red); }else{ colour = green; playTone(green); } // A pause between notes... delayMicroseconds(pause); } void checkOn(int reading){ // check to see if you just pressed the button // (i.e. the input went from LOW to HIGH), and you've waited // long enough since the last press to ignore any noise: // If the switch changed, due to noise or pressing: if (reading != lastButtonState) { // reset the debouncing timer lastDebounceTime = millis(); // toggles the ledState variable each time the button is pressed if (buttonState == HIGH) { on = !on; } } if ((millis() - lastDebounceTime) > debounceDelay) { // whatever the reading is at, it's been there for longer // than the debounce delay, so take it as the actual current state: buttonState = reading; } } // LET THE WILD RUMPUS BEGIN ============================= void loop() { // read the state of the switch into a local variable: int reading = digitalRead(buttonPin); checkOn(reading); if(on){ for (int i=0; i<MAX_COUNT; i++) { int loopReading = digitalRead(buttonPin); jingleBells(i); if(loopReading != reading){ on = !on; break; } } } // save the reading. Next time through the loop, // it'll be the lastButtonState: lastButtonState = reading; } 


Gerelateerde Artikelen

Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Als u op zoek bent naar een manier om een Arduino gebaseerde apparaten te controleren, zal deze instructie u tonen hoe om het te doen door het bouwen van eenvoudige robot.De IoBot kan worden gecontroleerd door mobiel en computer toepassing via LAN of
Kerstverlichting met behulp van 8ch Relais met arduino

Kerstverlichting met behulp van 8ch Relais met arduino

Ik ben 16 jaar oud dus mijn kennis over deze relais niet zo uitgebreid is is, voor een ander instructable meer om onderzoek te doen Klik hier.Of u zou kunnen kijken op mijn blog waar ik na een aantal van mijn beste projecten!Dit project is kan worden
1ste BM ARDUINO gecontroleerde auto met HC-SR04

1ste BM ARDUINO gecontroleerde auto met HC-SR04

Met dit project wil ik je laten zien de manier op hoe te converteren van een RC auto in een automatisch gecontroleerde auto met Arduino Uno R3.Stap 1: Benodigde materialen: RC auto (met gescheiden achterwiel motors)Arduino Uno R39V battaryDradenUltra
Arduino gecontroleerd licht dimmer

Arduino gecontroleerd licht dimmer

Waarschuwing: Sommige mensen proberen om dit met een optocoupler met zerocrossing coz rechts "dat is beter"? Sommigen horen zelfs in elektronicawinkels, het is beter om te gebruiken dergelijke een optocoupler. VERKEERDE. Dit werkt alleen met een
Jingle Bells lelijk Xmas trui

Jingle Bells lelijk Xmas trui

Vrolijk kerstfeest!Stap 1: Krijgen een erg lelijk kerst truiIk heb de mijne uit waarde dorp voor $10Stap 2: Ontvang een lilyPad Arduino en sprekerperfect voor wearables! Ook krijgen sommige geleidende draad of tekenreeksStap 3: 6 LED-lampjesAls u loo
Controle van uw Kerstverlichting met tekstberichten

Controle van uw Kerstverlichting met tekstberichten

Ik wilde echt kunnen mijn kerstverlichting op afstand te besturen, met een Arduino.Met deze oplossing kunt u mijn lichten op afstand bedienen via tekstberichten!Vaardigheden die nodig zijn:SolderenBedradingKopiëren en plakkenStap 1: Onderdelen die no
Arduino gecontroleerd vuurtoren

Arduino gecontroleerd vuurtoren

Overzicht:Ik heb vaak gedacht dat een vuurtoren zou een groot project voor een Arduino, en dus heb ik besloten om het eens te proberen met behulp van een van de lokale vuurtorens hier in Erie, Pennsylvania als inspiratie. Ik koos voor de North Pierhe
Galvo - Laser Arduino gecontroleerd

Galvo - Laser Arduino gecontroleerd

Arduino gecontroleerd galvo laser. De servo aangedreven spiegels sturen de verlaten een fosforescerende parcours op het blad van de glow-in-the-dark vinyl UV-laser.Oorspronkelijk Gepost op notes.robives.comStap 1:Beginnen met een blad van lichtgevend
Arduino gecontroleerd CNC / 3D Printer hybride

Arduino gecontroleerd CNC / 3D Printer hybride

Moeder natuur maakt... Wij bouwen.BuildersBot zekeringen 3D printen & CNC frezen in één Builder's droom "3dprintingindustry.com"De BuilderBot is een Open ontwerp machine, die gebruik maakt van OpenSoftware en Open Hardware. Het is een produc
Arduino gecontroleerd kookwekker

Arduino gecontroleerd kookwekker

U allen moet heb meegemaakt dat je iets wordt gekookt op uw gasfornuis terwijl aan de andere kant u get drukke TV kijken of krijgen een diepe gesprek hebt dat je je realiseert op het opsporen van een geur die het was volledig verwend alleen vanwege u
Arduino-gecontroleerde Wolf staart

Arduino-gecontroleerde Wolf staart

groeten, of moet ik zeggen, "Aaaaaooooooooooooh!" Maken van uw bekende collega wolf liefhebber graag. Je hebt een innerlijke wolf geest dat zo graag bekend maken dat u mij om te leren hoe om uw zeer eigen animatronic wolf staart, zodat u kunt ec
Arduino-gecontroleerde gordijn

Arduino-gecontroleerde gordijn

In dit nieuwe project, we gecombineerd van elektronica en mechanica, en maakte een Arduino-gecontroleerde gordijn roller.Veel plezier met maken!Stap 1: Planning van het CircuitVoor dit circuit u hebt nodig:1. de roterende Potentiometer2. de Arduino U
Draadloos Arduino gecontroleerde Tank (nRF24L01)

Draadloos Arduino gecontroleerde Tank (nRF24L01)

Hallo!Vandaag zal ik u tonen how to build een Arduino gecontroleerde tank en een afstandsbediening. De 3d afgedrukt delen van de tank (met uitzondering van de controller, bijhouden gids en tank cover) werden ontworpen door timmiclark en kan worden ge
Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Het probleem: U wilt beperken van de tijd wanneer uw huisdier mee mag naar buiten te gaan. Dit kan zijn omdat de buurt niet veilig voor uw kat of kleine hond in de nacht is (plunderende coyotes voor de geest komt). Maar u wilt uw huisdier te kunnen t