Arduino Polska Forum

Pełna wersja: Sygnalizacja +lcd Arduino
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Kod:
#include <LiquidCrystal.h>
#include "TimerOne.h"
LiquidCrystal lcd(2, 7, 6, 5, 4, 3);
int sek;

void Przerwanie()
{
  sek++;
  
}
void setup() {

  Timer1.initialize(1000000);         // initialize timer1, and set a 1/2 second period
  Timer1.pwm(9, 512);                // setup pwm on pin 9, 50% duty cycle
  Timer1.attachInterrupt(Przerwanie);  // attaches Przerwanie() as a timer overflow interrupt
  lcd.begin(16, 2);
  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()
{
  lcd.setCursor(0, 1);
  lcd.print(sek);




}
void funa (){
  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
  }

  
void funb (){
    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
  }
void func (){
    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
  }
void fund (){
    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
  }
tak sie pisac nauc bedzie ci wygodnie wywolanie fukci to funa(); funb();
Dziękuję Ci bardzo jutro sprawdzę czy działa
Jeżeli użyjesz funkcji delay(10000); to mikrokontroler stanie na 10 sekund i prawie nic z nim nie będziesz mógł zrobić. Musisz inaczej podejść do sprawy
Mnie tylko chodzi o to żeby wyświetliło mi na lcd czas do zapalenia się zielonej diody. Co i sprawdziłem jak działa układ wyżej gdyż nie miałem nie mam przy sobie kompa
(09-11-2016, 13:09)thetox napisał(a): [ -> ]Jeżeli użyjesz funkcji delay(10000); to mikrokontroler stanie na 10 sekund i prawie nic z nim nie będziesz mógł zrobić. Musisz inaczej podejść do sprawy

Kolego grze ty w moim kodzie widzisz delay .
(09-11-2016, 15:36)Automatyk napisał(a): [ -> ]Mnie tylko chodzi o to żeby wyświetliło mi na lcd czas do zapalenia się zielonej diody. Co i sprawdziłem jak działa układ wyżej gdyż nie miałem nie mam przy sobie kompa

Ten kod ma wprowadzone tylko odliczanie i posegregowane funkcje resztę trzeba dopisać to nie jest gotowiec.
Jak rozpocząć odliczanie wybranej przemnie diody jaka funkcja ?
Ja bym to na swicht zrobił a funkcje ci napisałem jak się wywołuje
a dlaczego odlicza mi dołwonie po chinsku zamist 1,2,3,4,5,6 itd ?
A adres lcd podałeś.
Tak mam podany zresztą sprawdzałem jeszcze inne funkcje i działają
Stron: 1 2