dennnoch funktioniert es nicht.
das ist aber keine Aussage die hilft
was funktioniert nicht?
Zeige deinen erweiterten Code nach meinen Vorgaben!
dennnoch funktioniert es nicht.
das ist aber keine Aussage die hilft
was funktioniert nicht?
Zeige deinen erweiterten Code nach meinen Vorgaben!
Raspberry Pi zur Spannungsüberwachung einsetzen, aber wie und ist es möglich?? Schau mal ob du hier fündig wirst!
Sorry, wahrscheinlich ein grober Anfängerfehler meinerseits aber ich komme nicht drauf was es ist
exit status 1
'textzeile' was not declared in this scope
#include <SD.h>
#include <SPI.h>
int CS_PIN = 10;
int val;
int val1,val2;
File file;
void setup()
{
Serial.begin(9600);
initializeSD();
createFile("test.txt");
writeToFile("Das ist ein Test");
closeFile();
}
void loop()
{float temp;
val=analogRead(1);
temp=val/4.092;
val=(int)temp;//
val1=((val%1000)/10);
val2=val%10;
Serial.print(val1);
Serial.print(".");
Serial.print(val2);
Serial.println("V");
delay(1000);
}
void initializeSD()
{
Serial.println("Initializing SD card...");
pinMode(CS_PIN, OUTPUT);
if (SD.begin())
{
Serial.println("SD card is ready to use.");
} else
{
Serial.println("SD card initialization failed");
return;
}
}
int createFile(char filename[])
{
file = SD.open(filename, FILE_WRITE);
if (file)
{
Serial.println("File created successfully.");
return 1;
} else
{
Serial.println("Error while creating file.");
return 0;
}
}
int writeToFile(char text[])
{
if (file)
{
file.println(text);
Serial.println("Writing to file: ");
Serial.println(text);
return 1;
} else
{
Serial.println("Couldn't write to file");
return 0;
}
}
void closeFile()
{0;
sprintf(textzeile, "%d.%dV\r\n", val1, val2);
createFile("test2.txt");
writeToFile(textzeile);
closeFile();
if (file)
{
file.close();
Serial.println("File closed");
}
}
int openFile(char filename[])
{
file = SD.open(filename);
if (file)
{
Serial.println("File opened with success!");
return 1;
} else
{
Serial.println("Error opening file...");
return 0;
}
}
String readLine()
{
String received = "";
char ch;
while (file.available())
{
ch = file.read();
if (ch == '\n')
{
return String(received);
}
else
{
received += ch;
}
}
return "";
}
Alles anzeigen
ab Zeile 68 ist schon mal alles durcheinander
68. void closeFile()
69. {0;
70. sprintf(textzeile, "%d.%dV\r\n", val1, val2);
ergibt so keinen Sinn
textzeile muss global am Anfang definiert werden, dann können alle Subroutinen zugreifen
ich bin grade am aufräumen mit deinem Programm
kommt noch
gelöscht wegen vieler Fehler
Sauerei, warum geht die Formatierung aus notepad++ verloren?
ich mag die neue Forum SW immer noch nicht
..
irgendwie ist die Formatierung kaputtgegangen
neuer Versuch
#include <SD.h>
#include <SPI.h>
int CS_PIN = 10;
int val;
int val1,val2;
File file;
char textzeile[81] = {0}; // 81 Zeichen erst mal gefüllt mit 0, Platz 80 Zeichen + Ende Kennung 0
void setup()
{ Serial.begin(9600);
initializeSD();
} // void setup()
void loop()
{ float temp;
val=analogRead(1);
temp=val/4.092;
val=(int)temp;//
val1=((val%1000)/10);
val2=val%10;
sprintf(textzeile, "%d.%dV\r\n", val1, val2);
createFile("test.txt");
writeToFile(textzeile);
closeFile();
delay(1000);
} // void loop()
void initializeSD()
{ Serial.println("Initializing SD card...");
pinMode(CS_PIN, OUTPUT);
if(SD.begin())
{ Serial.println("SD card is ready to use.");
} // if(SD.begin())
else
{ Serial.println("SD card initialization failed");
return;
} // if(!SD.begin())
} // void initializeSD()
int createFile(char filename[])
{ file = SD.open(filename, FILE_WRITE);
if(file)
{ Serial.println("File created successfully.");
return 1;
} // if(file)
else
{ Serial.println("Error while creating file.");
return 0;
} // if(!file)
} // int createFile(char filename[])
int writeToFile(char text[])
{ if(file)
{ file.println(text);
Serial.println("Writing to file: ");
Serial.println(text);
return 1;
} // if(file)
else
{ Serial.println("Couldn't write to file");
return 0;
} // if(!file)
} // int writeToFile(char text[])
void closeFile()
{ if(file)
{ file.close();
Serial.println("File closed");
} // if(file) ENDE von if(file)
} // void closeFile() ENDE von closeFile()
int openFile(char filename[])
{ file = SD.open(filename);
if (file)
{ Serial.println("File opened with success!");
return 1;
}
else
{ Serial.println("Error opening file...");
return 0;
}
}
String readLine()
{ String received = "";
char ch;
while (file.available())
{ ch = file.read();
if (ch == '\n')
{ return String(received);
} // if (ch == '\n')
else
{ received += ch;
}
} // while (file.available())
return "";
}
Alles anzeigen
was soll denn das, die Forensoft übernimmt nicht die TABS
und haut dafür Leerzeilen rein!
Raspberry Pi zur Spannungsüberwachung einsetzen, aber wie und ist es möglich?
läuft in der Arduino IDE zumindest ohne Fehler durch
Der Sketch verwendet 13442 Bytes (43%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 1159 Bytes (56%) des dynamischen Speichers, 889 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Boaaaaaaaaa!!!!!! Die Funktion "Inhalt kopieren" ruft die Fehler hevor!!!!!
Nachdem ich den Post direkt aus dem Forum markiert und kopiert habe, läuft es und es FUNKTIONIERT!!! ich glaubs nicht!!
DANKE DANKE DANKE DANKE!!!!!!!
Schade dass mein RTC-Modul noch nicht da ist, sonst hätte ich den auch schon eingebunden und wär fertig damit
toll selten so schnell helfen zu können, deine Lernkurve ist beachtlich!
so nun bringst du noch Ordnung in die Formatierung und lernst, der Rest wird dann schon!
Ohne dich hätte ich es nicht geschafft, irgendwann verliere ich den Überblick und hab nen blackout
Ich warte nur noch auf das RTC Modul, dann den noch einbinden so dass ich folgendes als eintrag in der Datei sehe:
z.B.
4,9V 10.01.2017 21:55
4,9V 10.01.2017 21:56
usw.
Dann ist dieses Projekt beendet
Soeben habe ich die Englischen Meldungen auf deutsch umgeschriben, ist aber nur Kosmetik :
#include <SD.h>
#include <SPI.h>
int CS_PIN = 10;
int val;
int val1,val2;
File file;
char textzeile[81] = {0}; // 81 Zeichen erst mal gefüllt mit 0, Platz 80 Zeichen + Ende Kennung 0
void setup()
{ Serial.begin(9600);
initializeSD();
} // void setup()
void loop()
{ float temp;
val=analogRead(1);
temp=val/4.092;
val=(int)temp;//
val1=((val%1000)/10);
val2=val%10;
sprintf(textzeile, "%d.%dV\r\n", val1, val2);
createFile("test.txt");
writeToFile(textzeile);
closeFile();
delay(3000);
} // void loop()
void initializeSD()
{ Serial.println("Initialisiere die Speicherkarte...");
pinMode(CS_PIN, OUTPUT);
if(SD.begin())
{ Serial.println("Speicherkarte Betriebsbereit.");
} // if(SD.begin())
else
{ Serial.println("Initialisierung der Speicherkarte fehlgeschlagen");
return;
} // if(!SD.begin())
} // void initializeSD()
int createFile(char filename[])
{ file = SD.open(filename, FILE_WRITE);
if(file)
{ Serial.println("Datei erfolgreich erstellt.");
return 1;
} // if(file)
else
{ Serial.println("Fehler beim erstellen der Datei.");
return 0;
} // if(!file)
} // int createFile(char filename[])
int writeToFile(char text[])
{ if(file)
{ file.println(text);
Serial.println("Schreibe in die Datei: ");
Serial.println(text);
return 1;
} // if(file)
else
{ Serial.println("Kann nicht in die Datei schreiben");
return 0;
} // if(!file)
} // int writeToFile(char text[])
void closeFile()
{ if(file)
{ file.close();
Serial.println("Datei wurde geschlossen");
} // if(file) ENDE von if(file)
} // void closeFile() ENDE von closeFile()
int openFile(char filename[])
{ file = SD.open(filename);
if (file)
{ Serial.println("Datei Erfolgreich geöffnet!");
return 1;
}
else
{ Serial.println("Fehler beim öffnen der Datei...");
return 0;
}
}
String readLine()
{ String received = "";
char ch;
while (file.available())
{ ch = file.read();
if (ch == '\n')
{ return String(received);
} // if (ch == '\n')
else
{ received += ch;
}
} // while (file.available())
return "";
}
Alles anzeigen
Ich melde mich falls ich mit dem RTC-Modul nicht weiterkomme.
DANKE NOCHMAL und schönen Abend!!!
Darf ich dir was fragen?
Findest du es gut zu lesen direkt nach einer geschweifte klammer ein befehl zu schreiben?
Greats
ich ja,
spart Zeilen und wenn Klammer auf und Klammer zu in einer Spalte stehen sieht man es leichter
als wenn Klammer auf am Ende und Klammer zu am Anfang steht.
Guten Tag!
Nun das RTC DS3231-Modul is eingetroffen!
Ich bin dabei das RTC Modul zum laufen zu bringen ich scheitere aber immer noch an dem Test-Sketch der vom Verkäufer zur Verfügung gestellt wurde nur um das RTC Modul allein zum laufen zu bringen.
Ständig bekomme ich die Meldung:
ZitatAlles anzeigenArduino: 1.8.3 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\Matej\Desktop\DS3231_TEST\Examples\DS3231_TEST\DS3231_TEST.ino:13:20: fatal error: DS3231.h: No such file or directory
#include <DS3231.h>
^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Hier ist der zur Verfügung gestellter Code:
/*
DS3231_test.pde
Eric Ayars
4/11
Test/demo of read routines for a DS3231 RTC.
Turn on the serial monitor after loading this to check if things are
working as they should.
*/
#include <DS3231.h>
#include <Wire.h>
DS3231 Clock;
bool Century=false;
bool h12;
bool PM;
byte ADay, AHour, AMinute, ASecond, ABits;
bool ADy, A12h, Apm;
byte year, month, date, DoW, hour, minute, second;
void setup() {
// Start the I2C interface
Wire.begin();
Clock.setSecond(50);//Set the second
Clock.setMinute(59);//Set the minute
Clock.setHour(11); //Set the hour
Clock.setDoW(5); //Set the day of the week
Clock.setDate(31); //Set the date of the month
Clock.setMonth(5); //Set the month of the year
Clock.setYear(13); //Set the year (Last two digits of the year)
// Start the serial interface
Serial.begin(115200);
}
void ReadDS3231()
{
int second,minute,hour,date,month,year,temperature;
second=Clock.getSecond();
minute=Clock.getMinute();
hour=Clock.getHour(h12, PM);
date=Clock.getDate();
month=Clock.getMonth(Century);
year=Clock.getYear();
temperature=Clock.getTemperature();
Serial.print("20");
Serial.print(year,DEC);
Serial.print('-');
Serial.print(month,DEC);
Serial.print('-');
Serial.print(date,DEC);
Serial.print(' ');
Serial.print(hour,DEC);
Serial.print(':');
Serial.print(minute,DEC);
Serial.print(':');
Serial.print(second,DEC);
Serial.print('\n');
Serial.print("Temperature=");
Serial.print(temperature);
Serial.print('\n');
}
void loop() {ReadDS3231();delay(1000);
// send what's going on to the serial monitor.
// Start with the year
/* Serial.print("2");
if (Century) { // Won't need this for 89 years.
Serial.print("1");
} else {
Serial.print("0");
}
Serial.print(Clock.getYear(), DEC);
Serial.print('-');
// then the month
Serial.print(Clock.getMonth(Century), DEC);
Serial.print('-');
// then the date
Serial.print(Clock.getDate(), DEC);
Serial.print(' ');*/
// and the day of the week
/*Serial.print(Clock.getDoW(), DEC);
Serial.print(' ');*/
// Finally the hour, minute, and second
/*Serial.print(Clock.getHour(h12, PM), DEC);
Serial.print(':');
Serial.print(Clock.getMinute(), DEC);
Serial.print(':');
Serial.print(Clock.getSecond(), DEC);
// Add AM/PM indicator
if (h12) {
if (PM) {
Serial.print(" PM ");
} else {
Serial.print(" AM ");
}
} else {
Serial.print(" 24h ");
}
// Display the temperature
Serial.print("T=");
Serial.print(Clock.getTemperature(), 2);
// Tell whether the time is (likely to be) valid
if (Clock.oscillatorCheck()) {
Serial.print(" O+");
} else {
Serial.print(" O-");
}*/
// Indicate whether an alarm went off
/*if (Clock.checkIfAlarm(1)) {
Serial.print(" A1!");
}
if (Clock.checkIfAlarm(2)) {
Serial.print(" A2!");
}*/
// New line on display
//Serial.print('\n');
// delay(1000);
// Display Alarm 1 information
/* Serial.print("Alarm 1: ");
Clock.getA1Time(ADay, AHour, AMinute, ASecond, ABits, ADy, A12h, Apm);
Serial.print(ADay, DEC);
if (ADy) {
Serial.print(" DoW");
} else {
Serial.print(" Date");
}
Serial.print(' ');
Serial.print(AHour, DEC);
Serial.print(' ');
Serial.print(AMinute, DEC);
Serial.print(' ');
Serial.print(ASecond, DEC);
Serial.print(' ');
if (A12h) {
if (Apm) {
Serial.print('pm ');
} else {
Serial.print('am ');
}
}
if (Clock.checkAlarmEnabled(1)) {
Serial.print("enabled");
}
Serial.print('\n');
// Display Alarm 2 information
Serial.print("Alarm 2: ");
Clock.getA2Time(ADay, AHour, AMinute, ABits, ADy, A12h, Apm);
Serial.print(ADay, DEC);
if (ADy) {
Serial.print(" DoW");
} else {
Serial.print(" Date");
}
Serial.print(' ');
Serial.print(AHour, DEC);
Serial.print(' ');
Serial.print(AMinute, DEC);
Serial.print(' ');
if (A12h) {
if (Apm) {
Serial.print('pm');
} else {
Serial.print('am');
}
}
if (Clock.checkAlarmEnabled(2)) {
Serial.print("enabled");
}*/
/* display alarm bits
Serial.print('\n');
Serial.print('Alarm bits: ');
Serial.print(ABits, DEC);
*/
/*
Serial.print('\n');
Serial.print('\n');
delay(1000);
// Display the time once more as a test of the getTime() function
Clock.getTime(year, month, date, DoW, hour, minute, second);
Serial.print(year, DEC);
Serial.print("/");
Serial.print(month, DEC);
Serial.print("/");
Serial.print(date, DEC);
Serial.print("day of the week :");
Serial.println(DoW, DEC);
Serial.print(hour, DEC);
Serial.print(":");
Serial.print(minute, DEC);
Serial.print(":");
Serial.println(second, DEC);*/
}
Alles anzeigen
Ich wollte das Modul erstmal wenigstens einzel zum laufen bringen.
Dann hast du wohl die DS3231 Bibliothek nicht installiert. Wie das geht und welche verwendet wird (eine schnelle Suche brachte kein eindeutiges Ergebnis, es gibt mehrere) steht bestimmt ebenfalls dort, wo du den Beispielcode her hast. Hellsehen kann ich leider nicht, sehr wohl aber Fehlermeldungen interpretieren.
ich nutze immer noch die DS1307new LIB die ist klasse nur berücksichtigt sie nicht die Alarm Clock
die hatte ich unter AVR Studio 4.18 manuell genutzt
Hi,
jar: und was hat das jetzt mit der Fehlermeldung zu tun, die die Arduino IDE wirft und dem TO zu schaffen macht?
Matej: Library installieren, wie Linus schon schrub. Enstweder über den Manager (Sketch->Bibliothek einbinden->Bibliotheken verwalten) oder zu Fuss. Da musst Du halt mal schauen.
cu,
-ds-
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!