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.
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
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
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
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.