Stap 4: Aanwezigheid sensor activeert de led strips en het schild van mp3
In dit project activeert de aanwezigheid sensor Max Botix (1 x ultrasoon Range Finder – Maxbotix LV-EZ0) de led strips en ook het mp3-schild.
Ik aangesloten de aanwezigheid sensor in het pin-nummer 5 van Arduino en elk licht in de analoge pinnen was aangesloten A5, A2, A3, A1, A4. Het MP3-schild was net boven de Arduino geplaatst. Ik heb een speaker gekocht en aangesloten in de jack-ingang voor mp3-shield.
Dit is de definitieve code:
#include "Maxbotix.h"
#include
#include
#include
#include
SdFat sd;
SFEMP3Shield MP3player;
int16_t last_ms_char; het aantal milliseconden van het laatste ontvangen teken van seriële poort.
int8_t buffer_pos; volgende positie te ontvangen karakter van de seriële poort.
char buffer [6]; 0-35 K + null
int ledPins [] {} =
A5, A2, A3, A1, A4};
int pinCount = 5;
int timer = 40;
Maxbotix rangeSensorAD (A0, Maxbotix::AN, Maxbotix::LV);
zweven distancia = 40;
VOID Setup {}
initSD(); De SD-kaart initialiseren
initMP3Player(); Initialiseren van de MP3-Shield
MP3player.setVolume(0,0); Dit is aan opstelling volume maximaal. Bedankt victor
for (int i = 0; ik < pinCount; i ++) {}
pinMode (ledPins [i], OUTPUT);
uint8_t resultaat; de resultaatcode van sommige functie te worden getest op later tijdstip.
Serial.begin(115200);
}
}
void loop {}
---NIEUWE CODE VAN HIER
int mp3isplaying = 0;
while(1) {/ / Dit is het nieuwe programma lus
distancia=rangeSensorAD.getRange();
Serial.Print ("cm -");
Serial.println(distancia);
Als (distancia < 200) {}
Als (distancia < 150) {}
Als (mp3isplaying == 0) {}
MP3player.playMP3("track001.mp3");
mp3isplaying = 1;
}
for (int i = 0; ik < pinCount; i ++) {}
digitalWrite (ledPins [i], hoge);
delay(timer);
digitalWrite (ledPins [i], laag);
Serial.println("encendido");
}
}
else {}
Als (mp3isplaying == 1) {}
MP3player.stopTrack();
mp3isplaying = 0;
}
digitalWrite (ledPins [0], laag); de LED uitschakelen door de spanning laag
Serial.println("apagado");
}
}
}
initSD() initialiseert de SD-kaart en controleert op een fout.
VOID initSD()
{
Initialiseer de SdCard.
Als (! sd.begin (SD_SEL, SPI_HALF_SPEED))
sd.initErrorHalt();
if(!SD.chdir("/"))
sd.errorHalt("sd.chdir");
}
initMP3Player() stelt alle de initialisatie voor de
MP3 Speler Shield. Het draait de begin() functie, controles
voor fouten, geldt een patch als gevonden en stelt u het volume
/ stero modus.
VOID initMP3Player()
{
uint8_t resultaat = MP3player.begin(); init de mp3 speler schild
Als (resultaat! = 0) / / resultaat controleren, zie readme voor foutcodes.
{
Foutcontrole kunt ga hier!
}
MP3player.setVolume (volume, volume);
MP3player.setMonoMode(monoMode);
}