Spinners

Stars
13

Fsica y arduino con Spinners

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

  • Los disean
  • Los construyen
  • Aprenden:
    • Fsica:
      • Rozamiento
      • Momento de inercia
    • Diseo 3D
    • Mecnica
    • A emprender
      • Presupuestos
      • Relaciones comerciales
      • Estimar el tiempo
  • Competiciones
    • Medida de velocidad y duracin con Arduino: Tacmetro
      • Sensores para medir la rotacin
      • Interrupciones hardware
      • Medida de tiempos
      • Clculo de velocidades angulares

Funcionamiento

Video Comparativa rendimiento rodamiento cermico (2$) con uno metlico (0,20$)

Diseos

Spinners con tuercas M8,10,m12

Spinner con 3 tuercas M10

(tarda 1 hora a 0.3)

otros diseos 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

Construccin

Limpieza

limpieza

Medidas

Medida de la rotacin con un osciloscopio

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

Diseo del banco de trabajo

Tambin propone usar un sensor inductivo

Medida de rotacin con Arduino

El montaje es muy sencillo: un sensor de luz conectado al pin analgico A0

Diseo del banco de pruebas

Cdigo superSimplificado

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

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

Test v0.1

Cdigo con clculo de derivada

#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 mnimo y mximo
  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:
    • Cul dura ms tiempo girando
    • Cul adquier mayor velocidad
  • Construccin
    • A partir de diseos ya hechos
    • Crear diseos para maximizar la inercia, la velocidad...
  • Montaje del banco de medida
  • Estudio de la fsica del movimiento

Dibujando los datos

python y matlib

plotting arduino data

python & arduino

plotCat

python plot serial data

Trabajando la probabilidad con spinners

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 fsica de los spinners

Spinner POV RGB: lightino

How long a Spinner spins (thanks @ikkaro)

Physics of a spinner

Vdeo de impresin 3D de spinners

Tutorial de limpieza de rodamientos para spinners

Video: robot que lanza hace girar un spinner

Vdeo: Diseando un spinner I Vdeo: Diseando un spinner II

Spinner e imanes

Cmo hacer estallar un spinner

Enseando STEAM con Spinners

Los 25 mejores diseos de spinners

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

Cuentarevoluciones-tacmetros

Midiendo la velocidad de un spinner con BBC:Microbit

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

Cuenta revoluciones con arduino

Vdeo: Cuentarevoluciones con Circuit Playground Cdigo Mi versin

POV spinner