Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int skupina1[] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
- int skupina1Zapsana[20];
- int skupina2[] = {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1};
- int skupina2Zapsana[20];
- int dataPin = 6;
- int clockPin = 7;
- int latchPin = 8;
- byte data01 = B00000000;
- byte data02 = B00000000;
- byte data03 = B00000000;
- byte data11 = B00000000;
- byte data12 = B00000000;
- byte data13 = B00000000;
- void setup() {
- Serial.begin(115200);
- }
- void loop() {
- diagnostikaShiftOut();
- }
- void diagnostikaShiftOut() {
- bool zapisNaDiagnostiku = false;
- for(int i=0; i<20; i++) {
- if(skupina1[i] != skupina1Zapsana[i]) {
- zapisNaDiagnostiku = true;
- if(i < 8) {
- bitWrite(data01, i, skupina1[i]);
- }
- else if(i > 7 && i < 16) {
- bitWrite(data02, i-8, skupina1[i]);
- }
- else if(i > 15 && i < 20) {
- bitWrite(data03, i-16, skupina1[i]);
- }
- skupina1Zapsana[i] = skupina1[i];
- }
- if(skupina2[i] != skupina2Zapsana[i]) {
- zapisNaDiagnostiku = true;
- if(i < 8) {
- bitWrite(data11, i, skupina2[i]);
- }
- else if(i > 7 && i < 16) {
- bitWrite(data12, i-8, skupina2[i]);
- }
- else if(i > 15 && i < 20) {
- bitWrite(data13, i-16, skupina2[i]);
- }
- skupina2Zapsana[i] = skupina2[i];
- }
- }
- if(zapisNaDiagnostiku == true) {
- digitalWrite(latchPin, LOW);
- shiftOut(dataPin, clockPin, LSBFIRST, data01);
- shiftOut(dataPin, clockPin, LSBFIRST, data02);
- shiftOut(dataPin, clockPin, LSBFIRST, data03);
- shiftOut(dataPin, clockPin, LSBFIRST, data11);
- shiftOut(dataPin, clockPin, LSBFIRST, data12);
- shiftOut(dataPin, clockPin, LSBFIRST, data13);
- digitalWrite(latchPin, HIGH);
- }
- printBinary(data01);
- printBinary(data02);
- printBinary(data03);
- Serial.println();
- printBinary(data11);
- printBinary(data12);
- printBinary(data13);
- Serial.println();
- }
- void printBinary(byte inByte) {
- for (int b = 7; b >= 0; b--) {
- Serial.print(bitRead(inByte, b));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment