Diferencia entre revisiones de «Tocadiscos caja de ritmos»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
Sin resumen de edición |
||
| Línea 1: | Línea 1: | ||
__NOTOC__ | |||
La idea es que el usuario quiere generar un ritmo. | |||
El usuario va a colocar imanes sobre la superficie de un disco giratorio. | |||
Las posiciones de los imanes representará los tiempos de los sonidos de la caja de ritmo. | |||
Los imanes va a moverse. | |||
Sensores estacionarios de campos magnéticos va a detectar cuando los imanes pasan por el sensor. | |||
=Motor original= | =Motor original= | ||
1290 rpm | 1290 rpm | ||
| Línea 8: | Línea 16: | ||
* [[Media:Uln2003a.pdf | Hoja técnica de ULN2003AN controlador para motor paso a paso]] | * [[Media:Uln2003a.pdf | Hoja técnica de ULN2003AN controlador para motor paso a paso]] | ||
=Sensores Hall= | =Sensores Hall (para detectar campos magnéticos) = | ||
* [https://www.diodes.com/datasheet/download/AH49E.pdf Hoja técnica de AH49E sensor Hall] | * [https://www.diodes.com/datasheet/download/AH49E.pdf Hoja técnica de AH49E sensor Hall] | ||
* [https://www.electronica.uy/producto/robotica/sensores-robotica/magnetico/modulo-sensor-magnetico-analogico/ El modulo de AH49E que compro en Eneka] | * [https://www.electronica.uy/producto/robotica/sensores-robotica/magnetico/modulo-sensor-magnetico-analogico/ El modulo de AH49E que compro en Eneka] | ||
Revisión del 19:07 1 jun 2026
La idea es que el usuario quiere generar un ritmo.
El usuario va a colocar imanes sobre la superficie de un disco giratorio.
Las posiciones de los imanes representará los tiempos de los sonidos de la caja de ritmo.
Los imanes va a moverse.
Sensores estacionarios de campos magnéticos va a detectar cuando los imanes pasan por el sensor.
Motor original
1290 rpm
84.7 cm de cinturón de goma
Motor Paso a Paso
Sensores Hall (para detectar campos magnéticos)
Codigo
#define led 13
#define buzzer 11
#define analogPin A0
uint16_t analogVal;
void setup () {
pinMode (led, OUTPUT);
pinMode (buzzer, OUTPUT);
Serial.begin(9600);
}
void loop () {
analogVal = analogRead(analogPin);
analogVal -= 640;
Serial.print("0, "); Serial.print("300, ");
Serial.println(analogVal);
if (analogVal > 50) {
digitalWrite(led, HIGH);
digitalWrite(buzzer, HIGH);
}
else {
digitalWrite(led, LOW);
digitalWrite(buzzer, LOW);
}
delayMicroseconds(1000);
}