Diferencia entre revisiones de «Tocadiscos caja de ritmos»
Sin resumen de edición |
|||
| Línea 99: | Línea 99: | ||
// delayMicroseconds(300000); | // delayMicroseconds(300000); | ||
delay(500); | delay(500); | ||
} | |||
=Codigo 3= | |||
#define led 13 | |||
#define buzzer 11 | |||
#define hall0 A0 | |||
#define hall1 A1 | |||
uint16_t hall0val; | |||
uint16_t hall1val; | |||
const int OUT0_PIN = 6; | |||
const int OUT1_PIN = 13; | |||
const int DURACION_MS = 50; | |||
const int HALL_OFFSET = 640; | |||
const int HALL_THRES = 50; | |||
void setup () { | |||
pinMode (led, OUTPUT); | |||
pinMode (buzzer, OUTPUT); | |||
pinMode (OUT0, OUTPUT); | |||
pinMode (OUT1, OUTPUT); | |||
Serial.begin(9600); | |||
} | |||
bool out0_on = false; | |||
void loop () { | |||
int out0_off_time = 0; | |||
int out1_off_time = 1; | |||
bool out0_on = false; | |||
bool out1_on = false; | |||
hall0val = analogRead(hall0) - HALL_OFFSET; | |||
hall1val = analogRead(hall1) - HALL_OFFSET; | |||
//Serial.print("0, "); Serial.print("300, "); | |||
Serial.print(hall0val); | |||
Serial.print(" "); | |||
Serial.println(hall1val); | |||
if (millis() > out0_off_time && out0_on == true) { | |||
digitalWrite(OUT0, LOW); | |||
out0_on = false; | |||
} | |||
if (millis() > out1_off_time && out1_on == true) { | |||
digitalWrite(OUT1, LOW); | |||
out0_on = false; | |||
} | |||
if (hall0val > HALL_THRES) { | |||
digitalWrite(OUT0, HIGH); | |||
out0_off_time = millis() + DURACION_MS; | |||
out0_on = true; | |||
} | |||
if (hall1val > HALL_THRES) { | |||
digitalWrite(OUT1, HIGH); | |||
out1_off_time = millis() + DURACION_MS; | |||
out1_on = true; | |||
} | |||
} | } | ||