Mostrando entradas con la etiqueta PROGRAMACION. Mostrar todas las entradas

GRABAR EL BOOTLOADER DEL ATMEGA EN ARDUINO

Grabe el bootloader a un Atmega328 con arduino.

Hace unos meses compre un atmega328p-pu (ya que había quemado uno :'v), pero al momento de ponerlo al arduino no cargaba estaba vació, hasta hace unos días que lo agarre y vi como se le hacia para grabar el bootloader del arduino al Atmega usando un arduino y unos cuantos componentes. 

Componentes



1-Resistencia de 330ohms o 1Kohm 

1-Resistencia de 10Kohms 

1-Led para comprobación 

1-Cristal de 16Mhz 

1-Atmega328p-pu 

Protoboard 

Arduino 

Procedimiento
  

lo primero que haremos sera cargarle el código de isp al arduino para ello les dejo un link de descarga con el archivo de texto para que lo copien al arduino y lo puedan cargar 
https://drive.google.com/folderview?id=0B3Sa4ggVs2HCNENZUE5TMnNsM3c . 

ya cargado el isp al arduino, lo desconectamos , y procedemos a armar el circuito que nos ayudara a programar el bootloader al atmega. 

para las conexiones del arduino al atmega les deje esta imagen que hice mostrando el conexionado. 

Grabe el bootloader a un Atmega328 con arduino Entra!

ya hechas las conexiones del atmega al arduino, procederemos a cargar el bootloader. 

1- conectamos el arduino a la pc ( ya con el isp ya cargado) 

2-nos vamos a herramientas -> programador y elegimos Arduino as ISP 

3- el led de nuestra protoboard empezara a parpadear o quedarse quieto 

4- ya en el arduino deberá aparecer que ya se finalizo de cargar el bootloader 

5- ya quedo, ya puedes poner el atmega en un arduino y hacerlo funcionar 

--------------------------------------------------------------------


aqui es cuando lo andaba armando 
electronica

Aquí ya esta finalizado el bootloader y el atmega fue puesto en el arduino que esta con el led 

circuitos

--------------------------------------------------------------------

FOTO-RESISTENCIA EN ARDUINO (LDR)

MEDIR NIVEL DE LUZ CON ARDUINO Y FOTORESISTENCIA LDR (GL55)

arduino-ldr
En esta entrada aprenderemos a medir el nivel de luz, tanto en interiores o exteriores, con la ayuda de Arduino y una fotoresistencia LDR (familia GL55 o similar), usando las entradas analógicas de Arduino.

¿QUÉ ES UN FOTORESISTOR LDR?

Un fotoresistor, o LDR (light-dependent resistor) es un dispositivo cuya resistencia varia en función de la luz recibida. Podemos usar esta variación para medir, a través de las entradas analógicas, una estimación del nivel del luz.
Un fotoresistor está formado por un semiconductor, típicamente sulfuro de cadmio CdS. Al incidir la luz sobre él algunos de los fotones son absorbidos, provocando que electrones pasen a la banda de conducción y, por tanto, disminuyendo la resistencia del componente.
Por tanto, un fotoresistor disminuye su resistencia a medida que aumenta la luz sobre él. Los valores típicos son de 1 Mohm en total oscuridad, a 50-100 Ohm bajo luz brillante.
Por otro lado, la variación de la resistencia es relativamente lenta, de 20 a 100 ms en función del modelo. Esta lentitud hace que no sea posible registrar variaciones rápidas, como las producidas en fuentes de luz artificiales alimentadas por corriente alterna. Este comportamiento puede ser beneficioso, ya que dota al sensor de una gran estabilidad.
Finalmente, los fotoresistores no resultan adecuados para proporcionar una medición de la iluminancia, es decir, para servir como luxómetro Esto es debido a su baja precisión, su fuerte dependencia con la temperatura y, especialmente, a que su distribución espectral no resulta adecuada para la medición de iluminancia.
ldr-graficas
Por tanto, un LDR es una sensor que resulta adecuado para proporcionar medidas cuantitativas sobre el nivel de luz, tanto en interiores como en exteriores, y reaccionar, por ejemplo, encendiendo una luz, subiendo una persiana, u orientando un robot.

PRECIO

Las fotoresistencias son dispositivos realmente baratos. Podemos encontrar 20 sensores LDR por 1€ en vendedores internacionales en Ebay, gastos de envío incluidos.
ldr-gl55

¿CÓMO FUNCIONA UN FOTORESISTOR LDR?

Matemáticamente, la relación entre la iluminancia y la resistencia de una LDR sigue una función potencial.
 \frac{I}{I_0} = \left ( \frac{R}{R_0} \right )^{-gamma}

Siendo R0 la resistencia a una intensidad I0, ambas conocidas.
La constante gamma es la pendiente de la gráfica logarítmica, o la pérdida de resistencia por década. Su valor típicamente 0.5 a 0.8.
Por este motivo, frecuentemente las gráficas que relacionan ambos valores se representan en escalas logarítmicas para ambos ejes. Bajo esta representación, la relación se muestra como una gráfica lineal.
ldr-resistencia
Estos valores pueden ser obtenidos del datasheet del componente. Por ejemplo, para la familia GL55 de fotoresistores son los siguientes:
ModeloVoltaje 
(V)
Temperatura 
(ºC)
Pico 
espectral 
(nm)
Resistencia 
oscuridad
(KΩ)
Resistencia 
luz brillante
(KΩ)
gammaTiempo 
respuesta
(ms)
GL5516150-30º+70º5405-105000.530
GL5528150-30º+70º54010-2010000.625
GL5537-1150-30º+70º54020-3020000.625
GL5537-2150-30º+70º54030-5030000.725
GL5539150-30º+70º54050-10050000.825
GL5549150-30º+70º540100-200100000.925

Sin embargo, siempre existirán pequeñas variaciones entre dispositivos, incluso dentro de la misma familia, debidos a la fabricación del componente.
El comportamiento potencial hace que estas pequeñas diferencias supongan grandes variaciones en la medición, por lo que no es posible, en general, emplear estos valores de forma absoluta sin un proceso de calibración.

ESQUEMA ELÉCTRICO

El esquema eléctrico sería el siguiente.
arduino-ldr-esquema

MONTAJE

Por su parte, el montaje eléctrico en una protoboard quedaría de la siguiente manera.
arduino-ldr-montaje

EJEMPLOS DE CÓDIGO

En el siguiente, usamos las entradas digitales para hacer parpadear el LED integrado en la placa mientras el LDR recibe luz suficiente.
El siguiente ejemplo emplea una entrada analógica para activar el LED integrado en la placa si supera un cierto umbral (threshold).
El siguiente código proporciona una lectura del nivel de iluminación recibido. Observar que los cálculos se realizan con aritmética de enteros, evitando emplear números de coma flotante, dado que ralentizan mucho la ejecución del código.
►

- Copyright © Android Arm WorkStation - Blogger Templates - Powered by Blogger - Designed by Johanes Djogan -