Keresés

Részletes keresés

titusz99 Creative Commons License 2015.12.14 0 0 1386

A String műveletek eszik a ram-ot.

Constans szövegek tudomásom szerint ram-ban (is) tárolódnak.

Amikor elfogyott a ram-om, akkor eltüntek a szövegek, de szerencsére emiatt nem szállt el.

Esetenként érdemes a Sting.reserved használata.

Előzmény: Törölt nick (1385)
Törölt nick Creative Commons License 2015.12.14 0 0 1385

Most töltöm fel a kódot élesben. 

Serialból kivettem, már csökkent.

Még nem megy az RTC date, time kiírás sd-re.

Előzmény: titusz99 (1384)
titusz99 Creative Commons License 2015.12.14 0 0 1384

Van látható jele hiánynak?

Hiányos szövegek LCD-n, Serial-on, esetleg datalog.txt-ben.

Vagy úgy elszáll?

Előzmény: Törölt nick (1379)
Zizikus Creative Commons License 2015.12.14 0 0 1383

Amit korábban írtam, datastring-es megoldást, azt is sokkal egyszerűbbé lehetne tenni, de megnézem hogyan. remélem sikerül. az is elvisz sok memóriát feleslegesen, de akkor még nem tudtam, hogy ilyen problémák lehetnek.

Előzmény: Zizikus (1382)
Zizikus Creative Commons License 2015.12.14 0 0 1382

Szia!

 

Első körben mentsd el egy biztos helyre a kódodat.

 

2. kör:

 

Sok változót definiálsz a loop-on belül, lehet nem tesz neki jót, tedd ki amit lehet a setup-részbe.

 

"float T1 = sensors.getTempC(pufferfent);
float T2 = sensors.getTempC(puffer1_3);
float T3 = sensors.getTempC(puffer2_3);
float T4 = sensors.getTempC(pufferlent);
float kW1 = ((T1+T2+T2+T3+T3+T4)/6)-37 ;
float kW"

 

Itt is ha jól látom akkor definiálod a változókat a loop-on belül.

 

3.kör:

 

Sok include-od van! Vagy vegyél ki belőle, nézd meg mi mihez kell, vagy írj kisebbet a gyárinál, mert lehet abban sok minden van,amire neked itt nincs szükséged. Nem fordulhat olyan elő, hogy két különbözőt használsz, de egy is elég lenne? one wire, wire például

 

DS3231: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA1 (Digital 70) pin
// SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL1 (Digital 71) pin

 

Miért kell ez neked? Nem látom át sajnos. Biztos valamit még külön meghajtasz, de a nano-n van ilyen láb, miért kell ez oda?

 

4.kör:

 

Nem kell annyi változó, ha csak számolsz és kiíratsz dolgokat.

float kW1 = ((sensors.getTempC(pufferfent)+sensors.getTempC(puffer1_3)+sensors.getTempC(puffer2_3)/6)-37 ;

nem írtam ki mindet.....

 

Ez helyett:

float temppufferfent = 0.0;
float temppuffer1_3 = 0.0;
float temppuffer2_3 = 0.0;
float temppufferlent = 0.0;

 

// Kiolvassuk Ds18B20 szenzorokat.
temppufferfent = sensors.getTempC(pufferfent);
temppuffer1_3 = sensors.getTempC(puffer1_3);
temppuffer2_3 = sensors.getTempC(puffer2_3);
temppufferlent = sensors.getTempC(pufferlent);

 

azt kellene, hogy csak a megadott helyeken kiíratod számolsz vele stb, de nem a változókkal, hanem a sensors.getTempC(pufferlent)- segítségével. (sok ilyen van a kódodban, ami nem baj, csak látod kicsi a memória.)

 

 

5.kör:

 

Nem tudom pontosan, de a kommentek is elvihetnek sok bájtot, de ha jól gondolom akkor azok nem fordulnak bele a kódba! (vb6 ban belementek azok is!)

 

 

Előzmény: Törölt nick (1380)
titusz99 Creative Commons License 2015.12.14 0 0 1381

csökkented a Serial buffer méretét.

hosszabb textek (constans) flash-ba helyezése.

Előzmény: Törölt nick (1380)
Törölt nick Creative Commons License 2015.12.14 0 0 1380

// Arduino Nano
// ----------------------
// DS3231: SDA pin -> Arduino Analog 4 or the dedicated SDA pin
// SCL pin -> Arduino Analog 5 or the dedicated SCL pin
//
// Arduino Due:
// ----------------------
// DS3231: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA1 (Digital 70) pin
// SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL1 (Digital 71) pin
//

/*
Arduino Nano, ATmega328
YourDuino.com Example: Multiple DS18B20 Temperature Sensors
Displayed on 4x20 character LCD display

DS18B20 Pinout (Left to Right, pins down, flat side toward you)
- fekete = Ground
- sárga = Signal (Pin 2): (with 3.3K to 4.7K resistor to +5 or 3.3 )
- zöld = +5 or +3.3 V */
#include <DS3231.h>
#include <SPI.h>
#include <SD.h>
#include <avr/wdt.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DS1624.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <MAX6675.h>
DS1624 temperature1(0x48);
DS1624 temperature2(0x4E);
DS1624 temperature3(0x4D);
/*-----( Declare Constants and Pin Numbers )-----*/
// Data wire is plugged into port 2 on the Arduino (can be changed)
#define ONE_WIRE_BUS 2 // NOTE: No ";" on #define
#define SZV1START 3 // relay1
#define LAKAS1 5 // relay2
#define PUFFER 4 // relay3
#define SZV2START 6 // relay4
#define BYPASS 7 // relay5
#define LAKAS2 8 // relay6
/*-----( Declare objects )-----*/
// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass address of our oneWire instance to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// Start the LCD display library
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display
int LED1 = 13; // Status LED Pin
int CS = 10; // CS pin on MAX6675
int SO = 11; // SO pin of MAX6675
int SCLK = 9; // SCLK pin of MAX6675
int units = 1; // Units to readout temp (0 = raw, 1 = ˚C, 2 = ˚F)
float fusthofok = 0.0; // Temperature output variable

// Initialize the MAX6675 Library for our chip
MAX6675 temp(CS,SO,SCLK,units);


// Setup Serial output and LED Pin
// MAX6675 Library already sets pin modes for MAX6675 chip!
/*-----( Declare Variables )-----*/
// Assign the addresses of your 1-Wire temp sensors.
// See the tutorial on how to obtain these addresses:
// http://arduino-info.wikispaces.com/Brick-Temperature-DS18B20#Read%20individual

// WP 1
DeviceAddress pufferfent = { 0x28, 0xAC, 0xFA, 0x26, 0x06, 0x00, 0x00, 0x8C }; // "T1"
DeviceAddress puffer1_3 = { 0x28, 0x61, 0xBB, 0x26, 0x06, 0x00, 0x00, 0x7D }; // "T2"
DeviceAddress puffer2_3 = { 0x28, 0x99, 0x10, 0x26, 0x06, 0x00, 0x00, 0xED }; // "T3"
DeviceAddress pufferlent = { 0x28, 0x15, 0x1F, 0x28, 0x06, 0x00, 0x00, 0x00 }; // "T4"
float temppufferfent = 0.0;
float temppuffer1_3 = 0.0;
float temppuffer2_3 = 0.0;
float temppufferlent = 0.0;
// Init the DS3231 using the hardware interface
DS3231 rtc(SDA, SCL);

void setup() /****** SETUP: RUNS ONCE ******/
{

wdt_disable();
lcd.init(); // initialize the lcd
lcd.backlight();
Serial.begin(9600);
rtc.begin();

// The following lines can be uncommented to set the date and time
//rtc.setDOW(WEDNESDAY); // Set Day-of-Week to SUNDAY
//rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(1, 1, 2016); // Set the date to January 1st, 2016

//------- Initialize the Temperature measurement library--------------
sensors.begin();
// set the resolution to 10 bit (Can be 9 to 12 bits .. lower is faster)
sensors.setResolution(pufferfent, 10); //T1
sensors.setResolution(puffer1_3, 10); //T2
sensors.setResolution(puffer2_3, 10); //T3
sensors.setResolution(pufferlent, 10); //T4
temperature1.start();
temperature2.start();
temperature3.start();
pinMode(LED1, OUTPUT);
pinMode(SZV1START, OUTPUT);
pinMode(LAKAS1, OUTPUT);
pinMode(PUFFER, OUTPUT);
pinMode(SZV2START,OUTPUT);
pinMode(LAKAS2,OUTPUT);
pinMode(BYPASS,OUTPUT);
digitalWrite(SZV1START, HIGH); // szv1 áll
digitalWrite(LAKAS1, HIGH);
digitalWrite(PUFFER, HIGH); // pufferre állítja az irányváltó1-et
digitalWrite(SZV2START,HIGH); // szv2 áll
digitalWrite(LAKAS2, HIGH);
digitalWrite(BYPASS,HIGH); // bypassra állítja irányváltó2-őt
pinMode(A0, OUTPUT);
wdt_enable(WDTO_8S);
}//--(end setup )---
void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
// Send Day-of-Week
Serial.print(rtc.getDOWStr());
Serial.print(" ");

// Send date
Serial.print(rtc.getDateStr());
Serial.print(" -- ");

// Send time
Serial.println(rtc.getTimeStr());

digitalWrite(LED1, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(LED1, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for a second
SD.begin(A0);
// Lakástermosztát fűtésre kapcsol= A3=5V
int sensorValue = analogRead(A3);
float LAKASFUTES = sensorValue * (5.0 / 1023.0);
delay(100);
sensors.requestTemperatures(); // Send the command to get temperatures
// Kiolvassuk Ds18B20 szenzorokat.
temppufferfent = sensors.getTempC(pufferfent);
temppuffer1_3 = sensors.getTempC(puffer1_3);
temppuffer2_3 = sensors.getTempC(puffer2_3);
temppufferlent = sensors.getTempC(pufferlent);
float T1 = sensors.getTempC(pufferfent);
float T2 = sensors.getTempC(puffer1_3);
float T3 = sensors.getTempC(puffer2_3);
float T4 = sensors.getTempC(pufferlent);
float kW1 = ((T1+T2+T2+T3+T3+T4)/6)-37 ;
float kW = kW1*1.2771 ;
float szazalek = kW/64*100;
delay(400);

// Read the temp from the MAX6675
fusthofok = temp.read_temp();

float T5 = temperature1.getTemp();
float T6 = temperature2.getTemp();
float T7 = temperature3.getTemp();
delay(400);

Serial.println(LAKASFUTES);
Serial.println(fusthofok);
Serial.println(T1);
Serial.println(T2);
Serial.println(T3);
Serial.println(T4);
Serial.println(T5);
Serial.println(T6);
Serial.println(T7);
Serial.println(kW);
Serial.println(szazalek);

String dataString = "";
dataString += String(rtc.getTimeStr());
dataString += ";";
dataString += String(LAKASFUTES);
dataString += ";";
dataString += String(fusthofok);
dataString += ";";
dataString += String(T1);
dataString += ";";
dataString += String(T2);
dataString += ";";
dataString += String(T3);
dataString += ";";
dataString += String(T4);
dataString += ";";
dataString += String(T5);
dataString += ";";
dataString += String(T6);
dataString += ";";
dataString += String(T7);
dataString += ";";
dataString += String(kW);
dataString += ";";
dataString += String(szazalek);
dataString += ";";

File dataFile = SD.open("datalog.txt", FILE_WRITE);

// if the file is available, write to it:
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}
delay (100);

if(T7 > 63 && fusthofok > 100)
{

digitalWrite(LAKAS1,HIGH );
digitalWrite(SZV1START,LOW);
digitalWrite(PUFFER, LOW);
}
else
{
if(T7 > 58)
{
digitalWrite(PUFFER, HIGH);
digitalWrite(LAKAS1, LOW);
digitalWrite(SZV1START, LOW);
}
else
{
digitalWrite(PUFFER, LOW);
digitalWrite(LAKAS1, HIGH);
digitalWrite(SZV1START, HIGH);
}
}

if ( LAKASFUTES > 4)
{
if(szazalek > 1)
{
digitalWrite(BYPASS, HIGH);
digitalWrite(LAKAS2, LOW); // 6. RELÉ
digitalWrite(SZV2START, LOW); // 4. RELÉ
}
else
{
digitalWrite(LAKAS2, HIGH);
digitalWrite(BYPASS, LOW); // 5. RELÉ
digitalWrite(SZV2START, HIGH); // 4. RELÉ
}
}
else
{
digitalWrite(LAKAS2, HIGH);
digitalWrite(BYPASS, LOW); // 5. RELÉ
digitalWrite(SZV2START, HIGH); // 4. RELÉ
}
delay(100);
// clear the screen
lcd.clear();
lcd.home();
lcd.backlight();
lcd.setCursor(8,0);
lcd.print("PUFFER");
lcd.setCursor(0,1);
lcd.print("T1=");
lcd.setCursor(4,1);
lcd.print(T1);
lcd.setCursor(11,1);
lcd.print("T2=");
lcd.setCursor(14,1);
lcd.print(T2);
lcd.setCursor(0,2);
lcd.print("T3=");
lcd.setCursor(4,2);
lcd.print(T3);
lcd.setCursor(11,2);
lcd.print("T4=");
lcd.setCursor(14,2);
lcd.print(T4);
lcd.setCursor(0,3);
lcd.print("kW=");
lcd.setCursor(4,3);
lcd.print(kW);
lcd.setCursor(11,3);
lcd.print("%=");
lcd.setCursor(14,3);
lcd.print(szazalek);
delay(2000);
// clear the screen
lcd.clear();
lcd.home();
lcd.backlight();
lcd.setCursor(8,0);
lcd.print("LAKAS");
lcd.setCursor(0,1);
lcd.print("T5=");
lcd.setCursor(4,1);
lcd.print(T5);
lcd.setCursor(11,1);
lcd.print("T6=");
lcd.setCursor(14,1);
lcd.print(T6);
lcd.setCursor(8,2);
lcd.print("KAZAN");
lcd.setCursor(0,3);
lcd.print("T7=");
lcd.setCursor(4,3);
lcd.print(T7);
lcd.setCursor(11,3);
lcd.print("T8=");
lcd.setCursor(14,3);
lcd.print("0");
delay(2000);
// clear the screen
lcd.clear();
lcd.home();
lcd.backlight();
lcd.setCursor(8,0);
lcd.print("FUSTHOFOK");
lcd.setCursor(0,1);
lcd.print("fusthofok=");
lcd.setCursor(11,1);
lcd.print(fusthofok);
delay(1000);
wdt_reset();
} // End

Előzmény: Törölt nick (1379)
Törölt nick Creative Commons License 2015.12.14 0 0 1379

Tovább írtam a termokontroll kódot nanora, gond van:

 

Sketch uses 28 800 bytes (93%) of program storage space. Maximum is 30 720 bytes.
Global variables use 1 629 bytes (79%) of dynamic memory, leaving 419 bytes for local variables. Maximum is 2 048 bytes.
Low memory available, stability problems may occur.

Mivel csökkenne a memória foglalás a fenti kódnál?

halaloszto Creative Commons License 2015.12.14 0 0 1378

általában egy igéről elnevezett metódus az csinál valamit. ReadAxis az kiolvassa. Ha úgy hívnák hogy getAxisReader, akkor esélyes hogy egy kiolvasó objektumot vagy rutint adna vissza, amivel tényleg tudnál olvasni. 

 

Vajk

Előzmény: kiki71 (1377)
kiki71 Creative Commons License 2015.12.14 0 0 1377

Köszönöm válaszod, EZ VOLT a hiba. Én azt hittem, hogy a "scaled.XAxis" olvassa ki az értéket.

Siker, hozzászólásoknak köszönhetően egyszerűbb és jó lett.

Előzmény: halaloszto (1376)
halaloszto Creative Commons License 2015.12.14 0 0 1376

  MagnetometerRaw raw = compass.ReadRawAxis();
  MagnetometerScaled scaled = compass.ReadScaledAxis();

 

ezek olvassák ki hogy mi a helyzet az iránytűvel. a többi már az eredménnyel szórakozik. egyszer nézted csak meg az iránytűt.

 

az első futásodban -39-et mondott, ezt adtad össze 5ször meg osztottad el 5ttel.

a másodikban -34-et...

 

meg kell nézd az iránytűt a ciklus belsejében, hogy legyen 5 igazi mérésed, azokat átlagold.

Előzmény: kiki71 (1374)
halaloszto Creative Commons License 2015.12.14 0 0 1375

a magnetométert egyszer olvasod ki, és utánna a ciklusod beírja az értéket a tömb minden elemébe. ha a ciklisban olvasnád ki az eszközt, akkor a tömb elemeibe mindbe külön mérés eredménye kerülne.

 

Vajk

Előzmény: kiki71 (1370)
kiki71 Creative Commons License 2015.12.14 0 0 1374

Köszönöm válaszod!

 

Szuper jó ötlet és tényleg jóval egyszerűbb, mint amit kiokoskodtam. Azért írtam így, mert most tanulom a for-t meg a switch-t :).  Nem loop-ban lesz, külön hivatkozás lesz. A "De minek" rész tetszik legjobban, ki is próbáltam gyorsan, de sajnos így is ugyanaz történik a scaled.XAxis értéke 5* ugyanaz és csak a következő ciklusban lesz új érték(cikluson belül valamiért nem olvas új értéket):

int x=0;
int y=0;
for(int i=0;i<5;i++){
  a=scaled.XAxis;
      x+=a;
    delay(100);
    Serial.print(a);
    Serial.print("  ");
    Serial.print(x);
    Serial.print("  ");

    delay(100);
  }

y=x/5;

Serial.println(y);
}

 

Eredmény:

-39  -39  -39  -78  -39  -117  -39  -156  -39  -195  -39
-34  -34  -34  -68  -34  -102  -34  -136  -34  -170  -34
-35  -35  -35  -70  -35  -105  -35  -140  -35  -175  -35

Előzmény: Zizikus (1372)
Vargham Creative Commons License 2015.12.14 0 0 1373

Persze ez a magyar lokalizált beállításokra igaz.

Pont ez a bajom vele. :-)

Előzmény: titusz99 (1367)
Zizikus Creative Commons License 2015.12.14 0 0 1372

Annyit azért hozzáfűznék, hogy:

 

Ertek+=scaled.XAxis;

 

sorban a scaled.XAxis helyett a frissen olvasott adat kellene... :-)

 

Elnéztem

Előzmény: Zizikus (1371)
Zizikus Creative Commons License 2015.12.14 0 0 1371

Szia!

 

Nem teljesen értem miért így írtad meg, de legyen. Minek ehhez ciklus? A Loop -ban van eleve nem?

 

Nullázd ki az értéket.

Olvass be egy értéket, add az értékhez,tárold.

olvass be még egyet, add hozzá.

 

így tovább 5-ször,

 

majd ertek=ertek/5

 

delay

 

select case nem kell a ciklusodba!!

 

 

sXTomb[2] = scaled.XAxis;

 

helyett:

 

sXTomb[i] = scaled.XAxis; így nem kell olyan sok sor sem....

 

 

for(int i=0;i<5;i++){
      sXTomb[i] = scaled.XAxis
    delay(100);

  }

 

De ezután kell még egy ciklus az átlag számításához!!! De minek?

 

Ertek=0.0;

 

for(int i=0;i<5;i++){
      Ertek+= scaled.XAxis
    delay(100);

  }

Ertek=Ertek/5;

 

 

Előzmény: kiki71 (1368)
kiki71 Creative Commons License 2015.12.14 0 0 1370

Ez a beolvasás része, egy külön ciklus olvasná ki a tömb elemeit. Úgy gondolod, hogy a beolvasási ciklusban egyúttal olvassa is ki?

Előzmény: halaloszto (1369)
halaloszto Creative Commons License 2015.12.14 0 0 1369

a kiolvasást a cikluson belülre kellene tenni, nem?

Előzmény: kiki71 (1368)
kiki71 Creative Commons License 2015.12.14 0 0 1368

Sziasztok!

 

Kezdőként próbálkozom magnetométer (HMC5883L) kiolvasásával, működik is a dolog. Viszont arra gondoltam, hogy tömbbe olvasom ki többször és a kapott értékeket átlagolom, na így már nem okés. Hiba az, hogy kiolvas EGY értéket és azzal feltölti a tömb összes elemét.

Ezt várnám tőle: 9, 10, 9, 11
Ezt kapom: 10, 10, 10, 10

Tudnátok segíteni, hogy lehet kijavítani?

Előre is köszönet.

Kód:

  MagnetometerRaw raw = compass.ReadRawAxis();
  MagnetometerScaled scaled = compass.ReadScaledAxis();
  for(int i=0;i<5;i++){
    switch(i) {
      case 0:
        sXTomb[0] = scaled.XAxis;
        break;
      case 1:
        sXTomb[1] = scaled.XAxis;
        break;
      case 2:
        sXTomb[2] = scaled.XAxis;
        break;
      case 3:
        sXTomb[3] = scaled.XAxis;
        break;
      case 4:
        sXTomb[4] = scaled.XAxis;
        break;
    }
    delay(100);
  }

titusz99 Creative Commons License 2015.12.14 0 0 1367

A "." használata azt eredményezheti, hogy hónap.nap -ként konvertál.

A TAB meg alapértelmezett elválasztó.

Ezen két szabály betartásával megnyitáskor, beillesztéskor az értékek helyesek lesznek.

Persze ez a magyar lokalizált beállításokra igaz.

Előzmény: Zizikus (1365)
Zizikus Creative Commons License 2015.12.14 0 0 1366

Szia!

 

Melyik programot töltötted rá? Pl a Blink példaprogramot?

Előzmény: Ryuzaki san (1360)
Zizikus Creative Commons License 2015.12.14 0 0 1365

Sziasztok!

 

Ezért írtam ";"-t, mert akkor csak dupla klikk és az excel beolvassa rögtön! (csv-formátum) Nem kell importálni a szövegfájlt.

 

Tab-nál le kell zongorázni az importnál, hogy open file, szöveges, tagolt, tabulátorral, kész, míg csv-n csak klikk, ha hozzá van rendelve az excel.

Előzmény: titusz99 (1364)
titusz99 Creative Commons License 2015.12.14 0 0 1364

EXCEL feldolgozáskor az adatsort közvetlenül felhasználhatod.

Persze, ha írsz egy feldolgozó programot akkor úgy csinálod ahogy akarod.

Előzmény: Vargham (1363)
Vargham Creative Commons License 2015.12.14 0 0 1363

Miért is?

Előzmény: titusz99 (1362)
titusz99 Creative Commons License 2015.12.14 0 0 1362

Ha szabad, két dolgot javasolnék:

1. Értékek elválasztására TAB-t ("t") használnék.

2. Tizedes elválasztására "." helyett ",". (print.cpp -> printFloat() )

 

Könnyebb az élet vele.

Vargham Creative Commons License 2015.12.14 0 0 1361

Operációs rendszer? Verzió? Nyelv? Arduino verzió? Milyen klónt vettél? Milyen az USB illesztő rajta?

Előzmény: Ryuzaki san (1360)
Ryuzaki san Creative Commons License 2015.12.13 0 0 1360

Sziasztok!

Most ismerkedtem meg az Arduinoval és eléggé az elején el is akadtam, így szeretnék segítséget kérni.

Vettem egy ATmega2560 kínai klónt, letöltöttem a drivert hozzá, illetve az Arduino programot. És program feltöltésekor a következő hibaüzenetet kapom:

"avr-g++: error: CreateProcess: No such file or directory

exit status 1
Hiba a fordítás során."

Próbáltam angol oldalakon okosságot keresni, de nem jártam sikerrel. 

Törölt nick Creative Commons License 2015.12.13 0 0 1359

Köszi, így jó lett:

 

String dataString = "";
dataString += String(LAKASFUTES);
dataString += ",";
dataString += String(fusthofok);
dataString += ",";
dataString += String(T1);
dataString += ",";
dataString += String(T2);
dataString += ",";
dataString += String(T3);
dataString += ",";
dataString += String(T4);
dataString += ",";
dataString += String(T5);
dataString += ",";
dataString += String(T6);
dataString += ",";
dataString += String(T7);
dataString += ",";
dataString += String(kW);
dataString += ",";
dataString += String(szazalek);
dataString += ",";

File dataFile = SD.open("datalog.txt", FILE_WRITE);

// if the file is available, write to it:
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
}

Törölt nick Creative Commons License 2015.12.13 0 0 1358

4.91,-10.00,-127.00,-127.00,-127.00,-127.00,0.00,0.00,0.00,-209.44,-327.26,
1.85,-10.00,-127.00,-127.00,-127.00,-127.00,0.00,0.00,0.00,-209.44,-327.26,
1.41,-10.00,-127.00,-127.00,-127.00,-127.00,0.00,0.00,0.00,-209.44,-327.26,

 

Köszi, én is kezdő vagyok a programírásban, így jó lett.

 

String dataString = "";
dataString += String(LAKASFUTES);
dataString += ",";
dataString += String(fusthofok);
dataString += ",";
dataString += String(T1);
dataString += ",";
dataString += String(T2);
dataString += ",";
dataString += String(T3);
dataString += ",";
dataString += String(T4);
dataString += ",";
dataString += String(T5);
dataString += ",";
dataString += String(T6);
dataString += ",";
dataString += String(T7);
dataString += ",";
dataString += String(kW);
dataString += ",";
dataString += String(szazalek);
dataString += ",";

File dataFile = SD.open("datalog.txt", FILE_WRITE);

// if the file is available, write to it:
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
}

Előzmény: Zizikus (1356)
Törölt nick Creative Commons License 2015.12.13 0 0 1357

Köszi, én is kezdő vagyok!

 

Így lett jó:

4.91,-10.00,-127.00,-127.00,-127.00,-127.00,0.00,0.00,0.00,-209.44,-327.26,
1.85,-10.00,-127.00,-127.00,-127.00,-127.00,0.00,0.00,0.00,-209.44,-327.26,
1.41,-10.00,-127.00,-127.00,-127.00,-127.00,0.00,0.00,0.00,-209.44,-327.26,

11 adat.

 

String dataString = "";
dataString += String(LAKASFUTES);
dataString += ",";
dataString += String(fusthofok);
dataString += ",";
dataString += String(T1);
dataString += ",";
dataString += String(T2);
dataString += ",";
dataString += String(T3);
dataString += ",";
dataString += String(T4);
dataString += ",";
dataString += String(T5);
dataString += ",";
dataString += String(T6);
dataString += ",";
dataString += String(T7);
dataString += ",";
dataString += String(kW);
dataString += ",";
dataString += String(szazalek);
dataString += ",";

File dataFile = SD.open("datalog.txt", FILE_WRITE);

// if the file is available, write to it:
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}

Előzmény: Zizikus (1356)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!