PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino Uno HD44780 + Temperatur Sensor + Foto Widerstand



Lukas4186
10.05.2014, 17:03
Ich bin momentan am experimentieren mit einem Arduino Uno Board an das ein HD44780 angeschlossen ist, dieses ist mit einem Foto Widerstand Helligkeits Geregelt. Nun möchte ich mit einem TMP36 Temperatur Sensor die Raumtemperatur auslesen und auf dem Display anzeigen lassen doch dies funktioniert nicht. Auf dem Display wird ständig -50 °C angezeigt statt der realen Temperatur, kann mir jemand weiter helfen was ich falsch gemacht hab?
Ist irgendwas an meinem Code falsch oder liegt ein anderer Fehler an?



#include <LiquidCrystal.h>

const int sensorPin = 0;
const int ledPin = 9;
int lightLevel, high = 0, low = 1023;
const int temperaturePin = 1;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

lcd.begin(16, 2);

//lcd.print("Hallo Welt");

pinMode(ledPin, OUTPUT);
}

void loop()
{

lcd.setCursor(0, 0);

float voltage, degreesC, degreesF;

degreesC = (voltage - 0.5) * 100.0;

degreesF = degreesC * (9.0/5.0) + 32.0;

analogRead(1);

//lcd.print("voltage: ");
//lcd.print(voltage);
//lcd.print(" deg C: ");
lcd.print(degreesC);
//lcd.print(" deg F: ");
//lcd.println(degreesF);
lcd.print ((char)223);
lcd.print("C");

delay(500);

lightLevel = analogRead(sensorPin);

manualTune();

analogWrite(ledPin, lightLevel);

}

void manualTune()
{
lightLevel = map(lightLevel, 0, 1023, 0, 255);
lightLevel = constrain(lightLevel, 0, 255);

}


float getVoltage(int pin)
{
return (analogRead(pin) * 1.004882814);
}


MfG Lukas

Sisor
10.05.2014, 17:58
Reihenfolge beachten:
1. Variablen definieren
2. analogen Eingang abfragen und speichern
3. rechnen


void loop() {
float voltage, degreesC, degreesF;
voltage = analogRead(temperaturePin) *5 / 1023.0;

degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;

...
}

Lukas4186
10.05.2014, 18:40
Danke, hatte es schon zum laufen bekommen bevor ich deine Antwort gelesen hatte ;)
Jetzt muss ich es nur noch hinkriegen die Reale Uhrzeit in der ersten Zeile anzeigen zu lassen...

- - - Aktualisiert - - -

Wie viel Ampere kann ich eigentlich anlegen an den USB Port, ich würde sonst den Arduino mit nem Handy Netzteil versorgen...

Rabenauge
11.05.2014, 01:52
Wie viel Ampere kann ich eigentlich anlegen an den USB Port, ich würde sonst den Arduino mit nem Handy Netzteil versorgen...

Handynetzteil würd ich lassen- da gibts verschiedene...und viel bringen die auch nicht.
Besser besorgst dir mal ein kleines Steckernetzteil, ich hab für sowas ein Ansmann APS 300- das reicht dafür dicke.
Kam sechs oder sieben Mäuse und hat neben allen möglichen Steckern auch noch verschiedene Spannungen, einstellbar.
Was die USB-Spezifikationen angeht: sthet alles in der Wikipedia aber geh nicht unbedingt davon aus, dass _alle_ Hersteller sich da nun dran halten!
Lass es also besser, wenn dein Display so eins ist, wie ich vermute, hast du nen ziemlichen Stromfresser.
Hab mit so nem Ding auch mal eine Uhr gebastelt, bin aber dann beizeiten auf ein TFT umgestiegen (nich wegen dem Strom, sondern weil man einfach mehr Infos raufkriegt, es sowieso besser aussieht und...naja, ist eben cooler. Obendrein zumindest billiger als die I2C-Versionen des LCD`s..

Um allerdings ne vernünftige Uhr zu bauen, wirst du um ein RTC-Modul nicht herum kommen, kauf da aber besser nicht das gaaanz billige-die Dinger gehn schonmal ne Minute am Tag daneben. Das DS3231 ist ziemlich gut, hält die Zeit auf nen paar Sekunden die Woche..
Nebenbei ist halt ein ordentlicher Temperatursensor drauf, der 36er ist ja nur ein grobes Schätzeisen.

Ab und an bastele ich auch mal an der Uhr so bisschen, inzwischen gibts ne richtige Version von (kann die im Ganzen einfach wie ein Shield auf den Dino aufstecken)- fehlt nur noch ein Gehäuse. Kommt auch mal...
Meine aktuelle gibt nur Datum, Uhrzeit und Temperatur aus grad, dazu hat sie nen Stundengong (Buzzer), zeigt Monats-und Wochentage im Klartext an und soll noch weiter ausge"baut" werden. Immer mal bisschen, wenn ich Lust hab.

Hab aber auch schon deutlich umfangreichere Funktionen gemacht-soll die jetztige auch wieder bekommen (ich könnts sofort haben, will aber die alte Software nich mehr, da sie auf ner Bibliothek aufsetzte, die jetztige braucht keine mehr für das RTC-Modul).

Sisor
11.05.2014, 07:11
Wie viel Ampere kann ich eigentlich anlegen an den USB Port, ich würde sonst den Arduino mit nem Handy Netzteil versorgen...

Der Arduino Uno hat eine USB -Schutzschaltung, die bei 500 mA einsetzt.

Rabenauge
11.05.2014, 12:28
Stimmt auch wieder-im Normalfall schmiert er dann ab bzw. startet pausenlos neu..aber ich hab auch schon von Windows die Meldung bekommen, dass da jemand mehr Strom anfordere, als erlaubt sei..

Unregistriert
13.03.2015, 13:27
Hallo, ich würde gerne das gleiche erstellen wie der Lucas nur mit einem Tinkerkit zu dem Arduino. Kann mir da Jemand helfen?

danke im Vorraus