Stap 5: Klaar het systeem om te testen
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);
}