Jag är oerhört tacksam för all hjälp! Fick allting att fungera precis så som jag ville Men mycket vill ha mer...
Har en kanal på min RC sändare som inte används, en flip-switch. Så jag tänkte använda den för att trigga en specifik låt.
När jag skrivit denna kod:
int ch5; // hold the value
void setup(){
pinMode(9, INPUT);
Serial.begin (9600);
}
void loop(){
ch5 = pulseIn(9, HIGH, 25000);
Serial.print(" Channel ");
Serial.println(ch5);
delay(200);
}
Då får jag fram ett värde som jag klart och tydligt kan läsa av i serial monitoren, och som slår om när ja slår om brytaren.
Så jag implementerade den koden i min andra kod, och körde en "if" för att det skulle triggas.
Såhär ser det ut:
//Test med Arduino och MP3 Trigger för att automatisera ljudet//
#define trigPin 2
#define echoPin 3
#include <MP3Trigger.h>
MP3Trigger trigger;
long previousMillis = 0;
long interval = random(5000,10000); //Anger väntetiden mellan randomljuden.
////////////////////////////////////
void setup() {
Serial.begin (9600);
trigger.setup();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
//////////////////////////////////
void loop() {
int duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn (echoPin, HIGH);
distance = (duration/2) /29.1;
//Serial.print (distance);
//Serial.print ("cm ");
//delay(100);
if (distance < 30) // Numret avger vid vilket avstånd i centimeter det ska triggas på.
{trigger.play(1);
delay(2500); //Väntetid tills hummen börjar.
trigger.play(random(2,8));
delay(2500);}
int ch5;
ch5 = pulseIn(9, HIGH, 25000);
Serial.print(" ");
Serial.println(ch5);
if (ch5<1500);
{
trigger.play(9);
delay(500);
}
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
trigger.play(random(10,46)); //Vilka ljud den ska slumpa fram.
}}
Och det är den fet-markerade delen där då som inte fungerar. Den triggar ljudet, men gör det om och om och om igen. Den verkar inte få ett korrekt värde. Och det som printas ut i monitoren ser ut såhär: "%¤%¤%¤%¤%¤%¤%¤%¤%¤%¤%¤!¤1¤1¤ñ1¤ñ¤!¤1¤1¤1¤1¤%¤%¤%¤%¤%¤%¤%¤õ%¤%¤%¤". Man kan se i mönstret vart jag slår om brytaren, men det är ändå ingen signal som verkar vettig. Varken för mig eller min Arduino.
Jag har säkert gjort ett jättestort rookie-misstag, det är jag helt bombis på, iom att det är första gången jag kodar.. någonsin! Men jag har googlat och inte lyckats få fram ett svar Så jag vänder mig återigen hit, och hoppas att alla ni duktiga kodare kan hjälpa mig!
Tack på förhand!