Forum: Mikrocontroller und Digitale Elektronik Externen Wert einlesen HD44780


von strohann (Gast)


Lesenswert?

Hallo Expertenteam

Ich muss für ein Schulprojekt von einem DHT22 die gemessenen Werte an 
einem HD44780 ausgeben. Mein Problem: ich habe keine Ahnung von der 
Marterie und weiss deshalb nicht wie ich die Problemstellung angehen 
soll.
Etwas anzeigen kann ich schon aber sobald es dann an eine Laufschrift 
geht bin ich dann auch schon wieder mit meinem Latein am Ende.
Verwendet wird ein Atmel ATMega8, das Reichelt-Display und die lcd.c und 
.h aus dem AVR-Tutorial.

Ich hoffe ich bekomme von euch ein wenig Hilfe.


Vielen Dank

von Maker (Gast)


Lesenswert?

Kein Problem.
Ich mach dir das.
Du bekommst dann sicher eine 1.

Hast du eine Liste der Meilensteine?
Hast du ein Pflichten/Lastenheft?
Wieviel willst du dafür zahlen?

von nicht "Gast" (Gast)


Lesenswert?

strohann schrieb:
> ich habe keine Ahnung von der
> Marterie

Ich hoffe, du erwartest dir hier kein Foltertipps?

von Blinky (Gast)


Lesenswert?

Was ist die eigendliche Aufgabenstellung?
Was funktioniert schon?
Was soll funktionieren?

Oder mit Makers Worten:
Hast du eine Liste der Meilensteine?
Hast du ein Pflichten/Lastenheft?

von Reinhard #. (gruebler)


Lesenswert?

Blinky schrieb:
> Was ist die eigendliche Aufgabenstellung?

Ich muss für ein Schulprojekt von einem DHT22
die gemessenen Werte an einem HD44780 ausgeben.

Blinky schrieb:
> Was funktioniert schon?

Etwas anzeigen kann ich schon...

Blinky schrieb:
> Was soll funktionieren?

...an eine Laufschrift geht bin ich dann
auch schon wieder mit meinem Latein am Ende.



Lesen kannst du doch, oder?

von Harry (Gast)


Lesenswert?

Wie wäre es denn mit aufpassen im Unterricht?

von strohann (Gast)


Lesenswert?

Also direkt eine Liste der Meilensteine habe ich nicht, mein 
Projektbetreuer gibt mir immer nach und nach neue 
Aufgaben/Zwischenschritte wenn ich eine vorherige Aufgabe gelöst habe. 
Im Moment bin ich an einer Laufschrift, bei der ich aber keine Ahnung 
habe wie ich das realisieren soll. Ich wollte dieses Thema jetzt auf Eis 
legen und mich an der Endaufgabe probieren.
Zum Thema aufpassen im Unterricht: das wird schwer, denn wir machen das 
nicht im Unterricht. Das ganze ist für das Abschlussprojekt.

von spontan (Gast)


Lesenswert?

Wie fantasielos kann man denn sein?

Du kannst einen Text ausgeben? Hab ich das richtig verstanden?
A -Rutsch den ganzen Text um eine Stelle nach links oder rechts.
- Gib ihn wieder aus.
- Warte eine Weile (je nach Programmstruktur mit delays (ich hasse sie) 
oder über eine bessere Zeitsteuerung).
- Fang wieder bei A an.

Und der Text läuft.

Was bring euch euer Lehrer bei? Hat ers schwer mit euch? Oder ihr mit 
ihm?

von strohann (Gast)


Lesenswert?

Das hat nichts mit Fantasielosigkeit zu tun, viel mehr mit Unwissenheit.

Er bringt uns bzw. mir das nich bei. Ich muss mir das alles selbst 
beibringen.

von Peter D. (peda)


Lesenswert?

1
void ticker( char *s, uint8_t len )
2
{
3
  for( uint8_t i = 0; s[i]; i++ ){
4
    lcd_xy( 0, 0 );
5
    for( uint8_t k = 0; k < len; k++;
6
      if( s[k+i] )
7
        lcd_putchar( s[k+i] );
8
      else
9
        lcd_putchar( ' ' );
10
    _delay_ms( 200 );
11
  }
12
}

von Stephan B. (matrixstorm)


Lesenswert?

Hallo.

Hast du schonmal im Internet danach gesucht?
Ich weiss, das mind. ich ein oeffentliches github repository mit soetwas 
aehnlichem hab...

MfG

von Peter D. (peda)


Lesenswert?

Ups, da sind noch 2 Fehler drin.

von Hilfe (Gast)


Lesenswert?

Hi,

der HD44780 hat doch selbst schon eine Display-Shift Funktion. Damit 
kann doch ein Lauftext erzeugt werden. Links neues Zeichen rein und 
Shift nach rechts z.B.

von Axel S. (a-za-z0-9)


Lesenswert?

strohann schrieb:
> Das hat nichts mit Fantasielosigkeit zu tun, viel mehr mit Unwissenheit.
> Er bringt uns bzw. mir das nich bei. Ich muss mir das alles selbst
> beibringen.

Was muß man denn jemandem an einer Laufschrift beibringen? Hast du schon 
mal eine gesehen? Und ist dir da nie in den Sinn gekommen, daß man eine 
Laufschrift ganz einfach selber machen kann, indem man in einer Schleife 
immer soviel Zeichen ausgibt wie auf das Display passen und dabei den 
Startpunkt im Text nach und nach jeweils um ein Zeichen verschiebt?


XL

von Axel S. (a-za-z0-9)


Lesenswert?

Hilfe schrieb:

> der HD44780 hat doch selbst schon eine Display-Shift Funktion. Damit
> kann doch ein Lauftext erzeugt werden. Links neues Zeichen rein und
> Shift nach rechts z.B.

Das ist zwar richtig, aber nicht das womit ein Anfänger anfangen sollte. 
Ganz davon abgesehen, daß die Zeilenlänge im HD44780 doch arg begrenzt 
ist. Bzw. bei hinreichend großen Displays (z.B. 4x20) schlicht gar kein 
Platz im Displaybuffer ist, der nicht auf dem Display angezeigt würde.


XL

von spontan (Gast)


Lesenswert?

>Das hat nichts mit Fantasielosigkeit zu tun, viel mehr mit Unwissenheit.

Das war mal richtig fantasiereich.

von Bitflüsterer (Gast)


Lesenswert?

Jetzt seht ihr mal, wozu die Ausserirdischen da waren: Irgendeiner hat 
mal einem Frümenschen ein Rad auf den Kopf gehauen. So Zehn, zwanzig 
Mal. Dann gings von ganz allein. :-)

von strohann (Gast)


Lesenswert?

Tut mir leid wenn ich so dumm bin, meine Stärken liegen wo anders, nicht 
bei irgendwelchen dummen C-Programmen die mir absolut nichts sagen. Wenn 
ich dann sowas noch entwickeln soll bin ich verständlicherweise etwas 
überfordert.

von Route_66 (Gast)


Lesenswert?

Hilfe schrieb:
> der HD44780 hat doch selbst schon eine Display-Shift Funktion. Damit
> kann doch ein Lauftext erzeugt werden. Links neues Zeichen rein und
> Shift nach rechts z.B.

Hallo!
Das kann man nur in den Ländern, wo von rechts nach links geschrieben 
wird, gut lesen. Bei uns wird umgekehrt ein Schuh draus.

von spess53 (Gast)


Lesenswert?

Hi

>.... nicht
>bei irgendwelchen dummen C-Programmen die mir absolut nichts sagen. Wenn
>ich dann sowas noch entwickeln soll bin ich verständlicherweise etwas
>überfordert.

Eher total überfordert. Du hast mit einem fertigen Code ein paar 
Zeichen auf das Display gezaubert. Das macht bestenfalls 1% deines 
Projekts. Die Ansteuerung/Programmierung von LC-Displays gibt es 
massenhaft. Für dich kommt der richtige Hammer erst, wenn du den Sensor 
ansteuern musst.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Reinhard ## schrieb:
> Blinky schrieb:
>> Was ist die eigendliche Aufgabenstellung?
>
> Ich muss für ein Schulprojekt von einem DHT22
> die gemessenen Werte an einem HD44780 ausgeben.

Schön.

Und was hat das jetzt mit Laufschrift zu tun?

Vorschlag: Lass die Laufschrift mal links liegen und kümmere dich um den 
Rest, wie zb dass du den Sensorwert kriegst und das der angezeigt wird.

Wenn das funktioniert UND du dann noch Zeit hast, dann kannst du immer 
noch eine Laufschrift machen. Aber so wie ich das sehe, ist Laufschrift 
kein essentiell wichtiges Feature, mit dem das Projekt steht oder 
fällt.´
Sprich: du verzettelst dich gerade an einem Nebenschauplatz, nur weil 
der dir gut gefallen würde.
Ob in der ersten Zeile des LCD der Text 'Copyright by strohann' 
durchläuft oder nicht, ist für die Funktion nicht wirklich wichtig und 
zeigt dem Kenner eigentlich nur, dass da wieder mal ein Amateur am 
Editor gesessen ist, der im Grunde 'Ich habe Feuer gemacht' in die Welt 
hinausposaunen muss, weil mehr bringt er eh nicht hin.


Und ja: Keine Idee zum Thema Laufschrift zu haben IST fanatsielos und 
hat mit 'mir erklärt ja keiner was' eher wenig zu tun.

> Das ganze ist für das Abschlussprojekt.

Dann allerdings wirst du es schwer haben. Beim Auslesen eines DHT 
Schwierigkeiten zu haben kann ich ja gerade noch akzeptieren. Aber einen 
Text zeitlich gestaffelt um jeweils 1 Stelle versetzt auszugeben (bzw. 
da drauf zu kommen, dass eine Laufschrift im Grunde nichts anderes ist), 
das sollte in einem Abschlussprojekt absolut kein Hinderniss mehr sein.

: Bearbeitet durch User
von Glenn H. (gofx)


Lesenswert?

Guck' mal hier:

http://learn.adafruit.com/dht

Das verbindest Du mit Deiner lcd.c und lcd.h aus dem AVR-Tutorial und 
schon siehst Du auf dem Display, wie warm es in Deinem Zimmer ist.

Grüße

von Hilfe (Gast)


Lesenswert?

strohann schrieb:
> Tut mir leid wenn ich so dumm bin, meine Stärken liegen wo anders, nicht
> bei irgendwelchen dummen C-Programmen die mir absolut nichts sagen. Wenn
> ich dann sowas noch entwickeln soll bin ich verständlicherweise etwas
> überfordert.

Du bist nicht dumm, red dir das nicht ein.
Du sagst selbst, dass du deine Stärken woanders hast. Damit wird C 
Programmierung für dein weiteres Leben überflüssig und bedeutungslos 
bleiben.

Nur hier musst du halt durch, weil andere es so wollen und du abhängig 
bist.

Zeig uns doch erst mal die Aufgabenstellung im Detail und mach dir 
Gedanken, welche Lösungen es generell gibt und wie ein Programm dafür 
abzulaufen hat.

Wie Karl Heinz schon sagte, die Laufschrift ist zuletzt dran, so als 
I-tüpfelchen. Es geht erst einmal um das Prinzip.: 
Eingabe-Verarbeitung-Ausgabe.

Musst du das allein machen? Wer könnte dir sonst noch helfen?

von 6A66 (Gast)


Lesenswert?

strohann schrieb:
> meine Stärken liegen wo anders, nicht
> bei irgendwelchen dummen C-Programmen die mir absolut nichts sagen.

Ok, spätestens da war ich raus.

rgds

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.