Arduino Wert aus Tabelle?

Guten Tag,

ich habe ein kleines Problem mit meinem Arduino Code... Ich weiß leider nicht weiter.

ich habe hier schon mal angefangen ein Programm zu schreiben das mir mein Arduino Mega alle 2 sec. eine Temperatur anhand eines Ohm wertes aus gibt.

das Problem liegt jetzt aber dabei das ich den Ohm wert nicht in die Temperatur umwanden kann.

Ich habe mir eine Tabelle erstellt die angibt bei welchem Ohm wert welche Temperatur angezeigt werden soll.

Nun die Frage: Wie gleicht mir der Arduino die Gemessenen werte mit den vorhandenen ab und zeigt mir dann auf meinem OLED Display meine Temperatur an?

ich bedanke mich schon mal recht Herzlich für die antworten.

MfG Dennis

PS: falls es fragen gibt bitte melden!!

Das wäre der Bisher funktionierende Code

#include <GyverOLED.h>

GyverOLED<SSH1106_128x64> oled;

const uint8_t bitmap_32x32[] PROGMEM = {

 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xF0, 0x70, 0x70, 0x30, 0x30, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, 0x30, 0x30, 0x20, 0x00, 0x00,

 0x00, 0x30, 0x78, 0xFC, 0x7F, 0x3F, 0x0F, 0x0F, 0x1F, 0x3C, 0x78, 0xF0, 0xE0, 0xC0, 0x80, 0x80, 0x80, 0x40, 0xE0, 0xF0, 0xF8, 0xFC, 0xFF, 0x7F, 0x33, 0x13, 0x1E, 0x1C, 0x1C, 0x0E, 0x07, 0x00,

 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF9, 0xF7, 0xEF, 0x5F, 0x3F, 0x7F, 0xFE, 0xFD, 0xFB, 0xF1, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1E, 0x33, 0x33, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x1F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00,

};

int analogPin = 0;

int raw = 0;

int Vin = 5;

float Vout = 0;

float R1 = 330000;

float R2 = 0;

float buffer = 0;

void setup() {

 Serial.begin(9600);

 oled.init();

  

 oled.clear();

 oled.setScale(1);

 oled.update();

}

void loop() {

 raw = analogRead(analogPin);

 if(raw){

  buffer = raw * Vin;

  Vout = (buffer)/1024.0;

  buffer = (Vin/Vout) - 1;

  R2= R1 * buffer;

  delay(2000);

oled.home();

 oled.print("Temp1:");

 oled.update();

 oled.setCursor(5, 2);

 oled.update();

 oled.print(R2);

 oled.update();

 }

}

Bild zum Beitrag
Arduino, arduino mega
ESP8266-12F mit MPU6050?

Hallo, ich versuche gerade mit einem ESP-12F einen MPU6050 auszulesen. Der Sensor ist über IO04 und IO05 angeschlossen. Mit einem i2c Scanner wurde dieser auch erkannt mit der Adresse 0x68. Wenn ich den Sensor nun auslesen möchte, bekomme ich nur 0en oder -1en ausgegeben für Lage und Beschleunigung. Anderen Sensor und esp habe ich bereits ausprobiert.

Auf dem Bild der Aufbau. Ich benutze einen Programmiersockel für die ESPs.

Hier der Code:

#include <Wire.h>

const int MPU_addr = 0x68;

int16_t Acc_rawX, Acc_rawY, Acc_rawZ, Tmp, Gyr_rawX, Gyr_rawY, Gyr_rawZ;

void setup() {
  delay(1000);
  Wire.begin();
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x6B);
  Wire.write(0);
  Wire.endTransmission(true);
  Serial.begin(115200);
}

void loop() {
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr, 14, true);

  Acc_rawX = Wire.read() << 8 | Wire.read();
  Acc_rawY = Wire.read() << 8 | Wire.read();
  Acc_rawZ = Wire.read() << 8 | Wire.read();
  Tmp = Wire.read() << 8 | Wire.read();
  Gyr_rawX = Wire.read() << 8 | Wire.read();
  Gyr_rawY = Wire.read() << 8 | Wire.read();
  Gyr_rawZ = Wire.read() << 8 | Wire.read();

  Serial.print (Acc_rawX);
  Serial.print (" ");
  Serial.print (Acc_rawY);
  Serial.print (" ");
  Serial.print (Acc_rawZ);
  Serial.print (" ");
  Serial.print (Gyr_rawX);
  Serial.print (" ");
  Serial.print (Gyr_rawY);
  Serial.print (" ");
  Serial.println (Gyr_rawZ);
}
Bild zum Beitrag
Arduino, I2C, ESP8266

Meistgelesene Beiträge zum Thema Arduino