Go Down

Topic: (gelöst) Sketch stoppt mit Poti auf A4 ? (Read 803 times) previous topic - next topic

noiasca

#15
Aug 22, 2020, 01:09 pm Last Edit: Aug 22, 2020, 01:14 pm by noiasca
evtl. einen I2C ADC verbauen?
oder noch einfacher, einen Arduino Nano verwenden, der auch die beiden anderen Analog-Pins herausführt.

und weil ich es sehe:
Code: [Select]

    lcd.setCursor(0,0); lcd.print("                ");
      lcd.setCursor(0,1); lcd.print("                ");

da würde ich wirklich einfach ein lcd.clear() machen

und statt
      lcd.print("Bereit");

Fixtexte in den Progmem verschieben, am einfachsten mit dem F-Makro

Code: [Select]

      lcd.print(F("Bereit"));


auch für die Seriellen Ausgaben!

https://www.arduino.cc/reference/de/language/variables/utilities/progmem/
how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.


HotSystems

Oder soll ich dich das nächste Mal vorher anschreiben und fragen ob mein Tipp für den TO hilfreich ist?

Was hab ich damit zu tun ?
Es ging um deinen Tipp A6 und A7 auf einem Uno zu verwenden, die es da nicht gibt.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

4711

#18
Aug 22, 2020, 01:21 pm Last Edit: Aug 22, 2020, 01:24 pm by 4711
OK, danke. ich versuchs, hab aber die Zusammenhänge nicht, daher male ich mir wenig Erfolgschanze aus.

ich verwende ein 2Zeilen Display, das ich mit LiquidCristal_I2C.h ansteuere.

Code: [Select]
  #include <Wire.h> // Wire Bibliothek einbinden
  #include <LiquidCrystal_I2C.h> // Vorher hinzugefügte LiquidCrystal_I2C Bibliothek einbinden
  LiquidCrystal_I2C lcd(0x27, 16, 2); 

  lcd.init(); //Im Setup wird der LCD gestartet
  lcd.backlight(); //Hintergrundbeleuchtung einschalten (lcd.noBacklight(); schaltet die Beleuchtung aus).

     lcd.setCursor(0,0); lcd.print("                ");
 


ändert sich mit der Softwire dran etwas?

4711

evtl. einen I2C ADC verbauen?
oder noch einfacher, einen Arduino Nano verwenden, der auch die beiden anderen Analog-Pins herausführt.

und weil ich es sehe:
Code: [Select]

    lcd.setCursor(0,0); lcd.print("                ");
      lcd.setCursor(0,1); lcd.print("                ");

da würde ich wirklich einfach ein lcd.clear() machen

und statt
      lcd.print("Bereit");

Fixtexte in den Progmem verschieben, am einfachsten mit dem F-Makro

Code: [Select]

      lcd.print(F("Bereit"));


auch für die Seriellen Ausgaben!

https://www.arduino.cc/reference/de/language/variables/utilities/progmem/
sehr interessant, hab aber kA was da nun der Unterschied ist und warum. OK Speicherbelegung ist ein Thema, wo sehe ich denn wenn einer kritisch wird, in der Übersetzungszeile dir mir die % der Auslastung angibt, hat dann wieder nur oder nicht mit dem RAM oder Flash zu tun?

noiasca

bit
sehr interessant, hab aber kA was da nun der Unterschied ist und warum. OK Speicherbelegung ist ein Thema, wo sehe ich denn wenn einer kritisch wird, in der Übersetzungszeile dir mir die % der Auslastung angibt, hat dann wieder nur oder nicht mit dem RAM oder Flash zu tun?
also bei mir schreibt die IDE am Ende vom kompilieren sowas raus:

Der Sketch verwendet 2810 Bytes (8%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 224 Bytes (10%) des dynamischen Speichers, 1824 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.


je mehr du von RAM in den PROGMEM verschieben kannst, desto mehr RAM wird frei, desto mehr Programmspeicher wird belegt. Das ist in der Regel ok, denn du hast nur 2048 RAM, aber 32256 Progmem.

Lies den Link den ich dir gepostet habe!(!!!)
how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.

4711

bit
also bei mir schreibt die IDE am Ende vom kompilieren sowas raus:

Der Sketch verwendet 2810 Bytes (8%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 224 Bytes (10%) des dynamischen Speichers, 1824 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.


je mehr du von RAM in den PROGMEM verschieben kannst, desto mehr RAM wird frei, desto mehr Programmspeicher wird belegt. Das ist in der Regel ok, denn du hast nur 2048 RAM, aber 32256 Progmem.

Lies den Link den ich dir gepostet habe!(!!!)
denke ich habs jetzt kapiert, danke!!

noiasca

ändert sich mit der Softwire dran etwas?
ja, aber imho für einen Anfänger nur schwer umzusetzen.

die https://github.com/johnrickman/LiquidCrystal_I2C/blob/master/LiquidCrystal_I2C.cpp included fix die (hardware) Wire.h, macht ein fixes Wire.begin und viele weitere direkte Wire. Zugriffe.

Nimm Hardware für die du softwaremäßige Unterstützung findest.
Also entweder einen I2C ADC oder einen Nano/Mega mit mehr Analogen Eingängen.



how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.

4711

OK, damit muss ich das vergessen und den Mega nehmen. Schade. Danke!


4711



HotSystems

OK, damit muss ich das vergessen und den Mega nehmen. Schade. Danke!
Da brauchst du nicht.

Du kannst für einen analogen Eingang die Umschaltung mittels eines CD4066 für 2 Potis nehmen.
Dann bleibt dein Aufbau so erhalten. Dein Sketch weitestgehend auch. Du musst nur 2 Potis auf einen analogen Pin mittels des CD4066 umschalten.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

4711

so tief in def Elektronik bin ich nicht, fertige Module ist mein Metier

HotSystems

#29
Aug 22, 2020, 09:30 pm Last Edit: Aug 22, 2020, 09:40 pm by HotSystems
so tief in def Elektronik bin ich nicht, fertige Module ist mein Metier
Kann man alles lernen....aber ok.
Dann nimmst du halt ein fertiges Modul.
Z.B. den mit dem cd4067 drauf.
CD4067
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Go Up