Pages: [1]   Go Down
Author Topic: Arduino + Sparkfun Mp3 trigger  (Read 838 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 2
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hej

Jeg er ved at lave projekt hvor 2 lys følere skal trigge hver sit track på Mp3 trigger v2 (sparkfun).

Sensorene aktiverer hver sin digitale pin på Arduinoen, som er forbundet direkte til "mp3 trigger" trigger punkter, så jeg burde få forskellige sange på lysfølerne. Men uanset hvilken lyssensor der aktiveres, afspilles altid den første lydfil i afspilningslisten (hedder 001) på "mp3 trigger".

Bonus info
Trigger indgangen på "mp3 trigger" har pull-up.
Trigger fungerer fint med trykknap og 2 ledninger direkte på trigger indgangen/GND
I følge brugsanvisningen kan mp3 trigger v2 kører direkte på arduinoens digitale pins.


Code:
int lyd = A0;
int lys1 = A1;
int lys2 = A2;

int led1 = 9;
int led2 = 10;
int led3 = 11;

int tr1 = 0;
int tr2 = 1;
int tr3 = 2;
int tr4 = 3;
int tr5 = 4;
int tr6 = 5;
int tr7 = 6;
int tr8 = 7;
int tr9 = 8;
int tr10 = 12;

int vallyd = 0;
int val1 = 0;
int val2 = 0;

const int VENSTRE = 10;
const int HOJRE = 20;
const int BEGGE = 30;
int laststate;
int laststate2;


void setup()                               //setup//
{
pinMode(lyd, INPUT);
pinMode(lys1, INPUT);
pinMode(lys2, INPUT);

pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

pinMode(tr1, OUTPUT);

pinMode(tr2, OUTPUT);

pinMode(tr3, OUTPUT);

pinMode(tr4, OUTPUT);

pinMode(tr5, OUTPUT);

pinMode(tr6, OUTPUT);

pinMode(tr7, OUTPUT);

pinMode(tr8, OUTPUT);

pinMode(tr9, OUTPUT);

pinMode(tr10, OUTPUT);

}

void loop()                            //loop//
{
  vallyd = analogRead(lyd);
  val1 = analogRead(lys1);
  val2 = analogRead(lys2);
  {
    vallyd=map(vallyd, 0, 750, 0, 512);
    analogWrite(led1, -vallyd),
    analogWrite(led2, vallyd);
    analogWrite(led3, vallyd);
  }
 
    if ( val1 > 800 && laststate!=VENSTRE)
  {
    digitalWrite(tr7, HIGH);
    delay(300);
    digitalWrite(tr7, LOW);
    laststate = VENSTRE;
 
  }
 
      if ( val2 > 800 && laststate!=HOJRE)
  {
    digitalWrite(tr3, HIGH);
   delay(300);
    digitalWrite(tr3, LOW);
    laststate = HOJRE;
 
  }
}

VH
Lydfanger
Logged

Pages: [1]   Go Up
Jump to: