Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
Een compacte vlinderdas, in staat om het omgevingsgeluid continu in vier verschillende frequenties weer te geven op zijn twee gespiegelde 4x5 LED-arrays
In deze tutorial wordt uitgelegd hoe je een vlinderdas maakt waarmee je opvalt in elke menigte.
Wat heb je nodig voor dit project:
1 Arduino Pro Micro of een Arduino van vergelijkbare grootte die werkt op 16MHz
40 LED's van 3 mm
1 simpele knop
1 Electret-microfoon
1 oplaadbare 3.7V 800mAh 25C 1-cel LiPo-batterij
10 100Ω weerstanden
1 10kΩ weerstand
1 220Ω weerstand
Toegang tot een PCB-machine (Printed Circuit Board)
Een goedkope verstelbare gehaakte/clip-on vlinderdas of gewoon de verstelbare haken/clip-on nekband
Stap 1: Print de printplaat
Bij het printen van een printplaat moet u mogelijk het.cmp-bestand aanpassen aan de eisen van de fabrikant. Het bord in het origineel is echter gemaakt met behulp van een vrij onnauwkeurige methode, dus de meeste fabrikanten zullen hoogstwaarschijnlijk de PCB zonder aanpassingen kunnen produceren. Op de foto's ziet u de voor- en achterkant van de printplaat. Het ontwerp gaat ervan uit dat soldeergaten geen via's bevatten en dat via's alleen afzonderlijk kunnen worden geplaatst (in PCB's met meer dan één zijde via's zijn verbindingen tussen lagen).
Elk licht is individueel gericht met behulp van een techniek genaamd Charlieplexing, waardoor er veel minder ingangsknooppunten zijn dan een normale LED-matrix, het nadeel is dat er alleen licht tegelijk kan worden ingeschakeld, wat een limiet stelt aan hoe groot de array kan zijn en zonder merkbaar knipperen. Charliplexing werkt door in plaats van twee signalen 1 en 0 te hebben, het heeft drie 1, 0 en Z. Waar Z werkt als een open circuit, door een zeer hoge impedantie te hebben. Dus elk licht wordt ingeschakeld door het knooppunt in een combinatie van 1, 0, Z, Z, Z te hebben, wat betekent dat de stroom slechts van het ene knooppunt naar het andere tegelijk kan gaan.
Stap 2: Alles samen solderen
Bij het solderen van de lampjes op de print is het erg belangrijk om de positieve kant van de LED consequent aan de vierkanten en de negatieve aan de cirkel te solderen. Als u het tegenovergestelde doet, zal het adres in de code de verkeerde lichten aandoen, en inconsistentie zal ervoor zorgen dat meerdere lichten worden ingeschakeld door dezelfde stimuli.
Soldeer vervolgens de 10 100Ω weerstanden aan de voorkant van de vlinderdas.
Sluit vervolgens de andere stukken aan op de manier die wordt weergegeven in het schakelschema, het is prima om de batterij rechtstreeks op de Arduino te solderen, omdat deze wordt opgeladen wanneer de Arduino via USB is aangesloten. Voordat u alle stukjes op de achterkant van de print plakt, moet u testen op fouten in de array.
Stap 3: Code uploaden en debuggen
Upload de code hierboven. Wanneer het is geüpload, drukt u op de knop om het te activeren, nu zou een driehoekige vorm die naar binnen wijst omhoog of omlaag moeten scrollen op de vlinderdas.
Als je dat niet doet, gebruik dan de Blink (LED) -functie, die een invoer van een nummer 1-20 nodig heeft, voor elk licht afzonderlijk in de while (mode = 0) loop in de lege lus terwijl je de rest van die terwijl becommentarieert lus.
lege lus() {
terwijl (modus == 0) {
Knipperen(1); //Eén voor één test om te zien of de lichten werken zoals ze zouden moeten en welke niet
//Knipper (2); // volgende stap helemaal naar 20
/* if (digitalRead(Button) == 0) {
modus = 1;
Uit();
inschakelen(1);
vertraging (200);
pauze;
}
Uit(); */ // deze sectie is uitgelicht tijdens het debuggen
}
…..
Debuggen:
Als je aan elke kant verschillende lampjes hebt, is er iets mis met het solderen en moet je de betreffende lampjes desolderen en stap 2 opnieuw doen.
Als paren van 2 lampen zijn uitgeschakeld, kunnen er via's ontbreken.
Als twee lampjes altijd samen branden en minder fel zijn dan andere, is er een op de verkeerde manier gesoldeerd.
Als elk lampje afzonderlijk gaat branden, maar niet het patroon volgt dat wordt beschreven in de instructies bovenaan de code, heb je stap 2 verprutst.
andere problemen kunnen ontstaan door slechte verbindingen of een kortsluiting op de printplaat.
Waarschuwing: dit segment is erg technisch en onnodig voor het maken van de vlinderdas
Ik heb de spectrumanalysecode speciaal geschreven voor een Arduino met een klokfrequentie van 16 MHz. Dus ik weet niet helemaal zeker hoe goed het zal werken op andere systemen, het kan ervoor zorgen dat alle bands heel anders reageren, maar het kan niet veel veranderen.
Het werkt door 60 samples te nemen in ongeveer 6, 7 ms, wat een bemonsteringsfrequentie is van ongeveer 8, 9 kHz. Analyseer ze vervolgens op 4 verschillende manieren en geef 4 verschillende frequenties.
De analyse met de hoogste frequentie werkt door elk ander monster met het volgende te vergelijken, de waarde te kwadrateren en op te tellen voor elk paar monsters. Dit geeft het hoogste effect rond de helft van de bemonsteringsfrequentie, dus het is een banddoorlaatfilter rond de 4, 4 kHz.
Een ruwe wiskundige formule voor analyse:
Σ(sq(x[2n-1]-x[2n]))
De volgende werkt op dezelfde manier, maar voegt eerst twee samples tegelijk toe. Dit geeft effectief de helft van de bemonsteringsfrequentie van het laatste systeem, terwijl de hoogste frequenties worden weggefilterd en een banddoorlaatfilter rond de 2, 2kHz wordt gecreëerd.
Het volgende systeem doet hetzelfde, maar in plaats van 2 samples tegelijk toe te voegen, voegt het 10 toe, wat een banddoorlaatfilter wordt voor 440Hz.
De laatste analyse telt de eerste 30 samples op en vergelijkt deze met de som van de laatste 30. Dit wordt in feite een banddoorlaatfilter voor 150 Hz.
Stap 4: Lijm het allemaal samen
Het is belangrijk om de Arduino gescheiden te houden van de printplaat, omdat dit kortsluiting kan veroorzaken als ze in contact komen. Dit kan door ze aan elkaar te lijmen met isolatietape ertussen. het is ook voordelig om de batterij op de ene vleugel van de vlinderdas te hebben en de microcontroller op de andere voor balans. Je moet proberen het midden van de vlinderdas vrij leeg te houden, omdat je hier de nekband aansluit, met mogelijke uitzondering van de microfoon omdat deze een paar millimeter moet uitsteken en naar je slokdarm moet wijzen, dit betekent dat wanneer je praat dat zal iedereen het duidelijkst zien.
Onthoud: aan de achterkant van de vlinderdas is functionaliteit veel belangrijker dan esthetiek, aangezien niemand dit zal zien.
Aanbevolen:
Pocket Sonic liniaal: 3 stappen (met afbeeldingen)
Pocket Sonic Ruler: dit is een ultrasone schaal in zakformaat die je in je zak zou kunnen dragen en de lengte van het object zou kunnen meten. Je zou je lengte, meubelhoogtes enz. en
Hoe maak je een Sonic OC (origineel personage): 7 stappen
Hoe maak je een Sonic OC (origineel personage): doe jezelf een plezier en keer terug. Ga door, klik op dat kleine pijltje naar links in de hoek van je scherm. Oh, en wis je geschiedenis
Hoe een nummer te coderen met bladmuziek in Sonic Pi: 5 stappen
Hoe een nummer te coderen met behulp van bladmuziek in Sonic Pi: Deze instructable gaat enkele basisstappen en stukjes code schetsen om te gebruiken bij het coderen van een nummer in Sonic Pi met behulp van bladmuziek! Er zijn een miljoen andere stukjes code om smaak aan je voltooide stuk toe te voegen, dus zorg ervoor dat je ook rond je
SONIC LED FEEDBACK: 7 stappen (met afbeeldingen)
SONIC LED FEEDBACK: Hallo nogmaals, Haat het dat je robot overal tegenaan loopt? Dit zal dat probleem oplossen. Met 8 sonische sensoren lijkt dit ingewikkeld… maar in feite heb ik dit heel gemakkelijk gemaakt. Ik probeer projecten te plaatsen die je helpen meer te weten te komen over Arduino en een 'outside the box' te laten zien
De Holi-Tie: 8 stappen (met afbeeldingen)
De Holi-Tie: Dit is de Holi-Tie, een feestelijke stropdas die is ontworpen om tijdens de feestdagen te worden gedragen. Losjes gebaseerd op de Ampli-Tie van Becky Stern die een Flora-bord gebruikt, gebruikt de Holi-Tie een Circuit Python Express (CPX)-microcontroller om de NeoPixel-animaties en