Was hält ihr von diesen Programm? Geht das überhupt?(is für Arduino)
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int Lesep = 0;
int Wert;
int Volt;
void setup() {
lcd.begin(16, 2);
}
void loop() {
lcd.print("LCD Voltmeter ");
lcd.print(" ");
delay(1000);
lcd.print("*****made by*****");
lcd.print("*Florian Daßler*");
delay(1000);
while(1)
{
lcd.clear();
Wert = analogRead(Lesep);
lcd.print("Spannung an Pin");
Volt = Wert/1024*5;
lcd.print(Volt);
lcd.print("Volt");
delay(100);
}
}
Fragen und verbesserungen hier hin:
Gast
#2984222
Ich vermute es kommt immer 0 heraus. Wert/1024 ergibt bei Integer 0, auch wenn der Wert nachträglich mit 5 multipliziert wird.
> Ich vermute es kommt immer 0 heraus. > > > > Wert/1024 ergibt bei Integer 0, auch wenn der Wert nachträglich mit 5 > > multipliziert wird. Wie lösen ? Mit noch ner Float zwichenvariable?
>> Ich vermute es kommt immer 0 heraus. > >> > >> > >> > >> Wert/1024 ergibt bei Integer 0, auch wenn der Wert nachträglich mit 5 > >> > >> multipliziert wird. > > Wie lösen ? > > Mit noch ner Float zwichenvariable? Entschuldigung hab scheiß geschrieben. also float Volt?
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int Lesep = 0;
int Wert;
float Volt;
void setup() {
lcd.begin(16, 2);
}
void loop() {
lcd.print("LCD Voltmeter ");
lcd.print(" ");
delay(1000);
lcd.print("*****made by*****");
lcd.print("*Florian Daßler*");
delay(1000);
while(1)
{
lcd.clear();
Wert = analogRead(Lesep);
lcd.print("Spannung an Pin");
Volt = Wert/1024*5;
lcd.print(Volt);
lcd.print("Volt");
delay(100);
}
}
so,oder?
Nich blöd fragen sondern lesen, da gibs hiern Tutorial zu. http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC http://www.mikrocontroller.net/articles/Festkommaarithmetik
Gast
#2984534
Volt = (int) (((long) Wert * 5000L) / 1023L ); //in mV lcd.print ( Volt % 1000); lcd.print ( "." ); lcd.print ( Volt/1000); lcd.print ( " Volt");
Gast
#4840457
Max_123 schrieb: > lcd.print ( Volt % 1000); > lcd.print ( "." ); > lcd.print ( Volt/1000); > lcd.print ( " Volt"); auch wenn der Beitrag alt ist kann ich das nicht so stehen lassen: anstatt bei 3056 3.056 auszugeben wird 56.3 ausgeben. Selbst wenn man das vertauscht ist es falsch, das wird nämlich zu 3.56
Gast
#4841015
Ein Loop (while(1){..}) in loop()
kommt selten gut...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.