Hallo
Ich bin neu in der Arduino-Welt und versuche mich gerade an einem Wählscheibentelefon, der nach dem wählen einer bestimmten Nummer (Hier die 3-Stellige Nummer 573) über ein MSM 2 Soundmodul von ELV eine MP3 Datei abspielen soll.
Ich habe den Schaltplan und den Sketch über ein Projektbuch gekauft und wollte es nun für mich aufbauen. Ich habe allerdings statt des Android-UNO ein Android Nano Every verwendet.
Jetzt zu meiner Frage: Wenn ich das MSM 2 Modul ganz normal anschließe (nicht über das Nano Every) dann spielt die Datei MP3 Datei ab. Wenn ich über das Nano Every gehe, passiert nichts.
Ist der Sketch falsch? Oder hätte ich ein UNO benutzen müssen- statt des Nano Every?
Der Unterschied liegt darin, dass ich nur ein GND in der unteren Zeile (A0-A7) habe und nicht wie beim UNO 2. Bin einfach mit allen Anschlüssen an GND gegangen.
Ein Bild vom Schaltplan wie ich es angeschlossen habe und den Sketch könnt ihr hier unten sehen.
Der schreibt mir auch immer: avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description Ich weiß leider nicht was das zu bedeuten hat.
Würde mich über ein paar Antworten freuen. Wie gesagt. Ich bin noch ganz neu im Andruino Programmieren.
//Festgelegte 3 Stellige Telefonnummer wählen und anschließend mp3File abspielen
int buttonstate;
int Schalter1 = 4; //Wählscheibenunterbrecherkontakt an D4 anschließen, gegen GND. Das ist der Kontakt, der so oft schließt wie hoch die gewählte Ziffer ist
int Schalter2 = 5; //Wählscheibenstartkontakt an D5 anschließen, gegen GND. Das ist der Kontakt, der schließt, sobald die Wählscheibe bewegt wird
int mp3file1 = 7; //Hier den Trigger-Pin zum Abspielen von Datei 001 am mp3-player anschließen
int Dauer = 20000; //Hier die Länge der mp3-Ansage angeben, danach schaltet der MSM2 wieder in den Ruhemodus. Darf nicht kürzer sein als die mp3-Datei!
int previous1 = LOW;
int previous2 = LOW;
unsigned long last_time1 = 0;
unsigned long last_time2 = 0;
int counter=0;
int b=0;
int c=0;
int d=0;
int Wert=0;
int Nummer=0;
void setup(){
Serial.begin(9600);
pinMode(Schalter1, INPUT_PULLUP);
pinMode(Schalter2, INPUT_PULLUP);
pinMode(mp3file1, OUTPUT);
digitalWrite(mp3file1, HIGH);
}
void loop()
{
int reading1 = digitalRead(Schalter1);
int reading2 = digitalRead(Schalter2);
if (reading1 == HIGH && previous1 == LOW && (millis() - last_time1 > 45)) //Funktion zum Entprellen der Kontakte
{
Wert++;
last_time1 = millis();
}
previous1 = reading1;
if (reading2 == HIGH && previous2 == LOW && (millis() - last_time2 > 150))
{
Nummer = Wert; //Nummer speichert die gewählte Ziffer
Wert = 0;
counter++; //counter gibt die Position der gewählten Ziffer in der Code-Zahl an: counter=1 bedeutet erste Stelle
last_time2 = millis();
}
previous2 = reading2;
Serial.println(Nummer);
Serial.println(counter);
if (Nummer == 5 && counter == 1) //wenn beim ersten Wählen die 5 gewählt wurde usw.
{
b = 1;
}
if (Nummer != 5 && counter == 1)
{
counter = 0;
b = 0;
}
if (Nummer == 7 && counter == 2 && b == 1)
{
c = 1;
}
if (Nummer != 7 && counter == 2)
{
counter = 0;
b = 0;
}
if (Nummer == 3 && counter == 3 && b == 1 && c == 1)
{
d = 1;
}
if (Nummer != 3 && counter == 3)
{
counter = 0;
b = 0;
c = 0;
}
if (d == 1)
{
counter = 0;
b = 0;
c = 0;
d = 0;
delay(100);
digitalWrite(mp3file1, LOW); //Starte Datei 001 auf der SD-Karte
delay(100);
digitalWrite(mp3file1, HIGH);
delay(Dauer);
digitalWrite(mp3file1, LOW); //Starte nochmal Datei 001
delay(100);
digitalWrite(mp3file1, HIGH);
delay(Dauer);
digitalWrite(mp3file1, LOW); //Starte zum dritten Mal Datei 001
delay(100);
digitalWrite(mp3file1, HIGH);
delay(Dauer);
}
}