Arduino Polska Forum
Sygnalizacja +lcd Arduino - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Wyświetlacze (https://forum.arduinopolska.pl/dzial-wy%C5%9Bwietlacze)
+--- Wątek: Sygnalizacja +lcd Arduino (/watek-sygnalizacja-lcd-arduino)

Strony: 1 2


Sygnalizacja +lcd Arduino - Automatyk - 03-11-2016

Witam

Mam pewne pytanie szukałem na forach nie mogłem znależć jak zrobić aby z zapaleniem (np czerwonej diody) lcd odliczał mi czas do zielonego swiatła ?

Schemat:

Czerwone swiatło=odliczanie czasu do zapalenia sie zielonej diody

Z góry dzieki za odpowiedz


RE: Sygnalizacja +lcd Arduino - namok - 04-11-2016

Poczytaj o funkcji millis(): https://techniczny.wordpress.com/2012/04/07/wielozadaniowosc-w-arduino/


RE: Sygnalizacja +lcd Arduino - Automatyk - 04-11-2016

Tylko nie wiem jak zrobić aby na LCD odliczalo mi ten czas który ustawie w tej funkcji dalbys jakiś przykład?


RE: Sygnalizacja +lcd Arduino - namok - 04-11-2016

A umiesz cokolwiek wyświetlić na wyświetlaczu czy tylko chcesz gotowaca?


RE: Sygnalizacja +lcd Arduino - Automatyk - 04-11-2016

Z tym nie mam problemu gotowca nie chce


RE: Sygnalizacja +lcd Arduino - Automatyk - 04-11-2016

Kod:
#include <LiquidCrystal.h> //Dołączenie bilbioteki
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Informacja o podłączeniu nowego wyświetlacza
unsigned long time;


void setup() {
  lcd.begin(16, 2); //Deklarac typu


}

void loop() {
  lcd.print("Czas: ");
  time = millis();      // zapamiętanie wartości czasu
  lcd.println(time); // wysłanie informacji poprzez port szeregowy
  delay(10000);



}
Chce tu dodac zeby odliczanie zaczynało sie gdy zapali sie czerwona dioda


RE: Sygnalizacja +lcd Arduino - krn78 - 05-11-2016

Hmmm... jak dla mnie, sam sobie podałeś odpowiedź już w pierwszym poście Smile Pozwolę sobie zacytować...
Czerwone swiatło=odliczanie czasu do zapalenia sie zielonej diody
Jeśli po włączeniu czerwonej diody zamiast funkcji delay(xxx); wrzucisz jakiegoś for'a (który, powiedzmy, co sekundę będzie zmieniał napis na wyświetlaczu LCD), a po wyjściu z tego for'a zmieni światło na zielone, to Twój problem, w moim mniemaniu, się rozwiąże Smile


RE: Sygnalizacja +lcd Arduino - Automatyk - 05-11-2016

Właśnie tu leży mój problem gdyż nie wiem jak dodać tego fora i żeby ten czas zmieniał mi się co sekundę


RE: Sygnalizacja +lcd Arduino - adix - 06-11-2016

http://forum.arduinopolska.com/watek-przerwania-programowe to zastosuj i masz odliczanie


RE: Sygnalizacja +lcd Arduino - Automatyk - 06-11-2016

czy mogłbym Cię prosić abyś dodał mi to do mojego kodu ?Moj Wyswietlacz jest 16x2 i chce tylko sekundy




Kod:
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 7, 6, 5, 4, 3);


void setup() {
  pinMode(10, OUTPUT); //Dioda czerwona
  pinMode(9, OUTPUT); //Dioda żółta
  pinMode(8, OUTPUT); //Dioda zielona
  pinMode(13, OUTPUT); //Dioda czerwona
  pinMode(12, OUTPUT); //Dioda żółta
  pinMode(11, OUTPUT); //Dioda zielona
 
  pinMode(7, INPUT_PULLUP); //Przycisk
 
  digitalWrite(10, LOW); //WyĹ‚Ä…czenie diod
  digitalWrite(9, LOW);
  digitalWrite(8, LOW);
  digitalWrite(13, LOW); //WyĹ‚Ä…czenie diod
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);


}

void loop()
{
 
 



 
  digitalWrite(10, HIGH); //Czerwona
  digitalWrite(9, LOW); //PomaraĹ„czowa
  digitalWrite(8, LOW); //Zielona
  digitalWrite(13, LOW); //Czerwona
  digitalWrite(12, LOW); //PomaraĹ„czowa
  digitalWrite(11, HIGH); //Zielona
 
  delay(10000); //Czekamy 1 sekundÄ™
 
  digitalWrite(10, LOW); //Czerwona
  digitalWrite(9, HIGH); //PomaraĹ„czowa
  digitalWrite(8, LOW); //Zielona
  digitalWrite(13, LOW); //Czerwona
  digitalWrite(12, HIGH); //PomaraĹ„czowa
  digitalWrite(11, LOW); //Zielona
  delay(2000); //Czekamy 1 sekundÄ™
 
  digitalWrite(10, LOW); //Czerwona
  digitalWrite(9, LOW); //PomaraĹ„czowa
  digitalWrite(8, HIGH); //Zielona
  digitalWrite(13, HIGH); //Czerwona
  digitalWrite(12, LOW); //PomaraĹ„czowa
  digitalWrite(11, LOW); //Zielona
 
  delay(10000); //Czekamy 1 sekundÄ™
 
  digitalWrite(10, LOW); //Czerwona
  digitalWrite(9, HIGH); //PomaraĹ„czowa
  digitalWrite(8, LOW); //Zielona
  digitalWrite(13, LOW); //Czerwona
  digitalWrite(12, HIGH); //PomaraĹ„czowa
  digitalWrite(11, LOW); //Zielona
 
  delay(2000); //Czekamy 1 sekundÄ™
}