www.mikrocontroller.net

Forum: Projekte & Code LM75-Wert am Display anzeigen


Autor: Marcel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe mal eine <include> - Datei mit CodeVision geschrieben, mit der
man den LM75 Temperatursensor am I2C-Bus auslesen kann und den Wert dann
direkt am Display anzeigen lässt. Na ja, ich weiß, da gibt’s ja sowieso
schon genug :o)

Man übergibt an eine Funktion die Adresse des gewünschten Chip und die
X/Y Position an der die Temperatur auf dem Display erscheinen soll.

Z.B. >> lm75_auf_lcd(0,6,1); <<

Somit erscheint auf der Display-Position (6,1)

z.B. < +19,5° > oder <  -2,0° >

Ich habe es versucht, so weit es ging, das Programm zu testen. Leider
habe ich die "bitterkalten" Tage in der letzten Zeit verschlafen :o(
g.
Also bis auf einige wenige Minusgerade, die die Gefriertruhe her gibt,
funktioniert es. Über 100° bin ich heute Abend auch nicht mehr
gekommen. Vielleicht hat jemand von euch da eine leichtere Anwendung
dies auszuprobieren.

Bei mir funktionierte es bis jetzt wie gesagt, nur weiß ich nicht ob
ich etwas in der Include- Datei vergessen habe und es nur deshalb ging
da ich noch andere Anwendungen in meinem Programm hatte.
Ich würde mich für Hinweise oder Verbesserungen sehr freuen.

Bis dahin.....

Grüße Marcel

Autor: Michael K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat eigendlich schon mal jemand alle Treiber komplett selber
geschrieben? Irgendwie benutzen alle nur Treiber vom Hersteller des
Compilers! Wie Uncool!

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"hat eigendlich schon mal jemand alle Treiber komplett selber
geschrieben?"

Ja, ich.


Ich benutze meistens die Pins, die mir am besten passen oder eine
andere Quarzfrequenz und sowas können die fertige Treiber nicht.

Hier mal ein LCD-Beispiel:

http://www.mikrocontroller.net/forum/read-4-22246.html#new


Und für den Temperatursensor:

http://www.mikrocontroller.net/forum/read-4-84831.html#new

Ich benutze nicht die I2C-Sensoren, da die größer sind und nicht
parallel schaltbar und nicht über 2 Drähte.


Peter

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm, ich bin erst neuling was das Programmieren betrifft. So weiß ich
nicht so genau was damit gemeint ist dass man immer nur Treiber von
anderen Herstellern benuzt. Aber ich bin mir ganz sicher, dass es mich
mehr Zeit kossten würde wenn man etwas selber schreiben würde und nicht
das nehmen würde was schon da ist. Wieso das Rad neu erfinden?? Und wenn
man wirklich zu viel Zeit hat und nicht weiß wohin damit dann kann man
das ja gerne machen :o)

Naja ich bin, wie gesagt, für verbesserungen total offen!!!

Gruß Marcel (",)

Autor: Marcel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe einen kleinen Fehler in meinem Code entdeckt. Es fehlte die
<stdlib.h>! Das war's schon.

Da ich immer wieder Anfragen bekomme wie ein Programm mit der #include
<Lm75_anzeige.h> aussieht, habe ich mal ein Programm für den Mega8
"gepostet"

//=======================================================

#include <mega8.h>
#include <delay.h>
#include <Lm75_anzeige.h>

// Anschlussinitialisierung des I2C- Buses am PORT C
// SDA Pin 4
// SCL Pin 5
#asm
   .equ __i2c_port=0x15
   .equ __sda_bit=4
   .equ __scl_bit=5
#endasm
#include <i2c.h>

// 4x20 Zeilen-Display am PORT D
#asm
   .equ __lcd_port=0x12
#endasm
#include <lcd.h>

void main(void)
{

// Initialisierung des I2C- Buses
i2c_init();

// Initialisierung des LCD's
lcd_init(20);

while (1)
      {
       delay_ms(500);       // Pause von einer halben Sekunde
       lm75_auf_lcd(0, 4, 1);  // Temperatur des LM75-Sensors mit
               // der Adresse 0 auf die Position
               // (x=4/y=1) auf dem Display
      };
}

//=======================================================

Ich glaube das ist recht einfach zu verstehen!!!

Wichtig noch mal!! Die <Lm75_anzeige.h> muss in den richtigen Ordner
des Compilers kopiert werden!!!

Grüße, Marcel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.