Diferencia entre revisiones de «Tocadiscos caja de ritmos»

De fabwiki
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Sin resumen de edición
 
(No se muestran 4 ediciones intermedias de otro usuario)
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án los tiempos de los sonidos de la caja de ritmo.
Los imanes van a moverse.
Sensores estacionarios de campos magnéticos van 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]


=Codigo=
<gallery>
Ah49e modulo pins.jpeg
</gallery>
 
=Videos=
* https://cloud.undernet.uy/s/a6CEK3JqqbARwpn
 
=Codigo 1=
<pre>
<pre>


Línea 45: Línea 60:
}
}
</pre>
</pre>
=Codigo 2=
<pre>
define led 13 
#define buzzer 11
#define hall0 A0
#define hall1 A1
uint16_t hall0val;
uint16_t hall1val;
void setup () {
  pinMode (led, OUTPUT);
  pinMode (buzzer, OUTPUT);
  Serial.begin(9600);
}
void loop () {
  hall0val = analogRead(hall0);
  hall0val -= 640;
 
  hall1val = analogRead(hall1);
  hall1val -= 640;
  //Serial.print("0, "); Serial.print("300, ");
  Serial.print(hall0val);
  Serial.print(" ");
  Serial.println(hall1val);
  if (hall0val > 50 || hall1val > 50) {
    digitalWrite(led, HIGH);
    digitalWrite(buzzer, HIGH);
  }
  else {
    digitalWrite(led, LOW);
    digitalWrite(buzzer, LOW);
  }
// delayMicroseconds(300000);
  delay(500);
}

Revisión actual - 02:48 18 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án los tiempos de los sonidos de la caja de ritmo. Los imanes van a moverse. Sensores estacionarios de campos magnéticos van 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)

Videos

Codigo 1


#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);
}

Codigo 2

define led 13  
#define buzzer 11
#define hall0 A0
#define hall1 A1

uint16_t hall0val;
uint16_t hall1val;

void setup () {
  pinMode (led, OUTPUT);
  pinMode (buzzer, OUTPUT);
  Serial.begin(9600);
}

void loop () {
  hall0val = analogRead(hall0);
  hall0val -= 640;
  
  hall1val = analogRead(hall1);
  hall1val -= 640;

  //Serial.print("0, "); Serial.print("300, "); 
  Serial.print(hall0val);
  Serial.print(" ");
  Serial.println(hall1val);

  if (hall0val > 50 || hall1val > 50) {
    digitalWrite(led, HIGH);
    digitalWrite(buzzer, HIGH);
  }
  else {
    digitalWrite(led, LOW);
    digitalWrite(buzzer, LOW);
  }
 // delayMicroseconds(300000);
   delay(500);
}