Interaktiv skulptur: filernas Data (4 / 5 steg)
Steg 4: Närvaro sensor aktivera led strips och mp3 sköld
I detta projekt aktiverar närvaro sensorn Max Botix (1 x ultraljud Range Finder – Maxbotix LV-EZ0) ledde remsorna och även mp3 sköld.
Jag ansluten närvaro sensorn i pin nummer 5 av Arduino och varje ljus var ansluten i analoga stiften A5, A2, A3, A1, A4. MP3 sköld placerades precis ovanför Arduino. Jag köpte en högtalare och ansluten i jack ingången till mp3 sköld.
Detta är den sista koden:
#include "Maxbotix.h"
#include
#include
#include
#include
SdFat sd;
SFEMP3Shield MP3player;
int16_t last_ms_char; millisekunder av senaste mottagna tecken från serieporten.
int8_t buffer_pos; nästa position att få karaktär från serieporten.
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);
flyta distancia = 40;
void setup() {
initSD(); Initiera SD-kortet
initMP3Player(); Initiera MP3 sköld
MP3player.setVolume(0,0); Detta är att ställa in volym maximalt. Tack victor
för (int jag = 0; jag < pinCount; i ++) {
pinMode (ledPins [i], produktionen);
uint8_t resultatet; resultatkod från någon funktion att provas vid senare tillfälle.
Serial.BEGIN(115200);
}
}
void loop() {
---NY KOD HÄR
int mp3isplaying = 0;
While(1) {/ / Detta är nya program slingan
Distancia=rangeSensorAD.getRange();
Serial.Print ("cm -");
Serial.println(Distancia);
om (distancia < 200) {
om (distancia < 150) {
om (mp3isplaying == 0) {
MP3player.playMP3("track001.mp3");
mp3isplaying = 1;
}
för (int jag = 0; jag < pinCount; i ++) {
digitalWrite (ledPins [i], hög);
Delay(timer);
digitalWrite (ledPins [i], låg);
Serial.println("encendido");
}
}
annat {
om (mp3isplaying == 1) {
MP3player.stopTrack();
mp3isplaying = 0;
}
digitalWrite (ledPins [0], låg); Inaktivera LED genom att spänningen låg
Serial.println("apagado");
}
}
}
initSD() initierar de SD-kort och kontroller för ett fel.
void initSD()
{
Initiera SdCard.
om (! sd.begin (SD_SEL, SPI_HALF_SPEED))
sd.initErrorHalt();
IF(!SD.chdir("/"))
sd.errorHalt("sd.chdir");
}
initMP3Player() sätter upp alla initieringen för den
MP3 Spelare sköld. Det kör funktionen begin(), kontroller
för fel, gäller en lapp om hittade och ställer in volymen
/ stero läge.
void initMP3Player()
{
uint8_t resultatet = MP3player.begin(); init mp3 spelare sköld
om (resultatet! = 0) / / kontrollera resultatet, se readme för felkoder.
{
Felkontroll kan gå här!
}
MP3player.setVolume (volym, volym);
MP3player.setMonoMode(monoMode);
}