28-12-2017, 13:44
(Ten post był ostatnio modyfikowany: 29-12-2017, 10:02 przez CEO.
Powód edycji: Używamy znaczników [code]!
)
Witam jestem nowy na forum nie wiem czy w dobrym dziale pisze.
Jestem bardzo początkujący w Arduino. Mam taki problem. Chce napisać prosty program sterujący diodami LED przy pomocy rejestru przesuwnego 74HC595 .
poniżej zamieszczam mój program. Gdzie mam, by "bit 0" miał stan wysoki i po odczekaniu 1000ms (1s) następuje włączenie "bit 1". problem występuje taki że w ogóle nie realizuje delay tylko od razu włącza obydwa bity.
Tak samo jeśli zrobię
bitSet (leds, 1);
delay (500);
bitClear( leds,1);
to dioda się w ogóle nie załączy nawet na te 500ms.
Program:
Proszę o pomoc gdzie mam błąd
Jestem bardzo początkujący w Arduino. Mam taki problem. Chce napisać prosty program sterujący diodami LED przy pomocy rejestru przesuwnego 74HC595 .
poniżej zamieszczam mój program. Gdzie mam, by "bit 0" miał stan wysoki i po odczekaniu 1000ms (1s) następuje włączenie "bit 1". problem występuje taki że w ogóle nie realizuje delay tylko od razu włącza obydwa bity.
Tak samo jeśli zrobię
bitSet (leds, 1);
delay (500);
bitClear( leds,1);
to dioda się w ogóle nie załączy nawet na te 500ms.
Program:
Kod:
/*
Adafruit Arduino - Lesson 4. 8 LEDs and a Shift Register
*/
int latchPin = 8;
int clockPin = 10;
int dataPin = 6;
byte leds = 0;
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop()
{
updateShiftRegister();
bitSet(leds,0);
delay(1000);
bitSet(leds,1);
}
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
Proszę o pomoc gdzie mam błąd