Diferencia entre revisiones de «Tocadiscos caja de ritmos»

 
(No se muestran 3 ediciones intermedias de 2 usuarios)
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>