Go Down

Topic: Benötige Hilfe bei einem Programm code  (Read 1 time) previous topic - next topic

hxf_martin

Hey Leute :)

Ich arbeite grad an einem Projekt (Wecker). Jedoch ich hab mich da bisher an den codes von der rtc und vom mp3 shield orientiert (funduinoshop). Ich hab jedoch als ich diese kopiert habe probleme mit den Libarys. ich kann die Vom mp 3 shield nicht in meinen arduino ?client? einfügen, wodurch das programm (welches ich noch erweitern muss ) nicht funktionieren kann.

Hilfe wäre echt super :)

Falls mir da jemand via discord helfen könnte wäre ich sehr dankbar (hxfzocker#7057)
muss jedoch nicht via discord sein sondern einfach unter diesem post :)

mfg Martin


Tommy56

Dann wäre es an der Zeit, dass Du Dir einige Grundkenntnisse aneignest. z.B. wie man Libs installiert.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

combie

Hi, herzlich willkommen!

Hmm ... zu deinem Vorhaben ...
Ich glaube nicht, dass hier jemand einen Privat Lehrgang, abseits des Forums, mit dir durchzieht.


Sach doch einfach, welche Probleme du hast....
Zeige deinen Code.

Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

hxf_martin

#3
Oct 31, 2017, 02:48 pm Last Edit: Oct 31, 2017, 02:54 pm by hxf_martin
Also ich habe schon gewisse libarys installiert bloß bei dieser einen funktioniert das nicht :/


Der code bisher sieht so aus

Code: [Select]
#include <Time.h>
#include <Wire.h>
#include <DS1307RTC.h>
#include <LiquidCrystal_I2C.h> //Bibliotheken laden
LiquidCrystal_I2C lcd(0x3D, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //Das I²C Display bennen und die HEX Adresse //eingeben (bei uns 0x3D)

#include <SPI.h>      // libraries
#include <SdFat.h>
#include <SdFatUtil.h>
#include <SFEMP3Shield.h>
SdFat sd;       //SD Karte benennen
SFEMP3Shield MP3player;   //MP3 Shield als „MP3Player benennen

void setup() {
lcd.begin(16, 2); //Das Display starten, festlegen dass es sich um ein Display mit 16 Zeichen in 2 Zeilen //handelt
lcd.backlight(); //Beleuchtung des Displays einschalten
Serial.begin(9600); //Seriellen Verbindung mit Baudrate 9600 starten
setSyncProvider(RTC.get); //Daten von der RTC abrufen

 Serial.begin(9600);   //Serielle Verbindung starten

 if(!sd.begin(9, SPI_HALF_SPEED)) sd.initErrorHalt();  //SD Karte mit MP3 Dateien auslesen
 if (!sd.chdir("/")) sd.errorHalt("sd.chdir");

 MP3player.begin();    //MP3 Shield starten
 MP3player.setVolume(10,10); //Die Lautstärke einstellen
 
}

void loop() {
 
 MP3player.available();
 
Serial.print(hour()); //Serial.print ist der Befehl etwas im seriellen Monitor anzuzeigen (Stunde, Minute, //Sekunde,Leerzeichen, Tag, Leerzeichen, usw.)
printDigits(minute()); //bei den Minuten und Sekunden wird der Befehl
printDigits(second()); //printDigits verwendet, welcher am Ende des Codes noch festgelegt wird
Serial.print(" „);
Serial.print(day());
Serial.print(" „);
Serial.print(month());
Serial.print(" „);
Serial.print(year());
Serial.println();
delay(1000); //eine Sekunde warten
lcd.setCursor(2, 0); // setCursor gibt an wo der Text beginnen soll. In diesem Fall beim dritten Zeichen in //der ersten Reihe.
lcd.print(hour()); //Die Uhrzeit soll angezeigt werden im Format:
lcd.print(„:"); //Stunden:minuten:sekunden
lcd.print (minute());
lcd.print(„:");
lcd.print(second());
lcd.print(" „);
lcd.print(„Uhr"); //Dahinter soll das Wort „Uhr" angezeigt werden
lcd.print(" „);
lcd.print(" „);
lcd.print(" „);
lcd.setCursor(1, 1); //In der zweiten Zeile soll das Datum angezeigt //werden
lcd.print(day());
lcd.print(„.");
lcd.print(month());
lcd.print(„.");
lcd.print(year());
}

void printDigits(int digits){ //Der printDigits Befehl für den seriellen Monitor
Serial.print(„:");
if(digits < 10)
Serial.print(‚0');
Serial.print(digits);
}
{  
int day;
day = weekday(); // Die Wochentage sollen abhängig vom Datum angezeigt werden.
if(day == 1){lcd.print("So, ");} // Wenn es sich um Tag 1 handelt soll „So" usw. angezeigt werden.
if(day == 2){lcd.print("Mo, ");}  
if(day == 3){lcd.print("Di, ");}
if(day == 4){lcd.print("Mi, ");}
if(day == 5){lcd.print("Do, ");}
if(day == 6){lcd.print("Fr, ");}
if(day == 7){lcd.print("Sa, ");}
}

}

Tommy56

#4
Oct 31, 2017, 02:52 pm Last Edit: Oct 31, 2017, 02:54 pm by Tommy56
Setze Deinen Sketch bitte in Codetags (</> oben links im Editor). Damit wird er besonders auf mobilen Geräten erst lesbar.

Gruß Tommy

Edit: Es ist auch unheimlich hilfreich, die Fehlermeldung geheim zu halten.
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)


uwefed

Edit: Es ist auch unheimlich hilfreich, die Fehlermeldung geheim zu halten.
@hxf_martin
Das war ironisch gemeint , kein Lob. Du solltest antworten.
Grüße Uwe

michael_x

Ich sehe 8 libraries in deinem Code.

Welche funktioniert denn nicht? Und woran siehst du das?

hxf_martin

Das ist der fehler der dabei rauskommt

Arduino: 1.8.4 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\dell\Documents\Arduino\Wecker\Wecker.ino:8:19: fatal error: SdFat.h: No such file or directory

 #include <SdFat.h>

                   ^

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.
Angegebener Ordner/ZIP-Datei enthält keine gültige Bibliothek

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Tommy56

Steht die SdFat im Ordner <Sketchbook>\libraries\SdFat ?

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

hxf_martin

nein, da ich von der website (https://github.com/madsci1016/Sparkfun-MP3-Player-Shield-Arduino-Library)
die libary integrieren kann
und ich weiß nicht wieso

Tommy56

Da gehört sie aber hin, also mach das mal. Du hast die Grundlagen nicht gelesen, die ich verlinkt habe.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

hxf_martin

ich hab diese liabary manuell eingefügt laut anleitung es kommt aber trotzdem zum selben problem :/

Tommy56

Da von hier aus keiner auf Deinen Rechner schauen kann, wird es sehr schwer werden, Dir mit den geringen Informationen deinerseits zu helfen.
Die Fehlermeldung bleibt die Gleiche?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)


Go Up