Especificaciones tecnicas del arduino uno R3Descripción completa
Descripción completa
Datasheet arduino uno indonesia version
Praktičan rad, izrada Arduino razvojnog sistema izrada šilda, programiranje.
This paper shows how to make Glucose meter with Arduino.
Descripción completa
Descrição completa
Víctor Solórzano Alejandro Alemán Tópicos selectos de control.
Prof. Dr. Horacio Orozco
Tacómetro usando Arduino Uno
Para medir velocidad se consideraron dos opciones: 1.
Medir el tiempo entre dos pulsos (o alguna otra cantidad predefinida de pulsos) y calcular la velocidad correspondiente.
t=variable Cantidad de pulsos constante
2.
Contar la cantidad de pulsos en un intervalo de tiempo predefinido.
t=constante Cantidad de pulsos variable
Se decidió utilizar la segunda opción. En el programa de arduino se definieron las siguientes constantes: 1. interval Para facilitar la modificación del intervalo de tiempo constante para el cual se cuentan los pulsos.
2. Pulsrev
Para facilitar la modificación del encoder. Es la cantidad de pulsos que envía el encoder por cada revolución.
La conversión a velocidad se realiza de la siguiente manera:
Donde:
es la cantidad de pulsos contada. es el intervalo de tiempo fijado en la constante “interval” en ms.
es el inverso de la cantidad de pulsos por cada revolución (fijado en la constante pulsrev).
El resto son factores de conversión de tiempo para ms -> min. La operación en el Arduino se realiza de la siguiente manera:
Esto se hace por que se está utilizando el tipo de datos entero, se busca tener un número grande antes de realizar las divisiones. Esto porque, si el resultado de una división es menor que “1” provocará un error en la medición de la velocidad. Para medir el tiempo se utilizará la función de Arduino millis(), esta función cuenta el tiempo en milisegundos desde el momento en que comenzó a funcionar el Arduino. El funcionamiento del programa depende de la función de interrupción externa con que cuenta el Arduino. La mayoría de los arduinos tienen la interrupción “0” en el Pin2 digital, esta interrupción
es la que será utilizada. Citando [1] Las interrupciones son un mecanismo por el que un dispositivo, ante la ocurrencia de un evento, pide al procesador que interrumpa el programa que se está ejecutando y pase a ejecutar temporalmente una subrutina específica. Esta subrutina recibe el nombre de rutina de atención a la interrupción.
La interrupción en el Arduino se inicializa de la siguiente manera: attachInterrupt(
0, conteo, FALLING); | | | | | ->Dispara la interrupción en el | | borde de bajada del pulso | | enviado por el encoder. | ->Al entrar la interrupción llama a la subrutina “conteo”. | ->Se está utilizando la interrupción “0” (Pin2 digital)
El material necesario es: -
Arduino Uno
-
Optoswitch
-
Motor
-
Disco de encoder
-
Resistencias
El diagrama de conexión es el siguiente
Al pin digital 2 del Arduino
Donde R2 es una resistencia limitadora de corriente para proteger el led del optoswitch. R1 sirve para que cuando el optoswitch esté desactivado el pin2 del Arduino se aterrice de esta manera siempre tendrá o 5V o 0V (si no se aterriza puede provocar errores en la lectura y por tanto en el disparo de la interrupción). El diagrama de flujo de funcionamiento del programa es el siguiente:
El código completo es: const int buttonPin=2; const int ledPin=13; long previousMillis=0; long interval = 250; // pulsos por revolucion long pulsrev=55; long velocidad=0; volatile long contador=0; int buttonstate=0; int lastbuttonstate=0; void setup () { pinMode (buttonPin, INPUT); pinMode(ledPin,OUTPUT); attachInterrupt (0, conteo, FALLING); Serial.begin(9600); }