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

Stap 7: Starten en stoppen met een knop


You will need:

  • Mini drukknop
  • 10 K ohm weerstand (kleur code: bruin, zwart, oranje, goud)
  • 3 * jumperpinnen
  • USB-kabel

Aansluiten van uw knop - The Arduino knop tutorial kan worden gevonden hier

  1. Loskoppelen van de USB van de Arduino
  2. Plaats de knop op de hartlijn van het breadboard - zul je dat de knop past unidirectioneel maar niet de andere.
  3. Een van de benen verbinden met de rode positieve lijn met behulp van een jumper-pin
  4. Sluit de 10K weerstand van het andere been aan dezelfde kant, om ervoor te zorgen het is parallel aan de rode en blauwe lijnen (zie afbeelding hierboven)
  5. Verbind de andere kant van de weerstand naar de blauwe negatieve regel
  6. Aan de andere kant van de knop, sluit u het been op de dezelfde rij bevindt als de weerstand met 2 pin op de Arduino
  7. Kopieer en plak de code in een nieuw bestand met Arduino
  8. De USB-kabel aansluit op de Arduino
  9. Het bestand uploaden
De knop is ingedrukt om start de muziek en verlichting en opnieuw ingedrukt om het te stoppen.
 #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 led = 13; int buttonPin = 2; void setup() { pinMode(speakerOut, OUTPUT); pinMode(led, OUTPUT); pinMode(buttonPin, INPUT); } // 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() { long elapsed_time = 0; if (tone_ > 0) { // if this isn't a Rest beat, while the tone has digitalWrite(led, 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(led, LOW); } else { // Rest beat; loop times delay for (int j = 0; j < rest_count; j++) { // See NOTE on rest_count delayMicroseconds(duration); } } } 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 playTone(); // 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