unsigned long Tactual;
unsigned long Ttranscurrido;
unsigned long Tanterior;
unsigned long TtranscurridoP;
unsigned long TanteriorP;
int Estado1=410;
int Estado2=210;
int Estado3=110;
int Se1=1;
int Se2=0;
int MemoriaDV;
int Or_L[6]={0,4,16,17,5,18};
int L_P[2]={2,19};
int Pulsadores[3]={25,26,34};
int Estado_L1=0;
int NL=0;
void punto(){
digitalWrite(Or_L[0], HIGH);
digitalWrite(Or_L[1], HIGH);
digitalWrite(Or_L[2], HIGH);
digitalWrite(Or_L[3], HIGH);
digitalWrite(Or_L[4], HIGH);
digitalWrite(Or_L[5], HIGH);
}
void Secuencia1(){
if(Estado_L1==0){
digitalWrite(Or_L[NL], HIGH);
Estado_L1=1;
}
else if(Estado_L1==1){
digitalWrite(Or_L[NL], LOW);
Estado_L1=0;
NL++;
}
}
void Secuencia2(){
if(Estado_L1==0){
digitalWrite(Or_L[NL], HIGH);
Estado_L1=1;
}
else if(Estado_L1==1){
digitalWrite(Or_L[NL], LOW);
Estado_L1=0;
NL--;
}
}
//int
struct potenciometro{
int pin;
int valorp1;
int vmin;
int vmax;
};
struct potenciometro Poten1={Pulsadores[2],0,1,3};
void setup() {
Serial.begin(115200);
pinMode(Or_L[0], OUTPUT);
pinMode(Or_L[1], OUTPUT);
pinMode(Or_L[2], OUTPUT);
pinMode(Or_L[3], OUTPUT);
pinMode(Or_L[4], OUTPUT);
pinMode(Or_L[5], OUTPUT);
pinMode(L_P[0], OUTPUT);
pinMode(L_P[1], OUTPUT);
pinMode(Pulsadores[0], INPUT);
pinMode(Pulsadores[1], INPUT);
pinMode(Poten1.pin, INPUT);
}
void loop() {
Tactual=millis();
Ttranscurrido=Tactual-Tanterior;
TtranscurridoP=Tactual-TanteriorP;
int P_1=map(analogRead(Poten1.pin),0,4095,Poten1.vmin,Poten1.vmax);
if (P_1==1){
MemoriaDV=Estado1;
}else if(P_1==2){
MemoriaDV=Estado2;
}else if(P_1==3){
MemoriaDV=Estado3;
}
if (NL>5){
punto();
NL=6;
}
if (NL<0){
punto();
NL=-1;
}
if (TtranscurridoP >=120){
if (digitalRead(Pulsadores[0])==1){
digitalWrite(L_P[1],1);
}else{
digitalWrite(L_P[1],0);
}
if (digitalRead(Pulsadores[1])==1){
digitalWrite(L_P[0],1);
}else{
digitalWrite(L_P[0],0);
}
TanteriorP=Tactual;
}
if ((digitalRead(L_P[0])==1)&&(digitalRead(Or_L[0])==1)){
Se1=1;
Se2=0;
}
if ((digitalRead(L_P[1])==1)&&(digitalRead(Or_L[5])==1)){
Se1=0;
Se2=1;
}
if(Ttranscurrido >=MemoriaDV){
if (Se1==1){
Secuencia1();
}
if (Se2==1){
Secuencia2();
}
Tanterior=Tactual;
Serial.println(NL);
}
Serial.println(MemoriaDV);
Serial.println(P_1);
Serial.print("VELOCIDAD ");
delay (500);
// this speeds up the simulation
}