Tabla de contenido:

Características menos conocidas de Arduino: 9 pasos
Características menos conocidas de Arduino: 9 pasos

Video: Características menos conocidas de Arduino: 9 pasos

Video: Características menos conocidas de Arduino: 9 pasos
Video: 10 PRIMEROS PASOS para PROGRAMAR ARDUINO desde 0 2024, Mes de julio
Anonim
Características menos conocidas de Arduino
Características menos conocidas de Arduino

Esta es más una lista de las características que no se mencionan con tanta frecuencia de las plataformas Arduino que se utilizan normalmente (por ejemplo, Uno, Nano). Esta lista debe servir como referencia siempre que necesite buscar esas características y correr la voz.

Mire el código para ver ejemplos de todas esas características, ya que las usé en varios de mis proyectos aquí en instructable (por ejemplo, Arduino 1-wire Display (144 Chars)). Los pasos siguientes explican una característica de cada uno.

Paso 1: Voltaje de suministro

El Arduino puede medir su propio voltaje de suministro de forma indirecta. Al medir la referencia interna con la tensión de alimentación como referencia de límite superior, puede obtener la relación entre la referencia interna y la tensión de alimentación (la tensión de alimentación actúa como límite superior para la lectura analógica / ADC). Como conoce el valor exacto de la referencia de tensión interna, puede calcular la tensión de alimentación.

Para obtener detalles exactos sobre cómo hacer esto, incluido el código de ejemplo, consulte:

  • Voltímetro Arduino secreto - Mida el voltaje de la batería:
  • ¿Puede Arduino medir su propio Vin ?:

Paso 2: temperatura interna

Algunos Arduino están equipados con un sensor de temperatura interno y, por lo tanto, pueden medir su temperatura interna (semicoductor).

Para obtener detalles exactos sobre cómo hacer esto, incluido el código de ejemplo, consulte:

Sensor de temperatura interno:

¿Puede Arduino medir su propio Vin ?:

Paso 3: Comparador analógico (interrupción)

Arduino puede configurar un comparador analógico entre los pines A0 y A1. Entonces, uno da el nivel de voltaje y el otro se verifica en busca de un cruce de este voltaje. Se genera una interrupción dependiendo de si el cruce es un borde ascendente o descendente (o ambos). A continuación, el software puede detectar la interrupción y actuar en consecuencia.

Para obtener detalles exactos sobre cómo hacer esto, incluido el código de ejemplo, consulte:

Interrupción del comparador analógico:

Paso 4: Contador

Por supuesto, los AVR tienen varios contadores incluidos. Por lo general, se utilizan para configurar el temporizador de varias frecuencias y generar interrupciones según sea necesario. Otro uso que puede ser muy anticuado es usarlos como contadores sin ningún tipo de magia adicional, simplemente lea el valor cuando lo necesite (encuesta). Un uso interesante de esto podría ser para eliminar el rebote de botones, p. Ej. Conferir, por ejemplo, esta publicación: AVR Example T1 counter

Paso 5: constantes predefinidas

Hay algunas variables predefinidas que se pueden usar para agregar información de versión y compilación a su proyecto.

Para obtener detalles exactos sobre cómo hacer esto, incluido el código de ejemplo, consulte:

Serial.println (_ FECHA_); // fecha de compilación

Serial.println (_ TIME_); // tiempo de compilación

String stringOne = String (ARDUINO, DEC);

Serial.println (stringOne); // versión arduino ide

Serial.println (_ VERSION_); // versión gcc

Serial.println (_ ARCHIVO_); // archivo compilado

estos fragmentos de código enviarán esos datos a la consola serie.

Paso 6: retenga la variable en la RAM a través del reinicio

Es bien sabido que Arduino Uno (ATmega328) tiene EEPROM interna que le permite conservar los valores y configuraciones durante el apagado y restaurarlos en el próximo encendido. Un hecho no tan conocido podría ser que en realidad es posible preservar el valor durante el reinicio incluso en la RAM, sin embargo, los valores se pierden durante el ciclo de energía, con la sintaxis:

unsigned long variable_that_is_preserved _attribute_ ((section (".noinit")));

Esto le permite, por ejemplo, contar el número de RESET y al usar EEPROM también el número de power-ups.

Para obtener detalles exactos sobre cómo hacer esto, incluido el código de ejemplo, consulte:

  • Conserve la variable en la RAM a través del reinicio:
  • Biblioteca EEPROM:

Paso 7: acceder a la señal del reloj

Los arduinos y otros AVR (como ATtiny) tienen un reloj interno que le permite ejecutarlos sin usar un oscilador de cristal externo. Además, al mismo tiempo, también pueden conectar esta señal al exterior colocándola en un pin (por ejemplo, PB4). La parte complicada aquí es que debe cambiar los bits de fusibles de los chips para habilitar esa función y cambiar los bits de fusibles siempre conlleva el riesgo de bloquear el chip.

Debe habilitar el fusible CKOUT y la forma más fácil de hacerlo es siguiendo las instrucciones sobre Cómo cambiar los bits de fusible de AVR Atmega328p - Microcontrolador de 8 bits con Arduino.

Para obtener detalles exactos sobre cómo hacer esto, incluido el código de ejemplo, consulte:

  • Sintonización del oscilador interno ATtiny:
  • Cómo cambiar los bits de fusible de AVR Atmega328p - Microcontrolador de 8 bits usando Arduino:

Paso 8: Estructura interna del puerto de ATmega328P

Conocer la estructura interna de los puertos de ATmega328P nos permite ir más allá de los límites de uso estándar. Consulte la sección sobre Medidor de capacitancia para rango de 20 pF a 1000 nF para obtener más detalles y un esquema del circuito interno.

El ejemplo simple es usar botones con puertos digitales que no necesitan ninguna resistencia debido al uso de una resistencia pull-up interna como se muestra en el ejemplo de serie de pullup de entrada o el botón Arduino instructable sin resistencia.

Más avanzado es el uso de este conocimiento como se mencionó para medir capacitores tan pequeños como 20 pF y, además, ¡sin ningún cableado adicional! Para lograr ese rendimiento, el ejemplo hace uso de la impedancia interna / de entrada, la resistencia pull-up interna y el condensador parásito. Compare con el Tutorial de Arduino CapacitanceMeter que no puede ir por debajo de unos pocos nF.

Paso 9: LED integrado (incorporado) como fotodetector

Muchas placas Arduino tienen LED integrados o integrados que se pueden controlar desde el código, p. Ej. las placas Uno o Nano en el pin 13. Al agregar un solo cable desde este pin a un pin de entrada analógica (por ejemplo, A0) también podemos usar este LED como fotodetector. Esto se puede utilizar de diferentes formas como; Úselo para medir la iluminación ambiental, use LED como botón, use LED para comunicación bidireccional (PJON AnalogSampling), etc.

Recomendado: