Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned long int temp1=0; // momento em que o temporizador 1 foi disparado
- unsigned long int temp2=0; // momento em que o temporizador 2 foi disparado
- unsigned long int interval_temp1=100; // tempo do temporizador 1 em milisegundos
- unsigned long int interval_temp2=500; // tempo do temporizador 2 em milisegundos
- boolean temp1_on=false; // estado do temporizador 1 (ligado=true ,desligado=false)
- boolean temp2_on=false; // estado do temporizador 2 (ligado=true ,desligado=false)
- boolean led1_state=false; // estado do led1
- boolean led2_state=false; // estado do led2
- boolean led3_state=false; // estado do led3
- boolean led4_state=false; // estado do led4
- boolean led5_state=false; // estado do led5
- boolean led6_state=false; // estado do led6
- boolean led7_state=false; // estado do led7
- boolean led8_state=false; // estado do led8
- int button_liga1 = 2; // botão liga motor 1
- int button_reverte1 = 3; // botão reverte motor 1
- int button_liga2 = 4; // botão liga motor 2
- int button_reverte2 = 5; // botão reverte motor 2
- int led1=10; // led1 no pino 10
- int led2=11; // led2 no pino 11
- int led3=12; // led3 no pino 12
- int led4=13; // led4 no pino 13
- int led5=6; // led5 no pino 6
- int led6=7; // led6 no pino 7
- int led7=8; // led7 no pino 8
- int led8=9; // led8 no pino 9
- signed int step_motor_1=0; // passo do motor 1
- signed int step_motor_2=0; // passo do motor 2
- boolean buttonState = LOW; // estado do botão
- void setup(){
- // configura os pinos como saída
- pinMode(led1,OUTPUT);
- pinMode(led2,OUTPUT);
- pinMode(led3,OUTPUT);
- pinMode(led4,OUTPUT);
- pinMode(led5,OUTPUT);
- pinMode(led6,OUTPUT);
- pinMode(led7,OUTPUT);
- pinMode(led8,OUTPUT);
- // configura os pinos como entrada
- pinMode(button_liga1,INPUT);
- pinMode(button_liga2,INPUT);
- pinMode(button_reverte1,INPUT);
- pinMode(button_reverte2,INPUT);
- // apaga os leds
- digitalWrite(led1,led1_state);
- digitalWrite(led2,led2_state);
- digitalWrite(led3,led3_state);
- digitalWrite(led4,led4_state);
- digitalWrite(led5,led5_state);
- digitalWrite(led6,led6_state);
- digitalWrite(led7,led7_state);
- digitalWrite(led8,led8_state);
- }
- void loop() {
- // motor 1
- if (step_motor_1==0 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, true);
- digitalWrite(led2, false);
- digitalWrite(led3, false);
- digitalWrite(led4, false);
- }
- if (step_motor_1==1 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, true);
- digitalWrite(led2, true);
- digitalWrite(led3, false);
- digitalWrite(led4, false);
- }
- if (step_motor_1==2 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, false);
- digitalWrite(led2, true);
- digitalWrite(led3, false);
- digitalWrite(led4, false);
- }
- if (step_motor_1==3 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, false);
- digitalWrite(led2, true);
- digitalWrite(led3, true);
- digitalWrite(led4, false);
- }
- if (step_motor_1==4 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, false);
- digitalWrite(led2, false);
- digitalWrite(led3, true);
- digitalWrite(led4, false);
- }
- if (step_motor_1==5 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, false);
- digitalWrite(led2, false);
- digitalWrite(led3, true);
- digitalWrite(led4, true);
- }
- if (step_motor_1==6 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, false);
- digitalWrite(led2, false);
- digitalWrite(led3, false);
- digitalWrite(led4, true);
- }
- if (step_motor_1==7 && temp1_on==false){
- temp1=millis(); // carrega o temp1 com o tempo atual
- temp1_on=true; // liga o timer 1
- digitalWrite(led1, true);
- digitalWrite(led2, false);
- digitalWrite(led3, false);
- digitalWrite(led4, true);
- }
- buttonState = digitalRead(button_liga1);
- if (buttonState==HIGH) {
- if (millis()>(temp1+interval_temp1)){
- temp1_on=false;
- buttonState = digitalRead(button_reverte1);
- if (buttonState==HIGH) {
- step_motor_1=step_motor_1+1;
- if(step_motor_1>7) step_motor_1=0;
- }
- else {
- step_motor_1=step_motor_1-1;
- if(step_motor_1<0) step_motor_1=7;
- }
- }
- }
- // motor 2
- if (step_motor_2==0 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, true);
- digitalWrite(led6, false);
- digitalWrite(led7, false);
- digitalWrite(led8, false);
- }
- if (step_motor_2==1 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, true);
- digitalWrite(led6, true);
- digitalWrite(led7, false);
- digitalWrite(led8, false);
- }
- if (step_motor_2==2 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, false);
- digitalWrite(led6, true);
- digitalWrite(led7, false);
- digitalWrite(led8, false);
- }
- if (step_motor_2==3 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, false);
- digitalWrite(led6, true);
- digitalWrite(led7, true);
- digitalWrite(led8, false);
- }
- if (step_motor_2==4 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, false);
- digitalWrite(led6, false);
- digitalWrite(led7, true);
- digitalWrite(led8, false);
- }
- if (step_motor_2==5 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, false);
- digitalWrite(led6, false);
- digitalWrite(led7, true);
- digitalWrite(led8, true);
- }
- if (step_motor_2==6 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, false);
- digitalWrite(led6, false);
- digitalWrite(led7, false);
- digitalWrite(led8, true);
- }
- if (step_motor_2==7 && temp2_on==false){
- temp2=millis(); // carrega o temp2 com o tempo atual
- temp2_on=true; // liga o timer 2
- digitalWrite(led5, true);
- digitalWrite(led6, false);
- digitalWrite(led7, false);
- digitalWrite(led8, true);
- }
- buttonState = digitalRead(button_liga2);
- if (buttonState==HIGH) {
- if (millis()>(temp2+interval_temp2)){
- temp2_on=false;
- buttonState = digitalRead(button_reverte2);
- if (buttonState==HIGH) {
- step_motor_2=step_motor_2+1;
- if(step_motor_2>7) step_motor_2=0;
- }
- else {
- step_motor_2=step_motor_2-1;
- if(step_motor_2<0) step_motor_2=7;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement