Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int DELAYTIME = 500;
- const int NUMBEROFPINS = 8;
- const int NUMBEROFSEQUENCES= 8;
- const int NUMBEROFPATTERNS = 7;
- const int pinArray[NUMBEROFPINS] = {
- 13, 12, 11, 10, 9, 8, 7, 6};
- const char seqs [NUMBEROFPATTERNS][NUMBEROFSEQUENCES] =
- {
- {128, 64, 32, 16, 8, 4, 2, 1},
- {129, 66, 36, 24, 24, 36, 66, 129},
- {1, 2, 4, 8, 16, 32, 64, 128},
- {126, -67, -37, -25, -25, -37, -67, 126},
- {-128, -64, -32, -16, -8, -4, -2, -1},
- {1, 3, 7, 15, 31, 63, 127, -1},
- {0,0,0,0,0,0,0,0}
- };
- int pattern=3;
- int nextpattern=3;
- void setup(){
- for (int pin=0;pin<NUMBEROFPINS;pin++) {
- pinMode(pinArray[pin], OUTPUT); // we make all the declarations at once
- };
- Serial.begin(9600);
- }
- void loop() {
- int incomingByte;
- for(int s = 0; s < NUMBEROFSEQUENCES; s++){
- for(int p = 0; p < NUMBEROFPINS; p++){
- digitalWrite(pinArray[p], (seqs[pattern][s] << p & 0x80)==128);
- }
- if(s==NUMBEROFSEQUENCES-1) {
- int t = pattern;
- if(t==2){
- pattern=0;
- nextpattern=2;
- } else {
- pattern=nextpattern;
- nextpattern=t;
- }
- }
- delay(DELAYTIME);
- if (Serial.available() > 0){
- incomingByte = Serial.read();
- switch(incomingByte){
- case 0x48:
- pattern = 0; nextpattern=0; break; // H
- case 0x53:
- pattern = 1; nextpattern=1; break; // S
- case 0x68:
- pattern = 2; nextpattern=0; break; // h
- case 0x73:
- pattern = 3; nextpattern=3; break; // s
- case 0x52:
- pattern = 4; nextpattern=4; break; // L
- case 0x4C:
- pattern = 5; nextpattern=5; break; // R
- case 0x45:
- pattern = 6; nextpattern=6; break; // E
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement