kevinl7778 2021-02-23T18:17:17.459Z Like 0 Likes Comments c_cpp #include <Wire.h>
int ledB[]{13,12,11,10,9,8,7,6,5};
int ledA[]{4,3,2, 1, 0, A0, A1, A2, A3};
int DelayTime = 50;
int comm1 = 4;
void setup()
{
for (int i; i<9; i++)
{pinMode(ledB[i], OUTPUT); pinMode(ledA[i], OUTPUT);}
for (int i = 0; i <= 8; i++) {digitalWrite(ledB[i], HIGH);}//remove for real world
for (int i = 0; i <= 8; i++) {digitalWrite(ledA[i], HIGH);}//remove for real world
Wire.begin(comm1);
Wire.onReceive(receiveEvent);
Serial.begin(9600);
}
void loop()
{
}
void receiveEvent(int howMany)
{int x = Wire.read(); Serial.println(x);
if (x==0)
{digitalWrite(ledB[0],LOW);}
else{digitalWrite(ledB[0],HIGH);}
}
//{for (int i=0; i<=9; i++)
// {a[i]= Wire.read(); Serial.println(a[i]); (a[i]==1){digitalWrite(ledB[i],LOW);}} kevinl7778 2021-02-23T17:59:32.487Z Like 0 Likes Comments c_cpp ////////////////////////////////////////////////////////Include default libraries
#include <Wire.h>
////////////////////////////////////////////////////////Set up constants
int comm1 = 4;
int comm2 = 5;
int DelayTime = 250;
int FS[]{13,12,11,10,9,8,7,6,5};
int Knb[18];
int led[]{4,3,2,A2,A3};
int Group = 1;
int GroupLastState = 0;
int Knob = 0;
int comm = comm1;
////////////////////////////////////////////////////////Start ini proccess
void setup(){
init1(); //Set pinmode for foot switches and leds
ledSet(); //Sweep through leds and set 0 on
Wire.begin();
Serial.begin(9600);}
////////////////////////////////////////////////////////////Set var's :Need to change to 0-17 all set to 0
int x = 0;
int y = 0;
////////////////////////////////////////////////////////////Main loop
void loop()
{
Wire.beginTransmission(comm);
//for (int i = 0; i <= 8; i++)
//{digitalRead(FS[i]); if (digitalRead(FS[i]) == LOW)
//{Serial.println(String("x = ")+ x);Serial.println(String("Bingo ") +FS[i]);};}
Grouping();
Switch();
Knobs();
x=digitalRead(FS[0]);
Wire.write(x);
Wire.endTransmission(comm);
delay(100);
// Wire.beginTransmission(comm);
//y=digitalRead(FS[1]);
//Wire.write(y);
//Serial.println(String("y = ")+ y);
//Wire.endTransmission(comm);
delay(100);
}
//////////////////////////////////////////////////////////Init buttons and outputs
void init1(){
for (int i=0; i<9; i++){pinMode(FS[i], INPUT_PULLUP);}
for (int j=0; j<5; j++){pinMode(led[j],OUTPUT);}}
//////////////////////////////////////////////////////////////////////////////////////////////////////////Init Knight Rider lights
void ledSet(){
for (int j = 0; j <= 4; j++) {digitalWrite(led[j], HIGH); delay(DelayTime);digitalWrite(led[j], LOW);Serial.println(String("J++") +j);}
for (int j = 4; j >= 0; j--) {digitalWrite(led[j], HIGH); delay(DelayTime);digitalWrite(led[j], LOW);Serial.println(String("J--") +j);}
digitalWrite(led[0], HIGH);}
//////////////////////////////////////////////////////////////////////////////////////////////////////Changing Comunication group
void Switch(){
if (Group != GroupLastState){
switch (Group) {
case 1:
comm = comm1;
digitalWrite(led[1], HIGH);
Serial.println(String("Group = ") +Group);
Serial.println(String("comm = ") +comm);
GroupLastState =1;
break;
case 2:
comm = comm1;
digitalWrite(led[2], HIGH);
Serial.println(String("Group = ") +Group);
Serial.println(String("comm = ") +comm);
GroupLastState =2;
break;
case 3:
comm = comm2;
digitalWrite(led[3], HIGH);
Serial.println(String("Group = ") +Group);
Serial.println(String("comm = ") +comm);
GroupLastState =3;
break;
case 4:
comm = comm2;
digitalWrite(led[4], HIGH);
Serial.println(String("Group = ") +Group);
Serial.println(String("comm = ") +comm);
GroupLastState =4;
break;}}}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////Switching groups
void Grouping(){if (digitalRead(FS[1]) == LOW && digitalRead(FS[0]) == LOW) {Group += 1;if (Group > 4) {Group = 1;}for (int i=1; i<5; i++){digitalWrite(led[i], LOW);};}
if (digitalRead(FS[8]) == LOW && digitalRead(FS[7]) == LOW) {Group -= 1;if (Group < 1) {Group = 4;}for (int i=1; i<5; i++){digitalWrite(led[i], LOW);};}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////Turning Knobs
void Knobs(){if (digitalRead(FS[0,3,6]) == LOW){Knob += 1; Serial.println(String("Knob = ") +Knob);}
else {Knob = 0;}
}