MP3-Interface voor Arduino: goedkoop en gemakkelijk (5 / 5 stap)

Stap 5: Klaar het systeem om te testen


Voor het testen van dit systeem moet u vier MP3 bestanden toevoegen aan de MicroSD kaart genoemd zoals eerder beschreven (0001.MP3, 002.MP3...) Plaats de MicroSD-kaart,
Steek een oortelefoon of hoofdtelefoon in de aansluiting.
Sluit een USB-kabel in de Arduino en de USB-poort op uw favoriete computer. Na een paar seconden wordt het eerste bestand afgespeeld. Als u de bijgevoegde schets van de Arduino te in de Arduino omgeving op uw computer laden en het downloadt, zult u hier 10 tweede clips van elk bestand, met de volume-decreasinng na de eerste vier song fragmenten zijn gespeeld, waarna het volume verhogen na de volgende vier.

Opmerking de vertraging lengtes die ik voor de specifieke besturingselementen gebruikte. U mei zitten kundig verkorten deze keer... experiment!

Hier is de schets naar knip en plak in de Arduino omgeving:

int CTL_NEXT = 6;
int CTL_PREV = 7;
int PLAY = 8;
int VOL_MINUS = 9;
int VOL_PLUS = 10;

int glas water of een = 13;
int i, j; de lus teller
/*
ongeldig nextMP3(void) {}
PORTB = 0X00;
DDRB = 0;
DDRD = 0X40;
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //1
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //2
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //3
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //4
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //5
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //6
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //7
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X40;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //8
DDRD = 0; //PORTD een input weer
}

ongeldig prevMP3(void) {}

PORTB = 0X00;
DDRB = 0;
DDRD = 0XA0;
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //1
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //2
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //3
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //4
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //5
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //6
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //7
terwijl ((PINB & 0x01)! = 0)
PORTD = 0X80;
terwijl ((PINB & 0x01) == 0)
PORTD = 0; //8
DDRD = 0; //PORTD een input weer

}*/

ongeldig nextMP3(void) {}
digitalWrite (CTL_NEXT, hoge);
delay(100);
digitalWrite (CTL_NEXT, laag);
}

ongeldig prevMP3(void) {}
digitalWrite (CTL_PREV, hoge);
delay(100);
digitalWrite (CTL_PREV, laag);
}

VOID FlashDatLED(void) {}
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
digitalWrite(LLED,HIGH);
delay(100);
digitalWrite(LLED,LOW);
delay(100);
}

De Setup-methode wordt uitgevoerd zodra, wanneer de schets begint

ongeldig setup(void) {}

Initialiseer de digitale pin als uitgang:
pinMode (PLAY, INPUT);
digitalWrite (toneelstuk, laag); De pull-up uitschakelen
pinMode (VOL_MINUS, INPUT);
digitalWrite (VOL_MINUS, laag); De pull-up uitschakelen
pinMode (VOL_PLUS, INPUT);
digitalWrite (VOL_PLUS, laag); De pull-up uitschakelen
pinMode (CTL_PREV, uitvoer);
digitalWrite (CTL_PREV, laag); BEIDE SCHAKELAARS OPEN
pinMode (CTL_NEXT, uitvoer);
digitalWrite (CTL_NEXT, laag); BEIDE SCHAKELAARS OPEN
pinMode(LLED,OUTPUT);

ALLEMAAL ZWAK TROK HOGE
}

de loop-methode wordt uitgevoerd over en weer,
zolang de Arduino macht heeft

void loop
{

delay(2000);
while(1);

terwijl (1) {}
digitalWrite(LLED,HIGH);
prevMP3();
pinMode(LLED,OUTPUT);
digitalWrite(LLED,HIGH);
delay(10000);
digitalWrite(LLED,LOW);
prevMP3();
delay(10000);

prevMP3();
pinMode(LLED,OUTPUT);
digitalWrite(LLED,HIGH);
delay(10000);
digitalWrite(LLED,LOW);
prevMP3();
pinMode (VOL_MINUS, uitvoer);
delay(2000);
pinMode (VOL_MINUS, INPUT);
delay(8000);

digitalWrite(LLED,HIGH);
nextMP3();
pinMode(LLED,OUTPUT);
digitalWrite(LLED,HIGH);
delay(10000);
digitalWrite(LLED,LOW);
nextMP3();
delay(10000);

nextMP3();
pinMode(LLED,OUTPUT);
digitalWrite(LLED,HIGH);
delay(10000);
digitalWrite(LLED,LOW);
nextMP3();
pinMode (VOL_PLUS, uitvoer);
delay(2000);
pinMode (VOL_PLUS, INPUT);
delay(8000);
}

Gerelateerde Artikelen

Digitale keuken met een gewicht van schaal-interface voor Arduino

Digitale keuken met een gewicht van schaal-interface voor Arduino

IntroIk ontwikkelde een programma van de interface voor de Arduino te lezen uit een schaal. Er is geen bijkomende elektronica die nodig zijn, slechts twee draden tussen de interne schaal elektronica en de Arduino.Zie meer hier:http://www.avdweb.nl/Ar
Internet grafische Interface voor Arduino

Internet grafische Interface voor Arduino

Deze App nota wordt beschreven hoe implementeren van een web temperatuur dashboard voor Arduino Ethernet. Het is bedoeld om u te tonen hoe het geheugen-kaart concept werkt in de praktijk en de manier waarop het u om uw projecten Arduino met een paar
Goedkoop en makkelijk MP3 Shield voor Arduino

Goedkoop en makkelijk MP3 Shield voor Arduino

Dit is een vervolg op een eerdere Instructable voor de ingewanden van een goedkope clip MP3-speler aansluiten op een Arduino.De vorige Instuctable toonde hoe de Arduino gebruiken om alle functies van de MP3-speler te controleren: volume stijging en d
2-draads LCD-interface voor Arduino of Attiny

2-draads LCD-interface voor Arduino of Attiny

LCD's in het algemeen behoefte 11signal lijnen + 3 of 5 lijnen voor de Vcc, grond en contrast en in sommige gevallen een extra 2 voor achtergrondverlichting.Met behulp van het LCD-scherm in 4 bitsmodus bespaart 4 pins, maar vaak is dat niet genoeg. H
Richting display voor Arduino Robot - Scratch Interface

Richting display voor Arduino Robot - Scratch Interface

Ik heb geüpload onlangs een gids over de programmering van een Cybot met behulp van een Arduino-besturingselement. Ik heb gemaakt in de programmering een gebruikersinterface om te visualiseren van de richting die wordt geselecteerd door de gebruiker.
Hoe te gebruiken: goedkope Arduino Mp3 schild voor maken Robot praten

Hoe te gebruiken: goedkope Arduino Mp3 schild voor maken Robot praten

Deze video zal u tonen hoe je robot een stem te geven voor zo goedkoop mogelijk. Voor sommige reden had ik problemen, niet alleen het vinden van een goedkope mp3-schild, maar de documentatie zo goed begrijpen. Ik dacht dat ik zou mijn code hier delen
Goedkoop en gemakkelijk pil zakken voor honden

Goedkoop en gemakkelijk pil zakken voor honden

ik geleerd deze truc als een huisdieroppas - het is goedkoop en gemakkelijk en werkt voor heel kieskeurig honden die graag pillen spugen.  Als u wilt geven uw hond pillen op een dagelijkse basis is het geweldig want het neemt de moeite uit pillen aan
Optische muis kilometerteller voor (Arduino) Robot

Optische muis kilometerteller voor (Arduino) Robot

Nauwkeurig bepalen van de voortgang van een robot op wielen kunnen vrij lastig (en dure!). Dead reckoning wordt ervan uitgegaan dat onze motoren zijn perfect op elkaar afgestemd, onze wielen niet glijden en de oppervlakte die we lopen op perfect vlak
Zet een potlood tekening in een capacitieve sensor voor Arduino

Zet een potlood tekening in een capacitieve sensor voor Arduino

wist je dat?  Kun je potlood tekeningen reactieve raken voor gebruik met uw projecten!  Het is echt makkelijk, en geeft u veel flexibiliteit bij het maken van interfaces voor welke microcontroller project u aanbrengt.Ik samen te stellen dit als onder
Digitale multimeter shield voor Arduino

Digitale multimeter shield voor Arduino

Dit instructable beschrijft een schild, die "Arduino" board in een digitale multimeter (DMM converteert).Het schild kan worden ingevoegd in "Arduino" UNO und Duemilanove planken. Het kan werken in drie modi:standalone - de meting gegev
Opname zonder een volledige studio voor echt goedkoop

Opname zonder een volledige studio voor echt goedkoop

in dit instructable ga ik u tonen hoe te nemen spullen uit uw gitaar in uitstekende kwaliteit, zonder een studio, en voor echt goedkoop. Dit is mijn eerste instructable, zodat eventuele suggesties over hoe om het te maken beter zitten zeer zich opwaa
Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Update: 19 mei 2016Rev 14 van dit project herziet bibliotheken en code om te werken met de plug-in V2.2 ESP8266.com IDEUpdate: 17 December 2105Rev 11 van dit project schoont andere pogingen tot verbinding als het al is aangesloten. Maakt ook gebruik
Android telefoon gebruikt als een GSM-shield voor arduino

Android telefoon gebruikt als een GSM-shield voor arduino

hier mijn een andere video toont het gebruik van app uitvinder en bluetooth communicatie interface een arduino board en een Androïde apparaat. Ditmaal ben ik laten zien hoe de SMS-functie gebruiken om te zetten van de telefoon in een gratis GSM shiel
Aankoopgids voor Arduino Uno

Aankoopgids voor Arduino Uno

Het kiezen van een Arduino te kopen kunnen verwarrend zijn, vooral als u overweegt de aankoop van een Uno. Online verkopers kunnen weglaten belangrijke informatie, verkopen verouderd of ongepast geprijsd boards, en sommige kunnen worden ronduit misle