• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sygnalizacja +lcd Arduino
#11
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();
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#12
Dziękuję Ci bardzo jutro sprawdzę czy działa
 
Odpowiedź
#13
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
 
Odpowiedź
#14
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
 
Odpowiedź
#15
(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.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#16
Jak rozpocząć odliczanie wybranej przemnie diody jaka funkcja ?
 
Odpowiedź
#17
Ja bym to na swicht zrobił a funkcje ci napisałem jak się wywołuje
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#18
a dlaczego odlicza mi dołwonie po chinsku zamist 1,2,3,4,5,6 itd ?
 
Odpowiedź
#19
A adres lcd podałeś.
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#20
Tak mam podany zresztą sprawdzałem jeszcze inne funkcje i działają
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości