Inhoudsopgave:

Tobias - Arduino-muziekdoos met TVout - Ajarnpa
Tobias - Arduino-muziekdoos met TVout - Ajarnpa

Video: Tobias - Arduino-muziekdoos met TVout - Ajarnpa

Video: Tobias - Arduino-muziekdoos met TVout - Ajarnpa
Video: ICT arduino project muziekdoos 2024, November
Anonim
Tobias - Arduino Muziekdoos Met TVout
Tobias - Arduino Muziekdoos Met TVout
Tobias - Arduino Muziekdoos Met TVout
Tobias - Arduino Muziekdoos Met TVout
Tobias - Arduino Muziekdoos Met TVout
Tobias - Arduino Muziekdoos Met TVout

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)

Code (wijzig de muziek)
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)

Code (wijzig de afbeelding / foto)
Code (wijzig de afbeelding / foto)
Code (wijzig de afbeelding / foto)
Code (wijzig de afbeelding / foto)
Code (wijzig de afbeelding / foto)
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

3d model
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

samenkomst
samenkomst
samenkomst
samenkomst
samenkomst
samenkomst

Monteren is niet ingewikkeld, maar het is moeilijk vanwege de grootte van de doos en het aantal draden dat moet worden aangesloten.

Aanbevolen: