SD kaart directory tempread.txt uitlezen via BleuTooth

Arduino specifieke Software
Berichten: 11
Geregistreerd: 08 Jul 2018, 23:03

SD kaart directory tempread.txt uitlezen via BleuTooth

Berichtdoor JanW » 16 Jan 2023, 18:26

Wie kan mij verder helpen met het versturen van de meet gegevens, uit een directory op een SD kaart, via bluetooth.
Ik wil graag met behulp van een schakelaar de hele directory uitlezen, en die via Bluetooth op mijn computer uitlezen na b.v. een week.

De hardware heb ik allemaal voor elkaar, en werkt , maar weet niet hoe ik de software moet aanpassen. De schakelaar zit op A1, en de andere draad zit aan de 0 Volt.

Wie kan dit voor mij oplossen, ik zou er erg blij mee zijn.




// https://www.youtube.com/watch?v=eIc79BisXWk
// https://www.dropbox.com/s/wfwji445o0xha ... e.zip?dl=0
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SD.h>


#include <Wire.h>
#include "DS3231.h"

File myFile;

#define ONE_WIRE_BUS 3

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

DS3231 Clock;

boolean Century = false;
boolean PM = false;

void setup () {

Wire.begin();
Serial.begin(9600);
Serial.print(" Initializing SD card...");
pinMode(10, OUTPUT);
pinMode(4, OUTPUT); // power on, ledje groen
digitalWrite(4, HIGH);
pinMode(2, OUTPUT);// gele ledje voor schrijven op de SD kaart


if (!SD.begin(10)) {
Serial.println("initialization failed!");
return;
}
Serial.println(" initialization done.");
sensors.begin();
}


void loop () {
// delay(598900); is 600 sec
// delay(299450); is 300 sec
// delay(100000); is 101 sec
// delay(60000); is 61 sec
// delay(58700); is 60 sec
// delay(6000); is 7 sec
digitalWrite(2, HIGH);
delay(58700);
digitalWrite(2, LOW);

delay(598900);
delay(299450);

int YT_sec, YT_min, YT_hr, YT_yr, YT_mt, YT_dt;

YT_sec = Clock.getSecond();
// hier komt de meettijd vandaan in dit geval 1 minuut
//if (YT_sec==0) {
YT_min = Clock.getMinute();
//if (YT_min==0) {
YT_hr = Clock.getHour(Century, PM);
//if (YT_hr==0) {
YT_yr = Clock.getYear();
YT_mt = Clock.getMonth(Century);
YT_dt = Clock.getDate();
sensors.requestTemperatures();
myFile = SD.open("tempread.txt", FILE_WRITE);
if (myFile) {
// dag
myFile.print(YT_dt);
myFile.print('/');
// maand
myFile.print(YT_mt);
myFile.print('/');
// jaar
myFile.print(YT_yr);
myFile.print(' ');
// uur
myFile.print(YT_hr);
myFile.print(':');
// minuut
myFile.print(YT_min);
myFile.print(':');
// seconde
myFile.print(YT_sec);
myFile.print(',');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
// sensor
myFile.print(sensors.getTempCByIndex(0));
myFile.print(',');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(sensors.getTempCByIndex(1));
myFile.print(',');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.println(sensors.getTempCByIndex(2));
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.close();
// Dit hieronder gaat het maar de serial printer Com 8 poort
Serial.print(' ');
Serial.println("card write successful");
Serial.print(YT_dt);
Serial.print('/');
Serial.print(YT_mt);
Serial.print('/');
Serial.print(YT_yr);
Serial.print(' ');
Serial.print(YT_hr);
Serial.print(':');
Serial.print(YT_min);
Serial.print(':');
Serial.print(YT_sec);
Serial.print(',');
Serial.print(' ');
Serial.print("Sensor 1 CV: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.print(',');
Serial.print(' ');
Serial.print("Sensor 2 Tapwater: ");
Serial.print(sensors.getTempCByIndex(1));
Serial.print(',');
Serial.print(' ');
Serial.print("Sensor 3 Buiten: ");
Serial.print(sensors.getTempCByIndex(2));
//Serial.print(',');
myFile.close();
} else {
Serial.println("error opening tempread.txt");
}
}

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: SD kaart directory tempread.txt uitlezen via BleuTooth

Berichtdoor shooter » 20 Jan 2023, 13:32

in de setup een input opnemen met INPUT_PULLUP (15) en dan wordt de ingang een gewone digitale ingang die LOW wordt als je het knopje indrukt
paul deelen
shooter@home.nl

Berichten: 11
Geregistreerd: 08 Jul 2018, 23:03

Re: SD kaart directory tempread.txt uitlezen

Berichtdoor JanW » 22 Jan 2023, 16:42

Shooter,

Dank je wel voor je reactie. Ik neem aan dat ik meer moet aanpassen :-)
Het maken van de extra regels lukt me niet. Ik hoop dat iemand de software wil aanpassen. Voor vele op het forum moet het een klus zijn om met 2 vingers in je neus te doen ( hoop ik ).
Ik heb alle overbodige regels uit de software gehaald voor een beter overzicht.

Zou je me verder willen helpen?
Onderstaand de software.


// Op A1 zit een schakelaar om een puls te geven om de directry "tempread.txt" op de SD card uit te lezen op de RX / TX uitgang

#include <OneWire.h>
#include <DallasTemperature.h>
#include <SD.h>
#include <Wire.h>
#include "DS3231.h"

File myFile;

#define ONE_WIRE_BUS 3

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

DS3231 Clock;

boolean Century = false;
boolean PM = false;

void setup () {

Wire.begin();
Serial.begin(9600);
Serial.print(" Initializing SD card...");
pinMode(10, OUTPUT);
pinMode(4, OUTPUT); // power on, ledje groen
digitalWrite(4, HIGH);
pinMode(2, OUTPUT);// gele ledje voor watch dog


if (!SD.begin(10)) {
Serial.println("initialization failed!");
return;
}
Serial.println(" initialization done.");
sensors.begin();
}


void loop () {

digitalWrite(2, HIGH);
delay(10000);
digitalWrite(2, LOW);


int YT_sec, YT_min, YT_hr, YT_yr, YT_mt, YT_dt;

YT_sec = Clock.getSecond();


YT_min = Clock.getMinute();

YT_hr = Clock.getHour(Century, PM);

YT_yr = Clock.getYear();
YT_mt = Clock.getMonth(Century);
YT_dt = Clock.getDate();
sensors.requestTemperatures();
myFile = SD.open("tempread.txt", FILE_WRITE);
if (myFile) {

myFile.print(YT_dt);
myFile.print('/');

myFile.print(YT_mt);
myFile.print('/');

myFile.print(YT_yr);
myFile.print(' ');

myFile.print(YT_hr);
myFile.print(':');

myFile.print(YT_min);
myFile.print(':');

myFile.print(YT_sec);
myFile.print(',');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');

myFile.print(sensors.getTempCByIndex(0));
myFile.print(',');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(sensors.getTempCByIndex(1));
myFile.print(',');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.println(sensors.getTempCByIndex(2));
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.print(' ');
myFile.close();

Serial.print(' ');
Serial.println("card write successful");
Serial.print(YT_dt);
Serial.print('/');
Serial.print(YT_mt);
Serial.print('/');
Serial.print(YT_yr);
Serial.print(' ');
Serial.print(YT_hr);
Serial.print(':');
Serial.print(YT_min);
Serial.print(':');
Serial.print(YT_sec);
Serial.print(',');
Serial.print(' ');
Serial.print("Sensor 1 CV: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.print(',');
Serial.print(' ');
Serial.print("Sensor 2 Tapwater: ");
Serial.print(sensors.getTempCByIndex(1));
Serial.print(',');
Serial.print(' ');
Serial.print("Sensor 3 Buiten: ");
Serial.print(sensors.getTempCByIndex(2));

myFile.close();
} else {
Serial.println("error opening tempread.txt");
}
}

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: SD kaart directory tempread.txt uitlezen via BleuTooth

Berichtdoor shooter » 23 Jan 2023, 12:56

kijk hoe je een in de setup een ingang met pull_up erbij maakt en probeer dan waar je dat in je programma kunt zetten en ja dat kun je heel goed zelf
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: izyataju, Kyliehooca en 15 gasten