if (wartosc!=zmiana) { Serial.print(wartosc); zmiana=wartosc } }
Ale czy jest jeszcze inny, może prostszy sposób, może jakaś funkcja? Może pytanie z tych banalnych, nie zabijcie mnie, ale ja się cały czas uczę (jak to mówił pewien narciarz z Pałacu Prezydenckiego)
@kecajek: No twoje rozwiązanie jest najprostsze, tylko jedna rzecz. Odczytaj wartość w setup na dzień dobry (o ile się da, nie jestem za bardzo w #arduino), bo inaczej może być bug jeśli pierwsza wartość będzie wynosić 0, bo wtedy nie wyślę się ona (zmienne globalne są domyślnie zerowane).
@kecajek: W teorii ok, w praktyce pewnie analogRead pewnie będzie wariował czyli delikatnie zmieniał wartość zwracaną kiedy na wejściu nic się nie zmieni. Więc zamiast porównywać wartości znakiem = sprawdzaj sobie zakres czy wartość nie zmieniła się o zadany margines.
@zwei: dzięki @Hauleth: racja, może tak być - sprawdzę to jeszcze dokładnie
@echelon_: Tak, wiem, że analogRead może lekko się wahać. Generalnie chodziło mi o przykład. Problem w tym że u mnie na serial (dokładnie na wyświetlacz Nextion) będzie wysyłanych bardzo wiele różnych wartości. Niektóre są praktycznie stałe - odczytane raz przy załączeniu układu, natomiast inne będą się zmieniać i to dosyć dynamicznie. I chodzi mi
przygotowywanie i spożywanie pożywienia jest zdecydowanie zbyt męczące i żmudne a tu jeszcze trzeba składniki pozyskać no za jakie grzechy ludzie muszą jeść
Jest najprostszy programik, którego zadaniem jest odczytanie wartości analogowej z A0 i wysłanie go na serial
int wartosc
void setup() {
Serial.begin(9600);
}
void loop() {
wartosc = analogRead(A0);
Serial.print(wartosc);
}
Teraz chodzi mi o to, aby wartość była wysyłana tylko i wyłącznie w przypadku, gdy ulegnie zmianie i tak myślę że
trzeba coś takiego zrobić:
int wartosc
int zmiana
void setup() {
Serial.begin(9600);
}
void loop() {
wartosc = analogRead(A0);
if (wartosc!=zmiana)
{
Serial.print(wartosc);
zmiana=wartosc
}
}
Ale czy jest jeszcze inny, może prostszy sposób, może jakaś funkcja?
Może pytanie z tych banalnych, nie zabijcie mnie, ale ja się cały czas uczę (jak to mówił pewien narciarz z Pałacu Prezydenckiego)
setupna dzień dobry (o ile się da, nie jestem za bardzo w #arduino), bo inaczej może być bug jeśli pierwsza wartość będzie wynosić 0, bo wtedy nie wyślę się ona (zmienne globalne są domyślnie zerowane).@Hauleth: racja, może tak być - sprawdzę to jeszcze dokładnie
@echelon_: Tak, wiem, że analogRead może lekko się wahać. Generalnie chodziło mi o przykład. Problem w tym że u mnie na serial (dokładnie na wyświetlacz Nextion) będzie wysyłanych bardzo wiele różnych wartości. Niektóre są praktycznie stałe - odczytane raz przy załączeniu układu, natomiast inne będą się zmieniać i to dosyć dynamicznie. I chodzi mi