Arduinos son dispositivos poco sorprendentes y (Instructablers) han hecho algunas cosas asombrosas con ellos.
Tengo curiosidad. Me gusta saber cómo funcionan las cosas. Para los curiosos, este Instructable tratará de explicar algunas de la electrónica de Arduino.
Sospecho que muchas personas han construido proyectos de Arduino pero no podían conseguir trabajo. Espero aportar algunos conocimientos y habilidades para ayudar a solucionar problemas de hardware, como errores de cableado y malos componentes.
Después de algunos Internet buscando, he encontrado un tutorial de electrónica que me gusta y la confianza:
http://www.Ladyada.net/Learn/Arduino/index.html
"Este tutorial es por Limor Fried"
De hecho, lo recomiendo a todos los lectores de Arduino. Existe cierta superposición de información sino un montón de multimedia y más en la programación.
Así que ¿quién soy yo? Soy un Geek viejo perezoso (L.O.G.). No soy un ingeniero con título pero he estado en el campo de la electrónica por más de 40 años a partir de una tecnología electrónica en la USAF. Pasé muchos años pruebas de sistemas electrónicos.
Arduino básico:
Como la mayoría de ustedes sabe, Arduinos se basan en un pequeño chip negro llamado un microcontrolador. Este es el corazón y el cerebro de la Arduino. No tienes un Arduino sin uno. Hay muchos sabores del microcontrolador Arduino pero todos tienen las mismas funciones. Actualmente el más popular para los DIYers es el ATmega328. Vea la foto.
Microcontrolador: Un microcontrolador es un CPU (unidad central de proceso) con interfaz y memoria de circuitos incorporado al chip. Básicamente, la CPU toma todos los comandos en el programa (sketch) (. PDE) y hace lo que ellos dicen. Aviso que dijo lo que dicen los comandos que haga; No digo que lo que el programador quiere que haga. Escribir que un programa exitoso es decir la CPU exactamente lo que usted quiere hacer en el idioma conoce.
Frecuentes: Sí, el ATmega328 siempre puede ser utilizado en lugar del ATmega168, como el hardware es exactamente el mismo. El ATmega168 no puede sustituir el ATmega328 tiene menos memoria para que programas más grandes pueden que no funcione.
Technobabble: El resto de esta sección es sólo para Geeks.
Dispositivo de | Flash | EEPROM | MEMORIA RAM |
ATmega168PA | 16K Bytes | 512 bytes | 1K Bytes |
ATmega328P | 32K Bytes | 1 K Bytes | 2K Bytes |
¿Qué significa esto? La K significa kilo, un multiplicador que en este caso, significa multiplicar al número por 1024. Bytes son sólo un lugar para almacenar información (datos). Esto es básicamente la única diferencia entre los dos microcontroladores.
Flash: es un tipo de memoria que tiene programa de información, incluso después de que Arduino está desconectado de la alimentación. El mismo programa se ejecute en cualquier momento se vuelve a aplicar potencia para el Arduino. Se trata de la misma manera unidades flash USB y tarjetas de cámaras digitales mantienen su información.
EEPROM: es la memoria que conserva también información después de energía apagado. Es diferente a Flash como puede ser escrito por el programa en vez del programa en sí. Las instrucciones de Arduino para utilizar memoria EEPROM son EEPROM.read() y EEPROM.write().
Tip: Be sure to have:
#include //in your sketch(program).
The limitation is, even in the ATmega328, there is only 1024 bytes so only so much data can be stored. Tip: By the way, I never got this to work.RAM: is also memory but it is volatile meaning it will go away when you turn off power. Sketches use it to store temporary information such as variables. What is a variable? Well, it is something that can change. Examples are the temperature or the time of day. Here is part of a sketch that converts a temperature sensor reading to degrees C (Centigrade) and degrees F (Farhenheit). float Vt=(float) sensorValue3Avg*5.0/1023.0;
Float R =(5.0-Vt) * 10.0 / Vt;
flotador TinC=281.583*pow(1.0230,(1.0/R)) * pow(R,-0.1227)-150.6614;
flotador TinF = TinC * (9.0/5.0) + 32;
Todas estas variables float se almacenan en la memoria RAM y se sobrescribirá la próxima vez que se toma una medición y se pierden cuando se apaga.
Básicamente, las variables son sólo etiquetas para ubicaciones en la memoria RAM. Las variables Float son un determinado tipo de variable. Con esta etiqueta, el bosquejo sabe dónde ir para almacenar el valor desea o recuperar el valor almacenado en esa ubicación. El tipo específico determina cuánto espacio se necesita y cómo interpretar la información.
Además de la CPU, flash y RAM, las ATmegas tienen circuitos de interfaz construido en:
Interfaz serial: esto permite que la CPU hablar con el PC mediante un puerto serie o USB y creo que se utiliza para comunicarse a través de I2C. Éste es también cómo habla a la LCD serial.
Analógico al convertidor digital (ADC): Esto permite que el ATmega convertir tensiones analógicas en datos digitales (se explicará en otro Instructable).
PWM (modulación de anchura de pulso): circuitos de 'analógicos' tensiones de salida
Temporizadores: para la sincronización de eventos, más de uso frecuente establecer retrasos entre pasos de programa, por ejemplo, parpadear LEDs.
Si han mirado alguna vez en las hojas de datos sobre estos ATmegas y entenderlos, entonces quizás usted debe escribiendo esto en vez de mí.
De los prefijos: Hay un montón de cartas a terminología electrónica que puede ser confuso. P. ej. 16mV 10Kohms, 20uF. Estas letras se llaman prefijos (y los sufijos) que son multiplicadores sólo para el valor. Por ejemplo, 10Kohms es (10 veces 1.000) ohmios o 10.000 ohmios. Consulte la tabla siguiente.
No esenciales información: Lamentablemente, si estás hablando 1Kbyte de memoria de computadora es 1024 bytes. Esto es porque la computadora personas les gusta hacer todo complicado. Así que a ellos K es 210. Puede significar megabyte 1.000.000, 1.048.576 o 1.024.000. No preguntar, comprobar que en Wikipedia.