• 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
Ograniczenia funkcji counter
#6
Kompletnie nie zrozumiałem o co biega  Big Grin . Zobacz czy kod poniżej to coś co chciałeś uzyskać

przyciski na 2 i 3 do masy diody od 4 do 13

Kod:
int czas = 200; // czas w milisekundach co ile ma ponownie załączyć
long Pm = 0 ;
int counter = 2 ;

int led[]=  {7,6,4,5,6,7,8,9,10,11,12,13,10,11};

void setup() {

Serial.begin(9600);

pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);

pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);

}

void loop() {
 
 unsigned long Cm = millis();
 
digitalWrite(led[counter],HIGH);
 
 
if ( digitalRead(2) == LOW ){

if (Cm - Pm > czas ){counter = counter + 1 ;Pm = Cm;}}

if ( digitalRead(3) == LOW ){

if (Cm - Pm > czas ){counter = counter - 1 ;Pm = Cm;}}

digitalWrite(led[counter+2],LOW);
digitalWrite(led[counter-2],LOW);

Serial.print(led[counter]);
Serial.print(" / ");
Serial.println(counter);

if ( counter > 11 )counter = 11;
if ( counter < 2 )counter = 2;

}

a tu masz w kółko Macieja

Kod:
int czas = 100; // czas w milisekundach co ile ma ponownie załączyć
long Pm = 0 ;
int counter = 2 ;

int led[]=  {7,6,4,5,6,7,8,9,10,11,12,13,10,11};

void setup() {

Serial.begin(9600);

pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);

pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);

}

void loop() {
  
  unsigned long Cm = millis();
  
digitalWrite(led[counter],HIGH);
  
  
if ( digitalRead(2) == LOW ){

if (Cm - Pm > czas ){counter = counter + 1 ;Pm = Cm;}}

if ( digitalRead(3) == LOW ){

if (Cm - Pm > czas ){counter = counter - 1 ;Pm = Cm;}}

digitalWrite(led[counter+2],LOW);
digitalWrite(led[counter-2],LOW);

if ( counter == 3 )digitalWrite(13,LOW);
if ( counter == 10 )digitalWrite(4,LOW);

Serial.print(led[counter]);
Serial.print(" / ");
Serial.println(counter);

if ( counter > 11 )counter = 2;
if ( counter < 2 )counter = 11;

}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
  


Wiadomości w tym wątku
Ograniczenia funkcji counter - przez mavi - 13-04-2016, 21:06
RE: Ograniczenia funkcji counter - przez JasQ - 14-04-2016, 15:58
RE: Ograniczenia funkcji counter - przez mavi - 15-04-2016, 13:50
RE: Ograniczenia funkcji counter - przez JasQ - 15-04-2016, 15:08
RE: Ograniczenia funkcji counter - przez mavi - 17-04-2016, 13:22
RE: Ograniczenia funkcji counter - przez JasQ - 17-04-2016, 20:26

Skocz do:


Przeglądający: 1 gości