// Máquina de coletar prêmios de shopping. Existe um nome pra essa coisa?
// Única coisa que eu pensei na hora. Mente tá acabada por conta do Challenge.. decidi
// fazer isso, porque a única coisa que me interessou, e dava tempo, era algo com joystick.
// define as variáveis
#define eixo_y A0
#define eixo_x A1
#define botao 2
#define led1_x 3
#define led2_y 4
#define led3_prem 13
#define buzzer1 10
#define buzzer2 9
#define buzzer3 8
void setup() {
Serial.begin(9600);
pinMode(led1_x, OUTPUT); // led de funcionamento do eixo horizontal da garra.
pinMode(led2_y, OUTPUT); // led de funcionamento do eixo vertical da garra.
pinMode(led3_prem, OUTPUT); // led de funcionamento da descida da garra, para apanhar o prêmio.
pinMode(eixo_y, INPUT);
pinMode(eixo_x, INPUT);
pinMode(botao, INPUT_PULLUP); // input do joystick, de 0 a 1023. Defini entre 510 e 513 o centro, com
// certa tolerância.
}
void loop() {
int y = analogRead(eixo_y);
int x = analogRead(eixo_x);
bool botao_press = digitalRead(botao);
if (x < 510 || x > 513){
tone(10, 400, 400);
digitalWrite(3, 1);
delay(400);
digitalWrite(3, 0);
delay(400);
}
if (y < 510 || y > 513){
tone(9, 150, 600);
digitalWrite(4, 1);
delay(600);
digitalWrite(4, 0);
delay(600);
}
if (digitalRead(botao) == LOW) {
tone(8, 262, 200);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(13, 1);
delay(200);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(13, 0);
delay(200);
}
}