/Spinners

Primary LanguageArduino

Física y arduino con Spinners

Ya tenemos claro que a los chavales les gusta ¿por qué no usarlo para que aprendan?

  • Los diseñan
  • Los construyen
  • Aprenden:
    • Física:
      • Rozamiento
      • Momento de inercia
    • Diseño 3D
    • Mecánica
    • A emprender
      • Presupuestos
      • Relaciones comerciales
      • Estimar el tiempo
  • Competiciones
    • Medida de velocidad y duración con Arduino: Tacómetro
      • Sensores para medir la rotación
      • Interrupciones hardware
      • Medida de tiempos
      • Cálculo de velocidades angulares

Funcionamiento

Video Comparativa rendimiento rodamiento cerámico (2$) con uno metálico (0,20$)

Diseños

Spinners con tuercas M8,10,m12

Spinner con 3 tuercas M10

(tarda 1 hora a 0.3)

otros diseños de spinners con tuercas

Spinner con leds

Compras

100 tuercas M10por 22€

100 rodamientos 608zz por 36€

10 rodamientos 608zz por 2,5€

20 rodamientos 608zz Abec9 (sin freno) unos 15€

Construcción

Limpieza

limpieza

Medidas

Medida de la rotación con un osciloscopio

F. Malpartida ha utilizado un osciloscopio y un sensor óptico para ver el giro

Diseño del banco de trabajo

Banco de trabajo

montaje y osciloscopio

osciloscopio

También propone usar un sensor inductivo

Medida de rotación con Arduino

arduino midiendo

arduino midiendo

El montaje es muy sencillo: un sensor de luz conectado al pin analógico A0

modelo de test de medida

Diseño

Diseño del banco de pruebas

Código superSimplificado

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println(analogRead(A0));
}

Test v0.1

Código con cálculo de derivada

plot diff

#define PIN_SENSOR_OPTICO A0
#define PIN_POTENCIOMETRO_UMBRAL_MAX A3
#define PIN_POTENCIOMETRO_UMBRAL_MIN A2

#define PIN_LED 13

void setup() {
  Serial.begin(115200);
  pinMode(PIN_LED,OUTPUT);
}

int old_valorSensor=0;

void loop() {
  int valorSensor=analogRead(PIN_SENSOR_OPTICO);
  int diffSensor=valorSensor-old_valorSensor; // Calculamos la diferencia con el valor anterior
  old_valorSensor=valorSensor;


// Usamos dos potenciometros analogicos para ajustar el umbral mínimo y máximo
  int valorPotUmbralMax=analogRead(PIN_POTENCIOMETRO_UMBRAL_MAX);
  int valorPotUmbralMin=analogRead(PIN_POTENCIOMETRO_UMBRAL_MIN);

  Serial.println(String(valorPotUmbralMin)+
      ", "+String(valorSensor)+
      ", "+String(diffSensor)+
      ", "+String(valorPotUmbralMax));

  // activamos el led cuando el valor esté entre los umbrales
  if((valorSensor>valorPotUmbralMax) && (valorSensor<valorPotUmbralMin))
  { digitalWrite(PIN_LED,HIGH);}
  else
  { digitalWrite(PIN_LED,LOW);}
}

Practicas a realizar

  • "Carreras" de spinners:
    • Cuál dura más tiempo girando
    • Cuál adquier mayor velocidad
  • Construcción
    • A partir de diseños ya hechos
    • Crear diseños para maximizar la inercia, la velocidad...
  • Montaje del banco de medida
  • Estudio de la física del movimiento

Dibujando los datos

python y matlib

plotting arduino data

python & arduino

plotCat

python plot serial data

Trabajando la probabilidad con spinners

Probabilidad.jpg

Medida_probabilidad.jpg

Se trata de medir la probabilidad de que el spinner termine apuntando dentro de una de las zonas y luego comparar las frecuencias medidas con las probabilidades esperadas

Referencias

La física de los spinners

Spinner POV RGB: lightino

How long a Spinner spins (thanks @ikkaro)

Physics of a spinner

Vídeo de impresión 3D de spinners

Tutorial de limpieza de rodamientos para spinners

Video: robot que lanza hace girar un spinner

Vídeo: Diseñando un spinner I Vídeo: Diseñando un spinner II

Spinner e imanes

Cómo hacer estallar un spinner

Enseñando STEAM con Spinners

Los 25 mejores diseños de spinners

Spinner digital, imitando con spinner con Circuit Playground de @adafruit

Cuentarevoluciones-tacómetros

Midiendo la velocidad de un spinner con BBC:Microbit

Midiendo la velocidad de giro de un spinner con BBC:Microbit

Cuenta revoluciones con arduino

Vídeo: Cuentarevoluciones con Circuit Playground Código Mi versión

POV spinner