Program Arduino wyświetlacz problem

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
decimus
Młodszy majsterkowicz
Posty: 39
Rejestracja: 27 gru 2014, 09:18

Program Arduino wyświetlacz problem

Post autor: decimus » 11 cze 2015, 21:31

Napisałem program do wyświetlania napięć na wyświetlaczu.
Chciałem ,aby po wyświetleniu danego napięcia pokazała się nazwa np : pokazuje się 3.20 i nazwa ABC
W przeciwnym wypadku pokazują się tylko napięcia bez żadnej nazwy.
Przy 3.19 znika nazwa ABC ,ale nie wiem jak zrobić ,aby przy 3.21 też zniknęło ABC.
Czy ktoś mi udzieli pomocy?
................................................................................................................................................
#include <LiquidCrystal_I2C.h>
#include <Wire.h>

#define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);

void setup()
{
Serial.begin(9600);
while(!Serial);
pinMode(A0,INPUT);


lcd.begin(16,2);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight(HIGH);


}
void loop() {

float odczyt = analogRead(A0)/1024.00*5; // --odczyt napięć

Serial.println(A0);
lcd.setCursor(6, 1);

lcd.print(odczyt);
delay(500);


if(odczyt >= 3.20) lcd.print("ABC"); // wyświetla dodatkowo ABC
else if (odczyt <=3.19) lcd.print(" "); // Gasi ABC




}

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


decimus
Młodszy majsterkowicz
Posty: 39
Rejestracja: 27 gru 2014, 09:18

Re: Program Arduino wyświetlacz problem

Post autor: decimus » 11 cze 2015, 22:12

Właśnie ja próbowałem z tym == i nic nie wyświetla nazwy.
To co napisałeś też nie wyświetla przy danym napięciu ABC.
stiven
Złota rączka
Posty: 1644
Rejestracja: 13 maja 2014, 08:47
Lokalizacja: Zielona Góra

Re: Program Arduino wyświetlacz problem

Post autor: stiven » 11 cze 2015, 23:31

Można tak zrobić, z tym mnożeniem. Powinno być dobrze. Ale właśnie też ostatnio zauważyłem, że przy floatach nie działa == i !=, kombinowanie z rzutowaniem typy nie pomaga. >= i <= działa dobrze, więc można zrobić coś takiego:

Kod: Zaznacz cały

if(odczyt <=3.19 || odczyt >=3.21) lcd.print("   "); // Gasi ABC
else lcd.print("ABC"); // wyświetla dodatkowo ABC
decimus
Młodszy majsterkowicz
Posty: 39
Rejestracja: 27 gru 2014, 09:18

Re: Program Arduino wyświetlacz problem

Post autor: decimus » 11 cze 2015, 23:50

Stiven jesteś gość.Tak właśnie chodzi.
Mam jeszcze prośbę ,czy jak dodam kolejne if-y z innym danymi napięciami np:
4.00 wyświetla DEF gasi na innych napięciach
1.05 wyświetla GHK gasi na innych napięciach

to jak miałby ten program wyglądać ,czy dodać analogicznie if-y i else jak Ty napisałeś?
decimus
Młodszy majsterkowicz
Posty: 39
Rejestracja: 27 gru 2014, 09:18

Re: Program Arduino wyświetlacz problem

Post autor: decimus » 11 cze 2015, 23:54

Właśnie dopisałem i chodzi.
Dzięki za pomoc to jest pseudo synteza nadajnika.

if(odczyt <=4.19 || odczyt >=4.21) lcd.print(" "); // Gasi ABC
else lcd.print("CDE"); // wyświetla dodatkowo ABC
ODPOWIEDZ

Strony partnerskie: