Inhoudsopgave:
- Benodigdheden
- Stap 1: Code - Uploaden
- Stap 2: Code (wijzig de muziek)
- Stap 3: Code (wijzig de afbeelding / foto)
- Stap 4: 3D-model
- Stap 5: Montage
Video: Tobias - Arduino-muziekdoos met TVout - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Allereerst wil ik Tobias voorstellen, de gigantische teddybeer van mijn vriendin, die de inspiratie vormt voor dit project.
Tobias heeft een persoonlijkheid die in de loop van de tijd is opgebouwd terwijl we ons gekscherend afvragen wat hij doet als zij op haar werk is.
Het project was bedoeld als een eenvoudig cadeau, een Arduino met een piëzo-luidspreker die haar favoriete nummer speelde. Al snel liep het uit mijn controle en werd een muziekdoos:
- 3D geprint
- in staat om muziek af te spelen zonder dat een USB-verbinding nodig is met AA-batterijen
- met piano "toetsen" die oplichten bij elke noot
- in staat om beelden op een oude CRT-televisie te reproduceren via RCA-connectoren
Benodigdheden
- Arduino Nano
- Luidspreker (ik heb hem van een beschadigde oude radio gehaald)
- Tuimelschakelaar (3-pins) - moduskiezer
- Draaipotentiometer - volumeregeling
- 2x 220Ω weerstand
- 1x 440Ω weerstand of 2x 220Ω weerstand
- 1x 1kΩ weerstand
- 11 leds van 3 mm
- 2x RCA vrouwelijke connectoren
- draden
- 3,5 mm wit acryl
- hete lijm of superlijm
Gereedschap:
- soldeer kit
- 3D-printer
- computer met Arduino IDE om de code te uploaden
Stap 1: Code - Uploaden
Je zal nodig hebben:
- TVout-bibliotheek - hiermee kan de Arduino beeld en geluid op een televisie met RCA- of SCART-aansluiting zetten
- arduino-volume1 - Deze bibliotheek verbetert de geluidskwaliteit, het wordt gebruikt in modus 1 (alleen Arduino zonder tv-verbinding). In modus 2 is het echter niet mogelijk om het tegelijkertijd te gebruiken omdat de TVout-bibliotheek dezelfde timer gebruikt als volume1
Als je de muziek of afbeelding wilt wijzigen, zie de volgende stappen, als je niet alleen de code naar je Arduino uploadt, maar eerst ervoor zorgt dat beide bibliotheken zijn geïnstalleerd.
Stap 2: Code (wijzig de muziek)
Hier vind je het nummer:
Ik splitste de muziek in delen, waarbij ik letters toeken aan elk deel dat zichzelf herhaalt. Vervolgens heb ik voor elke noot een waarde van 1 tot 16 toegewezen en deze op regel 0 van elke array geplaatst. De waarden komen overeen met de frequentie van de te spelen noot (array freq ). In regel 1 zet ik de duur van elke noot hierboven. Voorbeeld:
const byte melB1[2][6] PROGMEM={
{11, 8, 0, 8, 7, 6}, //opmerking
{ 1, 3, 1, 1, 1, 1}}; // looptijd
Als je een ander nummer wilt gebruiken:
- verander de freq array met de nieuwe gewenste frequenties (opmerkingen)
- verander de arrays die overeenkomen met elk deel van de song
- in ongeldige muziek () kies de volgorde die moet worden afgespeeld
- verander de "X" in de array-declaratie voor het aantal elementen in elke regel en verander ook in de corresponderende leegte, voorbeeld:
melB1[2][X]
ongeldige melodiaB1(){
voor (a=0; a<X; a++){
Stap 3: Code (wijzig de afbeelding / foto)
Ik heb GIMP gebruikt om een foto in zwart-wit te veranderen, stappen:
Kleuren / Verzadiging = 0
De afbeelding moet worden gewijzigd in een resolutie van 95x95 pixels. De TVout-bibliotheek maakt hogere resoluties mogelijk, maar vanwege de grootte van de code die ik van plan was te gebruiken, moest ik de resolutie verlagen.
- Rechthoekselectiegereedschap (beeldverhouding - vast 1:1)
- Bewerken/kopiëren
- Bestand/Maken/Van Klembord
- Afbeelding/Schaal Afbeelding (95x95)
Het is absoluut noodzakelijk om de afbeelding om te zetten in zwart-wit en niet in grijswaarden.
- Fuzzy Select Tool en Free Select Tool om de gebieden te selecteren die ik in het zwart wil weergeven.
- Potlood (zwart) om onze selectie zwart te maken
- Select / Invert (keert onze selectie om)
- Potlood (wit) om de rest van het gebied wit te kleuren
- Kleuren/helderheid-contrast (contrast tot max om ervoor te zorgen dat zwart zwart is)
Nu we de afbeelding in zwart-wit hebben met een resolutie van 95x95 pixels
Bestand/Exporteren als (. BMP)
Om de nieuwe afbeelding naar code te converteren, heb ik Image2Code gebruikt
Dat geeft ons een bijna goede array. Daarna heb ik het gekopieerd en in de Arduino IDE geplakt.
Bewerken / Zoeken gebruiken:
- zoek naar alle "0xFF" en vervang deze door "0" (Alles vervangen)
- doe hetzelfde voor "0x00" en vervang het door "1"
- Verwijder alle “{“en “}”
"0" wordt een zwarte pixel
"1" wordt een witte pixel
Stap 4: 3D-model
Om het 3D-model van de doos te maken, heb ik SketchUp gebruikt. Vanwege de beperkingen van mijn 3D-printer en de moeilijkheid die ik me voorstelde om de interne verbindingen te maken, besloot ik het model in 4 delen te maken.
Ik heb het SketchUp-bestand geüpload als je iets aan het ontwerp wilt wijzigen, zo niet, druk dan gewoon de.stl-bestanden af
Stap 5: Montage
Monteren is niet ingewikkeld, maar het is moeilijk vanwege de grootte van de doos en het aantal draden dat moet worden aangesloten.
Aanbevolen:
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: 7 stappen
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: Soms zijn trillingen de oorzaak van ernstige problemen in veel toepassingen. Van machineassen en lagers tot de prestaties van de harde schijf, trillingen veroorzaken schade aan de machine, vroegtijdige vervanging, lage prestaties en veroorzaken een grote aanslag op de nauwkeurigheid. Toezicht houden
Componenten met doorlopende gaten solderen - Solderen Basics: 8 stappen (met afbeeldingen)
Componenten met doorlopende gaten solderen | Basisprincipes van solderen: in deze Instructable bespreek ik enkele basisprincipes over het solderen van doorlopende componenten op printplaten. Ik ga ervan uit dat je de eerste 2 Instructables voor mijn Soldering Basics-serie al hebt uitgecheckt. Als je mijn In
Kasteelplanter (met Tinkercad-codeblokken): 25 stappen (met afbeeldingen)
Castle Planter (met Tinkercad Code Blocks): Dit ontwerp hier kostte me nogal wat tijd om te bereiken, en aangezien mijn codeervaardigheden op zijn zachtst gezegd beperkt zijn, hoop ik dat het goed is gekomen:) Met behulp van de verstrekte instructies zou je in staat moeten zijn om maak elk aspect van dit ontwerp volledig opnieuw zonder
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T