# Ajuda com codigo para completalo

**URL:** <https://forum.fazedores.com/t/ajuda-com-codigo-para-completalo/9464>\
**Category:** Sem Categoria\
**Created:** [Maio 11, 2024, 6:52pm UTC](https://forum.fazedores.com/t/ajuda-com-codigo-para-completalo/9464 "2024-05-11T18:52:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tatupulner](https://avatars.discourse-cdn.com/v4/letter/t/c57346/32.png) [@tatupulner](https://forum.fazedores.com/u/tatupulner)\
**Post date:** [Maio 11, 2024, 6:52pm UTC](https://forum.fazedores.com/t/ajuda-com-codigo-para-completalo/9464/1 "2024-05-11T18:52:46Z")

</div>

estou comessecodigo epreciso complementalo preciso coloca rmais botoes de start e saida mais ja tentem varias formas e nao consigo alguem podia ajudar  
a simulação esta nesse link [coqueteleira - Wokwi ESP32, STM32, Arduino Simulator](https://wokwi.com/projects/396431027148428289)

#include \<Wire.h\>  
#include \<LiquidCrystal\_I2C.h\>

//Leitura do pino de sinal do moedeiro na entrada 12  
#define moedeiro A0

//Variáveis para a contagem de milissegundos  
unsigned long millisTarefa1 = millis();  
unsigned long millisTarefa2 = millis();  
LiquidCrystal\_I2C lcd(0x27 ,16,2);

//Variáveis globais  
int credito = 0;  
int botao\_start2=2;  
int contador3=3;  
int saida3=3;  
int flag;  
int fita\_de\_leds=A1;

void setup() {

Serial.begin (9600);  
lcd.begin(16,2);  
lcd.setCursor(0,0);  
lcd.print(“Coloque moeda”);  
delay(2000);  
pinMode(botao\_start2, INPUT\_PULLUP);  
pinMode(saida3, OUTPUT);  
pinMode(moedeiro, INPUT\_PULLUP);  
pinMode(fita\_de\_leds, OUTPUT);

Serial.println (“Inicializado!”);  
}  
void loop(){  
// Executa tarefa 1  
tarefa1();  
// Executa tarefa 2  
tarefa2();

}  
void tarefa1(){  
if((millis() - millisTarefa1) \< 200){  
// Acende o fita\_de\_leds  
if(credito==0){  
digitalWrite(fita\_de\_leds, LOW);}  
}else{  
// Apaga o fita\_de\_leds  
digitalWrite(fita\_de\_leds, HIGH);  
}  
// Verifica se já passou 400 milisegundos  
if((millis() - millisTarefa1) \> 400){  
millisTarefa1 = millis();  
}  
}

void tarefa2(){  
// Verifica se já passou 50 milisegundos  
if((millis() - millisTarefa2) \< 50){  
//Se detectar pulso do moedeiro, aumenta o crédito e exibe no LCD  
if (!digitalRead(moedeiro)) {  
credito++;  
lcd.clear();  
lcd.print("Credito: ");  
lcd.print(credito);  
Serial.print ("Moedas = ");  
Serial.println (credito);  
delay(500);  
}  
//Se apertar botão start, diminui um crédito e inicia contagem  
botao\_start2=digitalRead(2);  
if(botao\_start2==LOW && credito\>0){  
credito–;  
contador3=3; //contagem de tempo  
flag=1;  
while(flag==1){  
contagem();  
}

```
  delay(100);  

```

}  
//Atualiza no LCD o crédito  
lcd.setCursor(0,0);  
lcd.print("Credito: “);  
lcd.print(credito);  
lcd.print(” ");

}  
// Verifica se já passou 100 milisegundos  
if((millis() - millisTarefa2) \> 100){  
millisTarefa2 = millis();  
}  
}

void contagem(){  
//Ativa a saída  
digitalWrite(saida3, HIGH);  
//Inicia a contagem decrescente  
contador3–;  
lcd.setCursor(0,1);  
lcd.print("tempo: ");  
lcd.print(“00:”);  
//Adiciona “0” se o número for menor que 10  
if(contador3\<10){  
lcd.print(“0”);  
}  
lcd.print(contador3);  
delay(1000);  
//Quando o contador zerar, muda a flag, zera contador e desliga saída  
if(contador3\<= 0){  
flag=0;  
contador3=0;  
digitalWrite(saida3, LOW);  
delay(1000);  
lcd.clear();  
}  
}
