Inhoudsopgave:
- Stap 1: Gebruikte onderdelen
- Stap 2: De code
- Stap 3: Het circuit starten
- Stap 4: De ULN2803
- Stap 5: Geluid toevoegen
- Stap 6: Conclusie
Video: Muzikale lichtjes: 6 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Door IanCummingVolg meer door de auteur:
Over: Ik maak graag dingen van raketten tot elektronica. Meer over IanCumming »
Welkom iedereen
Het is bijna de feestdagen en veel winkels zijn begonnen met het uithangen van hun feestelijke decoraties, ik dacht dat het de juiste tijd was om wat muzikale kerstverlichting te bouwen!
Stap 1: Gebruikte onderdelen
Ik zal het volgende gebruiken:
- 12 LED's
- 12 Stroombegrenzende weerstanden
- 1 ULN 2803 Darlington-transistorarray
- Sommige jumperdraden
- Een piëzo-luidspreker
- Een breadboard en
- een Arduino
- Om de reeks kerstverlichting te maken, heb ik 5 draden van een Ethernet-kabel gebruikt
Stap 2: De code
// GLOBALE VARS int barTime = 1200; // 8/8 = 1000ms byte nrLEDS = 4; // 4 basis-LED's, u kunt veel parallelle byte-leds toevoegen = {3, 4, 5, 6}; byte-luidspreker = 11; bytepatroonLengte = 64; // patroon Lengte byte songLength = 51; const byte song = { // Jingle Bells Data 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8 }; // De structuur is dan het nootnummer // NoteLength in 8th's const byte-patroon = { // Pattern Data 0b0001, 0b0010, 0b0100, 0b1000, // Bits komen overeen met Leds in Array 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 01,0101, 0b000 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0011,001, 0b 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, };
Allereerst declareer ik mijn variabelen, de interessante zijn Song en Pattern.
- Het nummer slaat de melodie op; in dit geval zijn het jingle bells.
- Het patroon slaat aan en uit-posities op in de bits van de waarden in de array.
Aangepaste functies
//FUNCTIES int noteToHz(int note) { // Converteer een nootnummer. to Frequency float freq = 440 * (pow(1.059463094359, noot-21)); // -21 geeft je noot 1 bij C3 (I Think) return int(freq); // Resultaten zijn nauwkeurig tot op 1 hz } void lightLEDs (byte PORT_X) { // Status van controle-LED's voor (int q = 0; q
De twee functies die ik heb zullen het volgende doen:
- Bereken de frequentie voor de toonfunctie in de lus
- schakel de LED's in of uit, afhankelijk van de waarde die aan de functie is doorgegeven
Instelfunctie
void setup () {// setup OUTPUT-pinnen pinMode (luidspreker, OUTPUT); for(int t = 0; t <nrLEDS; t++){ pinMode(leds[t], OUTPUT); } }
In de setup-functie stel ik de benodigde pinnen in op OUTPUT.
Loop-functie
void loop () {// Music Loop for (int t = 0; t < songLength; t ++) {// Notes, Length en speel de melodie int note = noteToHz (song [t * 2]); int lengte = ((lied [(t * 2)+1] * barTijd) / 8); toon (luidspreker, noot, lengte - 50); // Flitsende lichten! lightLED's (patroon [t % patroonlengte]); vertraging (lengte); } // Silence Loop int randomSilence = willekeurig (1000, 5000); voor (int t = 0;t
Ik heb 2 loops in de Main Loop-functie. Een songloop en een stilteloop
De songloop leest de gegevens uit de songarray, speelt de noot af met behulp van de toonfunctie
De songloop zal,
- Lees de data uit de song array,
- Speel de noot met behulp van de toonfunctie dan
- Verlicht de LED's, lees de patroonreeks.
In de stiltelus
alleen de LED's branden
Sluit de Arduino aan en upload de code. (Vervolgens loskoppelen)
Stap 3: Het circuit starten
Ik ga beginnen met de lichtslinger
- Ik gebruikte draad van een Ethernet-kabel en soldeerde drie LED's vier keer parallel, waarbij ik ervoor zorgde dat de LED's gelijkmatig verdeeld werden over ongeveer 2 meter
- Ik gesoldeerd de anode van elke geleid tot een enkele draad.
- Dan de kathode van elke led naar 4 aparte draden. Met een weerstand natuurlijk
- Ik herhaalde dit proces 3 keer om een reeks van 12 LED's te krijgen en ik plaatste header-pinnen aan het uiteinde van de 5 draden
Sluit de positieve en grondrails aan op het breadboard
Stap 4: De ULN2803
Plaats de ULN2308 Chip op het breadboard
De ULN2308 is een transistorarraychip; uit het gegevensblad kan ik zien
- Die pin 1 is een ingang die pin 18 "AAN" zet
- Pin 2 zet 17 aan. Enzovoort.
- Pin 9 is massa
- Sluit pin 9 van de chip aan op de grondrail
- Sluit de positieve rail aan op een klemmenstrook, één strook boven pin 18. (U zult zo zien waarom)
- Sluit pin 1 van de chip aan op pin 3 van de Arduino
- 2 gaat naar 4
- 3 van de chip gaat naar 5 en
- 4 gaat naar pin 6 van de Arduino
- Plaats de LED-string op het breadboard. Waar de gemeenschappelijke anodedraad is aangesloten op de strip die is aangesloten op 5 volt. De rest van de fairy light-pinnen moet naar pin 18, 17, 16 en 15 van de chip gaan.
Stap 5: Geluid toevoegen
- Sluit de piëzo-luidspreker aan tussen 2 klemmenstroken
- Verbind de minpool van het piëzo-element met aarde en
- Het andere uiteinde van de luidspreker op pin 11
Stap 6: Conclusie
Ik heb een reeks lichtjes die willekeurig jingle bells zullen spelen om me eraan te herinneren dat het de feestdagen zijn.
Aanbevolen:
Muzikale MIDI-schoenen: 5 stappen (met afbeeldingen)
Muzikale MIDI-schoenen: Zoals veel mensen merk ik vaak dat ik onbewust met mijn voeten tik, of het nu meezingt met een liedje of uit een nerveuze gewoonte. Hoe leuk dat ook is, ik heb altijd het gevoel gehad dat er iets ontbrak. Kon ik maar de geluiden van laten we zeggen, een
Muzikale stoel: 11 stappen (met afbeeldingen)
Muzikale stoel: Gedesillusioneerd door de naam van het spel 'muziekstoelen', ging ik op weg om een echte muziekstoel te maken, zoals in, een stoel die als een muziekinstrument kan worden bespeeld, een schommelstoel als je wilt. Mijn hoop is om uiteindelijk een echt stoeltje te spelen
DIY muzikale deurbel: 7 stappen (met afbeeldingen)
DIY-muziekdeurbel: leer hoe u een eenvoudige muzikale bel maakt met behulp van de UM66T-melodiegenerator IC. De melodiegenerator speelt Beethovens Für Elise af wanneer deze wordt geactiveerd, omdat deze de UM66T-19L gebruikt. Er zijn verschillende versies van dit IC, elk geconfigureerd om een andere
Muzikale magnetron (Arduino-project): 6 stappen (met afbeeldingen)
Musical Microwave (Arduino Project): Wil je van je saaie magnetron een supercharged*, nucleaire** jukebox maken die deuntjes speelt terwijl*** het voedsel van je keuze wordt bestraald?!?* hype** valse reclame *** meer vals adverterenLees verder.Voor dit project heb ik een Arduino UNO gebruikt, de
Muzikale Menorah (gemaakt met Arduino): 13 stappen (met afbeeldingen)
Muzikale Menorah (gemaakt met Arduino): Chanoeka komt eraan! Dus het leek me een geweldig idee om een project te maken met betrekking tot de vakantie. Ik heb deze coole Chanoeka Menorah gemaakt met een Arduino die elke keer dat je van nacht wisselt een ander nummer speelt door op de knop te drukken. De LED's