Avatar billede jajoh Seniormester
11. februar 2017 - 13:03 Der er 6 kommentarer

Arduino som lydafspiller

Har fundet et lille stykke program, som ser sådan ud:

/*Arduino speaker song tutorial
* This program will play the theme song of the Malayalam movie
* 'Ennu Ninte Moideen'. The song is 'Mukkathe Penne'.
* The song is played on the speaker connected to pin 3 and GND.
*
* Created 26 Oct 2015
* by Akshay James
*/

#include"pitches.h"

// notes in the song 'Mukkathe Penne'
int melody[] = {
  NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_A4,
  NOTE_G4, NOTE_C5, NOTE_AS4, NOTE_A4,                 
  NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_FS4, NOTE_DS4, NOTE_D4,
  NOTE_C4, NOTE_D4,0,                               
 
  NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_A4,
  NOTE_G4, NOTE_C5, NOTE_D5, NOTE_C5, NOTE_AS4, NOTE_C5, NOTE_AS4, NOTE_A4,      //29              //8
  NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_FS4, NOTE_DS4, NOTE_D4,
  NOTE_C4, NOTE_D4,0,                                     
 
  NOTE_D4, NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_DS5, NOTE_D5,
  NOTE_C5, NOTE_AS4, NOTE_A4, NOTE_C5,
  NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_FS4, NOTE_D5, NOTE_C5,
  NOTE_AS4, NOTE_A4, NOTE_C5, NOTE_AS4,            //58
 
  NOTE_D4, NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_DS5, NOTE_D5,
  NOTE_C5, NOTE_D5, NOTE_C5, NOTE_AS4, NOTE_C5, NOTE_AS4, NOTE_A4, NOTE_C5, NOTE_G4,
  NOTE_A4, 0, NOTE_AS4, NOTE_A4, 0, NOTE_G4,
  NOTE_G4, NOTE_A4, NOTE_G4, NOTE_FS4, 0,
 
  NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_DS4,
  NOTE_C4, NOTE_D4, 0,
  NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_DS4,
  NOTE_C4, NOTE_D4, END
 
};

// note durations: 8 = quarter note, 4 = 8th note, etc.
int noteDurations[] = {      //duration of the notes
  8,4,8,4,
  4,4,4,12,
  4,4,4,4,4,4,
  4,16,4,
 
  8,4,8,4,
  4,2,1,1,2,1,1,12,
  4,4,4,4,4,4,
  4,16,4,
 
  4,4,4,4,4,4,
  4,4,4,12,
  4,4,4,4,4,4,
  4,4,4,12,
 
  4,4,4,4,4,4,
  2,1,1,2,1,1,4,8,4,
  2,6,4,2,6,4,
  2,1,1,16,4,
 
  4,8,4,4,4,
  4,16,4,
  4,8,4,4,4,
  4,20,
};

int speed=90;  //higher value, slower notes
void setup() {

  Serial.begin(9600);
  for (int thisNote = 0; melody[thisNote]!=-1; thisNote++) {

    int noteDuration = speed*noteDurations[thisNote];
    tone(3, melody[thisNote],noteDuration*.95);
    Serial.println(melody[thisNote]);

    delay(noteDuration);

    noTone(3);
  }
}

void loop() {
  // no need to repeat the melody.
}

Men når jeg vil ligge det ind på Arduinoen kommer følgende fejl:

exit status 1
Error compiling for board Arduino/Genuino Uno.

Hvad gør jeg ??????
Avatar billede claes57 Ekspert
11. februar 2017 - 15:59 #1
se linjen
  4,20,
skal den slutte med , - der er jo ikke flere tal i serien?
Avatar billede jajoh Seniormester
11. februar 2017 - 16:34 #2
Godt være men syntes nu ikke det hjælper
Avatar billede claes57 Ekspert
11. februar 2017 - 17:04 #3
Jf https://forum.arduino.cc/index.php?topic=365466.0
If you're using the Arduino IDE you should set your Preferences to verbose output for compile and upload. A description of the exact error will be present
Avatar billede jajoh Seniormester
11. februar 2017 - 17:15 #4
Forstår jeg ikke meget af :-) kan ikke engelsk.
Det er er en UNO .
Skal bare bruge den til en lydfil på en togbane til en jernbane overkørsel.
Så håber der en der kan hjælpe.
Med et stykke der virker på en UNO.
Avatar billede claes57 Ekspert
11. februar 2017 - 17:48 #5
Du hælder din kode ind et sted - hvis det er arduinos programpakke, så skal indstillinger (preferences) sættes til 'fuld tekst' (verbose output = sæt flere ord på  forklaring).
Avatar billede jajoh Seniormester
12. februar 2017 - 12:17 #6
Hmm sort snak.
Tror jeg skal ligge den væk igen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester