• 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
Pierwszy samodzielny program. Pomocy!
#4
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Adafruit_NeoPixel.h>
unsigned long czas = 0;
unsigned long wczas1 = 0;
unsigned long wczas2 = 0;
unsigned long wczas3 = 0;
unsigned long wczas4 = 0;
Adafruit_NeoPixel linijka = Adafruit_NeoPixel(8, 3, NEO_GRB + NEO_KHZ800);
LiquidCrystal_I2C lcd(0x27,16,2);
#define guzik 5
void setup() {
pinMode(guzik, INPUT_PULLUP);
linijka.begin();
linijka.show();
lcd.init();
lcd.backlight();
lcd.begin(16,2);
}

void loop() {
czas=millis();
if(czas-wczas1>=2500UL){
lcd.setCursor(0,0);
lcd.print(" Czerwone! ");
wczas1=czas;
linijka.setPixelColor(5, linijka.Color(255, 0, 0));
linijka.show();
linijka.setPixelColor(6, linijka.Color(255, 0,0));
linijka.show();
linijka.setPixelColor(7, linijka.Color(255, 0,0));
linijka.show();
}
if(czas-wczas2>=5000UL){
wczas2=czas;
lcd.clear();
linijka.setPixelColor(5, linijka.Color(0, 0, 0));
linijka.show();
linijka.setPixelColor(6, linijka.Color(0, 0,0));
linijka.show();
linijka.setPixelColor(7, linijka.Color(0, 0,0));
linijka.show();
}




if(digitalRead(guzik)==LOW){
linijka.setPixelColor(5, linijka.Color(0, 0, 0));
linijka.show();
linijka.setPixelColor(6, linijka.Color(0, 0,0));
linijka.show();
linijka.setPixelColor(7, linijka.Color(0, 0,0));
linijka.show();
linijka.setPixelColor(3, linijka.Color(0, 0, 0));
linijka.show();
linijka.setPixelColor(4, linijka.Color(0, 0,0));
linijka.show();
linijka.setPixelColor(2, linijka.Color(0, 0, 0));
linijka.show();
linijka.setPixelColor(1, linijka.Color(0, 0,0));
linijka.show();
linijka.setPixelColor(0, linijka.Color(0, 0,0));
linijka.show();
lcd.setCursor(0,0);
lcd.print(" Swiatlo zaraz zmieni sie na zielone ");
for (int scrollCounter=0;scrollCounter<23;scrollCounter++)
{
lcd.scrollDisplayLeft();
delay(500);
}
linijka.setPixelColor(3, linijka.Color(255, 255, 0));
linijka.show();
linijka.setPixelColor(4, linijka.Color(255, 255,0));
linijka.show();
delay(1000);
lcd.clear();
linijka.setPixelColor(3, linijka.Color(0, 0, 0));
linijka.show();
linijka.setPixelColor(4, linijka.Color(0, 0,0));
linijka.show();
}
if(czas-wczas3>=7500UL){
wczas3=czas;
lcd.setCursor(0,0);
lcd.print(" Zielone! ");
linijka.setPixelColor(2, linijka.Color(0, 255, 0));
linijka.show();
linijka.setPixelColor(1, linijka.Color(0, 255,0));
linijka.show();
linijka.setPixelColor(0, linijka.Color(0, 255,0));
linijka.show();
}
if(czas-wczas4>=10000UL){
wczas4=czas;

linijka.setPixelColor(2, linijka.Color(0, 0, 0));
linijka.show();
linijka.setPixelColor(1, linijka.Color(0, 0,0));
linijka.show();
linijka.setPixelColor(0, linijka.Color(0, 0,0));
linijka.show();

}



setup();
}

Trochę zmieniłem kod, ale dalej nie funkcjonuje tak jakbym chciał. Nie potrafię zrozumieć forbota i funkcji millis().
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Pierwszy samodzielny program. Pomocy! - przez Tobikos - 21-01-2019, 18:33

Skocz do:


Przeglądający: 2 gości