Hallo, ich wollte ein LCD-Display an meinen AtTiny13 anbinden und dort aktuelle Leistung (Watt) und gesamt-Leistung anzeigen. Ich bin dabei noch ganz am anfang. Spannung und Strom zu messen haut hin. Nun meine Frage: funktioniert das mit einen AtTiny13 mit nur 1KB und braucht dieses Modul hier wirklich per I2C nur zwei Ports an meinen AtTiny? https://www.ebay.de/itm/LCD-1602-Blau-HD44780-I2C-Interface-Display-Anzeige-Bildschirm-Arduino-Raspberry/162452854154?hash=item25d2f1d58a:m:mnh8EKdwXPYKo4bXblGeWAQ:rk:1:pf:0 Mit vielen lieben Grüßen Franz W.
Da ist es wieder, das unsägliche Liquid Crystal Display Display.
Franz W. schrieb: > ich wollte ein LCD-Display an meinen AtTiny13 anbinden und dort aktuelle > Leistung (Watt) und gesamt-Leistung anzeigen. Je nach Messwerten ist das schon sehr sportlich. Schließlich hat der ATtiny13 keinen Multiplikationsbefehl, du musst du Multiplikation also in Software vornehmen. Für die Multiplikation zweier 16-bit-Zahlen braucht der GCC 50 Byte an Code, das sind 5 % deines Flashs. Schlimmer noch: du willst ja deine Zahlen auch formatiert ausgeben, dafür braucht es eine Division durch 10, kostet auch nochmal Code. Von Gleitkommawerten reden wir gleich gar nicht … > Nun meine Frage: funktioniert das mit einen AtTiny13 mit nur 1KB und "Im Prinzip ja, aber …" > braucht dieses Modul hier wirklich per I2C nur zwei Ports an meinen > AtTiny? Sie haben einen I²C-Portexpander vorgeschaltet. Damit braucht es in der Tat nur zwei Pins, aber die gängigen HD44780-Bibliotheken funktionieren dann natürlich nicht mehr, denn die gehen normalerweise von einem direkt angeschlossenen Display aus. Warum der sportliche Ehrgeiz, das mit einem ATtiny13 zu erschlagen? Willst du eine Million davon verkaufen, dass du Kosten sparen musst? Wenn nicht, dann würde ich an deiner Stelle einen ATmega88 nehmen, das Display parallel mit 6 oder 7 Leitungen anschließen (wie es praktisch alle machen), die Rechnung als Gleitkomma vornehmen (dann brauchst du dir keine Gedanken um Wertebereiche groß machen) und die Ausgabe ein printf() erledigen lassen, mit allem Komfort, den man dabei hat. Dafür bezahlt man halt 99 Cent statt nur 51 für den Controller … (aktuelle Reichelt-Preise, jeweils der billigste des Typs), aber die Software dafür ist in einem Tag fertig.
:
Bearbeitet durch Moderator
Das Display gibt es auch mit 6 Taster. Und mit RGB Hintergrund Beleuchtung. Die Taster werden auch über I2C abgefragt.
Franz W. schrieb: > funktioniert das mit einen AtTiny13 mit nur 1KB Nein. Muß was gerechnet werden, geht Dir bei 1kB schnell die Puste aus. Mit float und printf solltest Du besser einen ATtiny85 nehmen.
Hallo Jörg, Jörg W. schrieb: > Warum der sportliche Ehrgeiz, das mit einem ATtiny13 zu erschlagen? > Willst du eine Million davon verkaufen, dass du Kosten sparen musst? > Wenn nicht, dann würde ich an deiner Stelle einen ATmega88 nehmen, das > Display parallel mit 6 oder 7 Leitungen anschließen (wie es praktisch > alle machen), die Rechnung als Gleitkomma vornehmen (dann brauchst du > dir keine Gedanken um Wertebereiche groß machen) und die Ausgabe ein > printf() erledigen lassen, mit allem Komfort, den man dabei hat. Dafür > bezahlt man halt 99 Cent statt nur 51 für den Controller … (aktuelle > Reichelt-Preise, jeweils der billigste des Typs), aber die Software > dafür ist in einem Tag fertig. Es geht ja nicht um die kosten des Chips sondern darum das ich nur zwei Chips habe den AtTiny13 den ich bereits einige mal verwendet hate und den den AtTiny2313. Also dann sollte ich es nicht per I2C anbinden sondern per direkt anschluss? Dann werd ich es mal mit dem AtTiny2313 versuchen oder? Mit vielen Grüßen Franz
Franz W. schrieb: > Also dann sollte ich es nicht per I2C anbinden sondern per direkt > anschluss? Das wird nicht viel einsparen. Ich schätze den I2C-Treiber auf ~100 Byte Code. Die float-Lib belegt ~1kB. Ohne float und printf muß man alles zu Fuß selber programmieren. Das wird bei einem Anfänger aber kaum sparsamer werden, sondern nur fehlerträchtiger. Deshalb ja meine Empfehlung >=8kB Flash zu benutzen.
Franz W. schrieb: > Hallo Jörg, > > Jörg W. schrieb: >> Warum der sportliche Ehrgeiz, das mit einem ATtiny13 zu erschlagen? >> Willst du eine Million davon verkaufen, dass du Kosten sparen musst? >> Wenn nicht, dann würde ich an deiner Stelle einen ATmega88 nehmen >> bezahlt man halt 99 Cent statt nur 51 für den Controller … > > Es geht ja nicht um die kosten des Chips sondern darum das ich nur zwei > Chips habe den AtTiny13 den ich bereits einige mal verwendet hate und > den den AtTiny2313. Und? Du hast keine 99 Cent für einen ATmega88 übrig? Ich würde sogar noch weiter gehen und dir einen ATmega328 empfehlen. Am besten gleich in Form eines Arduino Nano Moduls vom freundlichen Chinesen. Z.B. von ebay, Ali Express oder Amazon. Kostet unter €2,- das Stück und kann per USB Serial angesprochen werden. Das ist in der Entwicklungsphase enorm praktisch, wenn der µC einfach mal ein paar Statusmeldungen rausdumpen kann. > Also dann sollte ich es nicht per I2C anbinden sondern per direkt > anschluss? Du sollst nicht. Mach ruhig was du willst. Aber die gebräuchlichsten Libraries für HD44780-basierte LCD gehen davon aus, daß du das Display direkt an 6 oder 7 Portpins anschließt. Wenn du das per I²C machst, mußt du diesen Teil des Codes auch noch selber schreiben. Und Fehlersuche mit I²C kann eklig werden, vor allem wenn die Werkzeuge (Logikanalysator) fehlen. > Dann werd ich es mal mit dem AtTiny2313 versuchen oder? Der hat doppelt so viel Flash (aber immer noch lächerlich wenig). Aber wenigstens ein paar Pins mehr. Aber du tust dir keinen Gefallen, wenn du von Anfang an nur auf die kleinsten µC setzt. Nimm für den Start lieber den größten aus einer Reihe, z.B. besagten ATmega328. Der hat 32K Flash, da paßt eine Menge rein. Und wenn du nachher nur 3KB brauchst, gibt es mit dem ATmega48 einen pinkompatiblen µC, der nur 4K Flash hat. Nicht daß das kostenmäßig für ein Einzelstück viel ausmachen würde. Wie mißt du eigentlich die Leistung?
Axel S. schrieb: > Ich würde sogar > noch weiter gehen und dir einen ATmega328 empfehlen. Am besten gleich in > Form eines Arduino Nano Moduls vom freundlichen Chinesen. Ganz genau auch meine Meinung zu dem Thema. Man hat unvergleichlich mehr Ressourcen zu einem kaum höheren Preis. Zudem ist, dank Arduino libs, die Anbindung des I2C LCD bereits fertig gelöst. Und wenn man irgendwann ein OLED statt LCD haben will, ist die Änderung im Code ein Klax
:
Bearbeitet durch User
Hi, habe solch ein Display. Habe den Adapter abmontiert. Wunderbar ohne den PICs-Portadapter mit den üblichen Libs ansteuerbar im Vierbit-Modus. Suche das Pinout mal raus. Momang. Beitrag "Re: Anfänger Will ATtiny2313 mit Display uber I2C verbinden" USI ist nur eine Hilfslösung. Also, würde lieber den Adapter ablöten und im Vierbit-Modus arbeiten. ciao gustav
:
Bearbeitet durch User
Karl B. schrieb: > Also, würde lieber den Adapter ablöten und im Vierbit-Modus arbeiten. Dann kann man doch aber gleich eins ohne I²C-Porterweiterung kaufen, HD44780-basierte Displays gibt's doch wie Sand am Meer.
Jörg W. schrieb: > Dann kann man doch aber gleich eins ohne I²C-Porterweiterung kaufen, > HD44780-basierte Displays gibt's doch wie Sand am Meer. Hi, Suchtip: The most recommended Fluery libs, supports both TWI AVR's i2cmaster.c, as well as non-TWI AVRs i2cmaster.s via bit banging on any two pins. Und im bereits oben angegebenen Post wurde es noch ausführlich ausdiskutiert. Maxim B. schrieb: > Hallo Thomas, > nein, du hast falsch verstanden. PCF8574 muß man wie ein Kind betreuen: > Daten geben, danach E-Impuls geben, dann 40 us warten... Oben im Bild ist das Pinout des Portadapters. Hoffe, den Aufdruck kann man noch erkennen. Und noch mehr: https://www.avrfreaks.net/forum/tutc-lcd-tutorial-1001 ciao gustav
:
Bearbeitet durch User
Hi, thank you for your solution as my base to create software for all attiny. I use higher CPU speed because my Attiny85 have to work a lot of instruction. I will stedily improve may software because i fight with space code. Now software consumption less than 400bytes. When I use Attiny13 i need more for addicional code ti implementing. This is temporary solution, but usefull. I don't know German language and i write in English.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.