Diferencia entre revisiones de «Tocadiscos caja de ritmos»
Sin resumen de edición |
|||
| (No se muestran 4 ediciones intermedias de 2 usuarios) | |||
| Línea 63: | Línea 63: | ||
=Codigo 2= | =Codigo 2= | ||
<pre> | <pre> | ||
define led 13 | #define led 13 | ||
#define buzzer 11 | #define buzzer 11 | ||
#define hall0 A0 | #define hall0 A0 | ||
| Línea 100: | Línea 100: | ||
delay(500); | delay(500); | ||
} | } | ||
</pre> | |||
=Codigo 3= | |||
<pre> | |||
#define led 13 | |||
#define buzzer 11 | |||
#define hall0 A0 | |||
#define hall1 A1 | |||
const int OUT0_PIN = 11; | |||
const int OUT1_PIN = 10; | |||
const int DURACION_MS = 50; | |||
const int HALL_OFFSET = 640; | |||
const int HALL_THRES = 50; | |||
uint16_t hall0val; | |||
uint16_t hall1val; | |||
void setup () { | |||
pinMode (led, OUTPUT); | |||
pinMode (buzzer, OUTPUT); | |||
pinMode (OUT0_PIN, OUTPUT); | |||
pinMode (OUT1_PIN, OUTPUT); | |||
Serial.begin(9600); | |||
} | |||
int out0_off_time = 0; | |||
int out1_off_time = 0; | |||
bool out0_on = false; | |||
bool out1_on = false; | |||
void loop () { | |||
hall0val = analogRead(hall0) - HALL_OFFSET; | |||
hall1val = analogRead(hall1) - HALL_OFFSET; | |||
// Serial.println("0 300 " + String(hall0val) + " " + String(hall1val)); | |||
if (millis() > out0_off_time && out0_on == true) { | |||
digitalWrite(OUT0_PIN, LOW); | |||
out0_on = false; | |||
Serial.println("1"); | |||
} | |||
if (millis() > out1_off_time && out1_on == true) { | |||
digitalWrite(OUT1_PIN, LOW); | |||
out1_on = false; | |||
Serial.println("2"); | |||
} | |||
if (hall0val > HALL_THRES) { | |||
int old = out0_off_time; | |||
digitalWrite(OUT0_PIN, HIGH); | |||
out0_off_time = millis() + DURACION_MS; | |||
out0_on = true; | |||
Serial.println("3"); | |||
} | |||
if (hall1val > HALL_THRES) { | |||
digitalWrite(OUT1_PIN, HIGH); | |||
out1_off_time = millis() + DURACION_MS; | |||
out1_on = true; | |||
Serial.println("4"); | |||
} | |||
} | |||
</pre> | |||