Close

Odpověď na: identifikace proměnných

Úvodní stránka Fórum Hardware Arduino identifikace proměnných Odpověď na: identifikace proměnných

#2993
tribal.cz
Účastník

ok takže cele to bude vypadat nějak takto

mega



#include <Wire.h>
#include <dht.h>

dht sensor

String vystup;
int dht[] = {7, 8};
int temp1;
int temp2;
int hum1;
int hum2;

void setup() {
   Serial.begin(9600);
   Wire.begin();
}

void loop() {
   sensor.read(dht[0]);
   temp1 = sensor.temperature;
   hum1 = sensor.humidity;
   sensor.read(dht[1]);
   temp2 = sensor.temperature;
   hum2 = sensor.humidity;
   
   Wire.beginTransmission(1) // prvni uno
   Wire.write(temp1#hum1);
   Wire.endTransmission();

   Wire.beginTransmission(2) // Druhe uno
   Wire.write(temp2#hum2);
   Wire.endTransmission();
}

uno


#include <Wire.h>

string value;
int tempghum[];

void setup(){
    Wire.begin(1);
}

void loop(){
   while(!Wire.available()) {
   }
   value = Wire.read(); // do proměnné value se uloží příchozí hodnoty tedy teplota a vlhkost z jednoho ze senzorů

   getValue(var, '#', tempghum )

   TFTscreen.println (tempghum[0]); //a zobrazíme pouze teplotu pro obě hodnoty...
   TFTscreen.print (tempghum[0]);
   TFTscreen.println (tempghum[1]);

}

String getValue(String data, char separator, int index)
{
 int found = 0;
  int strIndex[] = {
0, -1  };
  int maxIndex = data.length()-1;
  for(int i=0; i<=maxIndex && found<=index; i++){
  if(data.charAt(i)==separator || i==maxIndex){
  found++;
  strIndex[0] = strIndex[1]+1;
  strIndex[1] = (i == maxIndex) ? i+1 : i;
  }
 }
  return found>index ? data.substring(strIndex[0], strIndex[1]) : "";
}

příklad píšu jen pro to zda jsem správně pochopil tvojí funkci, takže jako parametry tovjí funkce je řetězec přijatý z megy, následně znak kterým původní proměnné odděluji a poslední parametr je výstupní proměnná do které se vše uloží resp do pole. Výsledné hodnoty potom poté mohu zobrazit například na displeji. je mi jasné že program na unu nejspíš ani nebude fungovat napsal sem to jen jako ukázku. Býval bych to hned vyzkoušel ale bohužel momentálně nejsem doma takže nemám přístup k arduinu. Pokud se pletu prosím oprav mne