X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=shift_register%2Fshift_register_pattern%2Fsketch_jan27c%2Fsketch_jan27c.ino;fp=shift_register%2Fshift_register_pattern%2Fsketch_jan27c%2Fsketch_jan27c.ino;h=0000000000000000000000000000000000000000;hb=2e29cbe13965809a5d3866ccdc12b1d665b54115;hp=c5e1da7815840aedea2446a96c9bdd83522bf7c5;hpb=11eb80579bf2e63a8244897614542c917f641a47;p=sketchbook_andrea diff --git a/shift_register/shift_register_pattern/sketch_jan27c/sketch_jan27c.ino b/shift_register/shift_register_pattern/sketch_jan27c/sketch_jan27c.ino deleted file mode 100644 index c5e1da7..0000000 --- a/shift_register/shift_register_pattern/sketch_jan27c/sketch_jan27c.ino +++ /dev/null @@ -1,136 +0,0 @@ - -/* - Shift Register Example - Turning on the outputs of a 74HC595 using an array - - Hardware: - * 74HC595 shift register - * LEDs attached to each of the outputs of the shift register - - */ -//Pin connected to ST_CP of 74HC595 -int latchPin = 8; -//Pin connected to SH_CP of 74HC595 -int clockPin = 12; -////Pin connected to DS of 74HC595 -int dataPin = 11; - -//holders for infromation you're going to pass to shifting function -byte data; -byte dataArray[10]; - -void setup() { - //set pins to output because they are addressed in the main loop - pinMode(latchPin, OUTPUT); - Serial.begin(9600); - - //Arduino doesn't seem to have a way to write binary straight into the code - //so these values are in HEX. Decimal would have been fine, too. - dataArray[0] = 0xFF; //11111111 - dataArray[1] = 0xFE; //11111110 - dataArray[2] = 0xFC; //11111100 - dataArray[3] = 0xF8; //11111000 - dataArray[4] = 0xF0; //11110000 - dataArray[5] = 0xE0; //11100000 - dataArray[6] = 0xC0; //11000000 - dataArray[7] = 0x80; //10000000 - dataArray[8] = 0x00; //00000000 - dataArray[9] = 0x38; //11100000 - - //function that blinks all the LEDs - //gets passed the number of blinks and the pause time - blinkAll_2Bytes(2,500); -} - -void loop() { - - for (int j = 0; j < 10; j++) { - //load the light sequence you want from array - data = dataArray[j]; - //ground latchPin and hold low for as long as you are transmitting - digitalWrite(latchPin, 0); - //move 'em out - shiftOut(dataPin, clockPin, data); - //return the latch pin high to signal chip that it - //no longer needs to listen for information - digitalWrite(latchPin, 1); - delay(300); - } -} - - - -// the heart of the program -void shiftOut(int myDataPin, int myClockPin, byte myDataOut) { - // This shifts 8 bits out MSB first, - //on the rising edge of the clock, - //clock idles low - - //internal function setup - int i=0; - int pinState; - pinMode(myClockPin, OUTPUT); - pinMode(myDataPin, OUTPUT); - - //clear everything out just in case to - //prepare shift register for bit shifting - digitalWrite(myDataPin, 0); - digitalWrite(myClockPin, 0); - - //for each bit in the byte myDataOut� - //NOTICE THAT WE ARE COUNTING DOWN in our for loop - //This means that %00000001 or "1" will go through such - //that it will be pin Q0 that lights. - for (i=7; i>=0; i--) { - digitalWrite(myClockPin, 0); - - //if the value passed to myDataOut and a bitmask result - // true then... so if we are at i=6 and our value is - // %11010100 it would the code compares it to %01000000 - // and proceeds to set pinState to 1. - if ( myDataOut & (1<