Arduino Temp. Drehzahl. Messer mit 4 LED

Hallo zusammen ich bin ziemlich neu was sich Arduino angeht habe bis jetzt mit STM mikrocontroller gearbeitet aber jetzt will ich auch arduino ausprobieren.

Ich habe mir 2 Sensoren gekauft und 4 LED(2Rot 2Grün)
KY-024 Hall Sensor
KY-028 Temp. sensor

Ich wollte die werte von denen mit Serial Monitor ablesen aber es kommen immer komische werte Plus zu dem punkt bin ich gar nicht gekommen aber ich wollte noch machen das die Grüne LED leuchten Wenn die Werte in erlaubten bereich ligen und wenn es Drüber geht soll es stoppen und Die rote led leuchtet und mit dem reset button kann es wieder von vorne gehen.

Und des habe ich von dem Code seleber gemacht
//Drehzahlmesser=1
#define Hall_Sensor A0 //A0 used with analog output, D2 with digital output
#define Hall_Sensor_D 2
int Val1=0,Val2=0; //Here you can store both values, the Val2 can be boolean
//Drehzahlmesser

//Temperatursensor=2
int led = 13; // define the LED pin
int digitalPin = 4; // KY-028 digital interface
int analogPin = A1; // KY-028 analog interface
int digitalVal; // digital readings
int analogVal; //analog readings
//Temperaturmesser
void setup() {
//1
Serial.begin(9600);
pinMode(Hall_Sensor_D,INPUT);
//1

//2
pinMode(led, OUTPUT);
pinMode(digitalPin, INPUT);
//pinMode(analogPin, OUTPUT);
Serial.begin(9600);
//2
}

void loop() {

//1
Val1=analogRead(Hall_Sensor); //We read both values and display them raw on the serial monitor
Serial.print(Val1);
Val2=digitalRead(Hall_Sensor_D);
Serial.print("\t");
Serial.println(Val2);
//1

//2
// Read the digital interface
digitalVal = digitalRead(digitalPin);
if(digitalVal == HIGH) // if temperature threshold reached
{
digitalWrite(led, HIGH); // turn ON Arduino's LED
}
else
{
digitalWrite(led, LOW); // turn OFF Arduino's LED
}
// Read the analog interface
analogVal = analogRead(analogPin);
Serial.println(analogVal); // print analog value to serial
delay(100);
//2
}

Hallo,
kannst Du Deinen Code bitte in Codetacks packen. Am einfachsten benutzt Du in der IDE die Funktion "für Forum kopieren" und dann hier einfügen. Oder Du nutzt hier die </> Funktion oben im Editor Fenster. Das geht auch noch nachträglich Beitrag ändern
Heinz

Willkommen im Forum!
Nachdem du dies gelesen hast, und den Code des vorigen Posts entsprechend lesbar gemacht hast, solltest du deine Frage auch evtl. aufteilen und dir überlegen, erstmal nur das Thema

  • "es kommen immer komische werte"

zu lösen.

Na...
Zuviel Ärger im anderen Forum gehabt?
Gekündigt/Gebannt worden?

//Drehzahlmesser=1
#define Hall_Sensor A0          //A0 used with analog output, D2 with digital output
#define Hall_Sensor_D 2
int Val1=0,Val2=0;             //Here you can store both values, the Val2 can be boolean
//Drehzahlmesser

//Temperatursensor=2
int led = 13; // define the LED pin
int digitalPin = 4; // KY-028 digital interface
int analogPin = A1; // KY-028 analog interface
int digitalVal; // digital readings
int analogVal; //analog readings
//Temperaturmesser
void setup() {
  //1
  Serial.begin(9600);
  pinMode(Hall_Sensor_D,INPUT);
 //1

 //2
pinMode(led, OUTPUT);
  pinMode(digitalPin, INPUT);
  //pinMode(analogPin, OUTPUT);
  Serial.begin(9600);
  //2
}

void loop() {

  //1
   Val1=analogRead(Hall_Sensor);            //We read both values and display them raw on the serial monitor
   Serial.print(Val1);
   Val2=digitalRead(Hall_Sensor_D);
   Serial.print("\t");
   Serial.println(Val2);
   //1

   //2
   // Read the digital interface
  digitalVal = digitalRead(digitalPin); 
  if(digitalVal == HIGH) // if temperature threshold reached
  {
    digitalWrite(led, HIGH); // turn ON Arduino's LED
  }
  else
  {
    digitalWrite(led, LOW); // turn OFF Arduino's LED
  }
  // Read the analog interface
  analogVal = analogRead(analogPin); 
  Serial.println(analogVal); // print analog value to serial
  delay(100);
  //2
}

Hallo,
Hast Du die Boudrate im Monitor auch auf 9600 stehen ?
ok und was sind komische Werte ? was erwartest Du

Du solltest ein paar Zahlen und 0 oder 1 sehen.
Heinz

538 0
143
538 0
144
538 0
143
538 0
143
538 0
143
538 0
Sowass kommt raus

Hallo,
ok dann scheint alles zu stimmen, so wie ich das sehe passt das genau zu Deinem Code.

Beispiel
583 0 ist der anaogwert vom Hallsensor ind der zugeh Digitale Eingang

Die 143 stammen von dem

Heinz

@zinedinez schreib dir doch:

Val1 = analogRead(Hall_Sensor);          //We read both values and display them raw on the serial monitor
Serial.print("Hall_Sensor_ Analog  = ");
Serial.println(Val1);
Val2 = digitalRead(Hall_Sensor_D);
Serial.print("Hall_Sensor_Digital  = ");

Serial.println(Val2);

Somit ist die Zugehörigkeit geklärt :wink:
Nicht Faul sein :innocent:

und das mit leds

und mit rosa schleifchen drumrum

danke dir dafür

so.
dir schmecken also rosa schleifchen nicht wie schade ich mag sie sehr gerne aber per pm angeschrien zu werden mag ich nicht so gerne wie rosa schleifchen komma zu mich nach dortmund da haben wir einen schleifchenschop mit ganz viele sogar auch mit rüschelchen dran

Wie mit LED ?
Du suchst z.B nach if... else if ....

versuch das mal einzubauen.
wiso eigendlich Drehzahl ?
Was soll denn eigentlich stopen und wo ist der reset buton ? oder meinst Du den reset vom UNO ?

Wenn Du mit dem Sensor eine Drehzahl messen willst dann solltest Du eventuell Impulse zählen. Aber das hängt von Deinem Anwendungsfall ab.
z.B Du hast einen Magneten irgendwo an einem drehenden Teil , dann misst Du z.B eine Sekunde lang und zählst wie oft der Sensor von 0 auf 1 gewechselt hat. Dann kannst Du das umrechnen auf U/min oder was immer Du willst. Mit dem Temperatursensor geht es etwas anders . Der Wert von 143 ist letztlich abhängig von der Temperatur. Da musst Du eventuell eine Kennlinie ermitteln. das kann man über zwei Refferenzmessungen machen. Anschliessend kann man z.B mit map() den Messwert auf °C normieren.

Natürlich kannst Du auch mit ununormierte Werten arbeiten. Such Doch mal nach Beispielen fpr Deine beiden Sensoren, das Netz ist voll damit.
Heinz

Verstehe nicht Sorry

Der Sensor wird dir falsche Temperaturwerte anzeigen, es ist ein NTC verbaut, also sich schlau machen wie man den auswertet, wen du am STM damit nicht gearbeitet hast. Das ganz dummes an der Geschichte ist, nirgend wo wird angegeben was für NTC verbaut ist und welche Werte der hat == Katze im Sack, wies, schwarz oder Tiger :wink: Eben ein Schrotteil weniger auf Lager.

Vielen dank dir bin auf richtigen weg grade

wronganswer