trigor_mortse/Lanes.ino

55 lines
1.3 KiB
Arduino
Raw Normal View History

2022-12-20 04:55:37 +00:00
#include <Encoder.h>
2022-12-20 01:13:59 +00:00
2022-12-20 04:55:37 +00:00
const int Lane1Pin = 9; //Output Channel 1
const int Lane2Pin = 10; //Output Channel 2
const int Lane3Pin = 11; //Output Channel 3
const int Enc1P1 = 2; //Encoder 1 Pin 1 to Interrupt
const int Enc2P1 = 3; //Encoder 2 Pin 1 to Interrupt
const int Enc1P2 = 14; //Encoder 1 Pin 2 to non-Interrupting pin because we only have 2
const int Enc2P2 = 15; //Encoder 2 Pin 2 to non-Interrupting pin because we only have 2
const int Enc1Btn = 16; //Encoder 1 Button
const int Enc2Btn = 17; //Encoder 2 Button
const int ClockIn = 20; //Clock In
Encoder LeftEnc( Enc1P1, Enc1P2);
Encoder RightEnc( Enc2P1, Enc2P2);
int E1 = 0;
int E2 = 0;
bool E1Btn = false;
bool E2Btn = false;
bool ClockState = false;
int PpQN = 24;
float Clock = 120;
float ClockTick = 1/((Clock * PpQN)/60);
long Lane1Pos, Lane2Pos, Lane3Pos, Lane1Time, Lane2Time, Lane3Time= 0;
2022-12-20 05:13:32 +00:00
int Lane1[4][16];
int Lane2[4][16];
int Lane3[4][16];
2022-12-20 01:13:59 +00:00
void setup() {
2022-12-20 04:55:37 +00:00
//Open Serial for output prior to installing a screen
Serial.begin( 115200 );
2022-12-20 05:13:32 +00:00
randomSeed(analogRead(A7));
2022-12-20 04:55:37 +00:00
//Clear the Lanes
for(int i = 0; i < 16; i++){
2022-12-20 05:13:32 +00:00
Lane1[0][i] = random(0, 96);
Lane1[1][i] = random(0, 255);
Lane1[2][i] = random(0, 2);
Lane1[3][i] = random(0,255);
2022-12-20 04:55:37 +00:00
for(int j = 0; j < 4; j++){
2022-12-20 05:13:32 +00:00
Lane2[j][i] = Lane3[i][j] = 0;
2022-12-20 04:55:37 +00:00
}
}
2022-12-20 01:13:59 +00:00
}
void loop() {
2022-12-20 04:55:37 +00:00
delay(1);
2022-12-20 01:13:59 +00:00
}