Hola!!!, en este video veremos como hacer un frecuencímetro con arduino uno y un display oled SH1106.
Es un proyecto muy sencillo de hacer, en poco tiempo pueden montar todo el circuito , con unos pocos cables dupont, un arduino uno, mega, nano o mini pro, todos pueden funcionar perfectamente.
Se incluye el código fuente, el diagrama del circuito y un video explicativo donde podrán ver paso a paso a pasa como armar todo.
El display oled es totalmente opcional, y se puede prescindir de el totalmente, porque podemos visualizar la frecuencia obtenida en el terminal serial de arduino.
Hay que tener en cuenta que se necesitan dos librerías para el funcionamiento del proyecto, una es la U8glib para el control del display y la otra es FreqCount, para poder convertir nuestro arduino en un frecuencimetro.
Las librerías se pueden obtener fácilmente, del gestor de librerías de arduino y descargarlas e instalarlas para su posterior uso.
Las pruebas se hicieron con un osciloscopio hantek 6022BL, donde se observó la frecuencia que se iba introduciendo por el terminal serial con un arduino mega, y un generador de onda cuadrada y senoidal el AD9851, y comparamos las frecuencias mostrada en el display y el osciloscopio, para ver si realmente estas frecuencias eran iguales o similares.
Debemos usar solamente la onda cuadrada, que es la que puede medir el arduino, nunca usaremos la onda senoidal, debido a que podemos dañar al arduino.
AD9851
En este proyecto, si bien hicimos uso de este dispositivo, no profundizaremos en el mismo, es posible que hagamos un video en el futuro, sobre su uso y control.
CÓDIGO FUENTE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include "U8glib.h"//Librería para el control del display oled #include <FreqCount.h> U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);// I2C / TWI // Se habilita esta linea según el display a usar en este caso el driver SH1106 unsigned long count=0; void setup() { Serial.begin(115200);//Velocidad del puerto serial(se puede cambiar según las necesidades) FreqCount.begin(1000); } void loop() { if (FreqCount.available()) {//Devuelve verdadero cuando hay una nueva medida disponible count = FreqCount.read();//Devuelve la medición más reciente, la medición se hace por defecto en el pin numero 5 del arduino Serial.println(count);//Imprime el valor de la frecuencia obtenida en el monitor serial u8g.firstPage(); do { draw();//Llama a la función draw } while( u8g.nextPage() ); // Reconstruir la imagen después de un tiempo delay(50); } } void draw(void) { //Imprimimos en pantalla el valor de la frecuencia obtenida u8g.setFont(u8g_font_unifont); u8g.setPrintPos(0, 20); u8g.print("Freq:"); u8g.print(count); u8g.print(" Herz"); } |
MATERIALES
Dsiplay oled SH1106
Arduino uno
Cables dupont
CIRCUITO
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagrama
SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS MÁS DESTACADAS, SÓLO INGRESANDO TU CORREO ELECTRÓNICO
[wysija_form id=”1″]
VIDEO RECOMENDADO