Guia breve sobre Arduino

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Computación ET-344
Libro: Guia breve sobre Arduino
Imprimido por: Invitado
Día: miércoles, 3 de julio de 2024, 06:25

1. Introduccion

¿Que es un microcontrolador?

Un microcontrolador (abreviado µC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. El cual esta constituido por una CPU (microprocesador para calculos) y otros elementos que lo convierten en una mini-computadora. Estos elementos extra son memorias (RAM, ROM, EPROM), dispositivos de salida-entrada, puertos de comunicación y modulos especiales

Diversos dispostivios que utilizamos dı́a a dı́a funcionan con microcontroladores. Desde una pava electrica programable en el hogar, pasando por cosas de uso cotidiado como controles remotos, medidores de luz, aparatos celulares, lavarropas, automoviles hasta algo tan pequeño como un audifono o auricular.

Microcontrolador NO es un microprocesador.


2. ¿Que es Arduino?

Arduino es una plataforma de desarrollo basada en una placa electrónica de hardware y software libre que incorpora un microcontrolador re-programable ( AVR ATMEL) y una serie de pines hembra. Estos permiten establecer conexiones entre el microcontrolador y los diferentes sensores y actuadores de una manera muy sencilla. En el mercado se encuentran diversas placas de perifericos/sensores ya listos para conectar a las placas principales.

La principal caracterı́stica de las placas arduino es facilitar el uso de la electrónica en todo tipo de proyectos, cuenta con una gran comunidad de desarrollo y librerias para utilizar que simplifican las tareas de programación.

Posee un entorno de desarollo multiplataforma propio (IDE ARDUINO) para que el usuario pueda cargar su proyecto conectando la placa mediante por ejemplo USB.

Site: https://arduino.cl/

  • Plataforma.
  • Hardware Libre
  • Microcontrolador.
  • Sensores y Actuadores.

¿Que es Hardware Libre?

 El hardware libre son aquellos dispositivos cuyas especificaciones y diagramas son de acceso público, de manera que cualquiera puede replicarlos.

¿Que es Software Libre?

El software libre son los programas informáticos cuyo código es accesible por cualquiera para que quien quiera pueda utilizarlo y modificarlo

3. Productos

Arduino.

Arduino es una organización que diseña, fabrica y admite dispositivos electrónicos y software, lo que permite a las personas de todo el mundo acceder fácilmente a tecnologías avanzadas que interactúan con el mundo físico. Ofrece para la venta en su propia tienda:

Arduino Compatible.

Una de las características del trabajo de esta organización es que publica sus diseños y especificaciones para que quien lo desee pueda construir sus propias placas, lo que facilita que fabricantes y usuarios creen sus propias versiones y copias de los productos conocidos como Arduino Compatibles.

Accesorios.

Existen infinidad de elementos que pueden conectarse directamente a las placas de Arduino o a través del algún otro accesorio, algunos son:

  • Cables
  • Displays/Pantallas
  • Sensores y actuadores
  • Comunicación Inalambrica
  • Conectores
  • Protoboards
  • Alimentación
  • Baterías
  • Cables
  • Comunicación Inalámbrica
  • Conectores
  • Displays/Pantallas
  • Protoboards
  • Sensores y Actuadores

4. ¿Arduino o Raspberry PI ?

Comparativa entre Arduino UNO  y Raspberry Pi 4
 

Arduino UNORaspberry Pi 4
 El Arduino UNO es una placa de desarrollo, basado en un microcontrolador, específicamente el ATMega328p, esta característica lo hace perfecto para la creación de proyectos donde tendrás control directo sobre sensores y actuadores, ya sean, motores, relés, sensores de humedad, temperatura, distancia, etc. Ya que al trabajar con un microcontrolador directamente puede tener acceso a sus pines digitales y analógicos de una manera mas sencilla y robusta. Esta placa de desarrollo se programa directamente en su IDE en lenguaje C, y se compila directamente a lenguaje maquina, esta característica a motivado a la comunidad a desarrollar una amplia gama de librerías para poder controlar de manera rápida y directa los distintos actuadores y sensores, ademas de que al no contar con ningún tipo de sistema operativo o interprete, la lectura de dichos sensores se hace de una manera mas inmediata, idea para proyectos de control y automatismo. La Raspberry Pi 4 es un mini computador, compuesto por un procesador ARM Cortex-A72, la gran potencia que este procesador a la placa la hace ideal para proyectos donde necesitemos gran poder de calculo,  como servidores web, procesamiento de imagen, video, audio, conectividad a internet, procesar datos para luego ser subido algún servicio en la nube. Al ser este un mini computador permite realizar distintas tares al mismo tiempo. Si deseas realizar algún proyecto en el que controles actuadores y sensores desde el GPIO de la Raspberry Pi, puedes hacer un programa en python por ejemplo, en el que realicé la lectura y el control de los dispositivos, dicho programa es compilado y ejecutado en el sistema operativo de la Raspberry, estas capas adicionales de software que permite que la Raspberry Pi sea un dispositivo multitarea támbien añade cierto retraso en el control de su puerto GPIO, lo cual hay que tener en cuenta al momento de trabajar con equipos que ameriten supervisión y acción inmediata. 
. ..



5. Programacion

.

5.1. entorno de programacion IDE

Descarga: https://www.arduino.cc/en/software

Regiones de la ventana de un programa básico

Como punto a tener en cuenta, debemos elegir que placa estamos usando en la IDE para que el compilador sepa con que puertos debe comunicarse para poder programar.

5.2. Funciones basicas

Función pinMode(pin, mode)

Se utiliza en Setup() para configurar un pin como Entrada o salida.

Por defecto todos los pines que no configuremos se tomaran como entradas.


pinMode(pin, OUTPUT); configura el pin número ‘pin’ como de salida.

Función digitalRead(pin)


Lee el valor desde un pin digital especı́fico. Devuelve un valor HIGH o LOW.

v = digitalRead(Pin);


Funcion digitalWrite(pin, value)


Introduce un nivel alto (HIGH) o bajo (LOW) en el pin digital especificado.

digitalWrite(pin, HIGH);



delay(ms)


Realiza una pausa en el programa la cantidad de tiempo en milisegundos especificada en el parámetro (máximo 1000, mı́nimo 1).


millis()


Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el programa actual como un valor long unsigned.

                                                                                                                                                                      

Ejemplo:

5.3. Variables y operadores

5.4. transmisión serie

Como se comento previamente Arduino posee un ser de librerías. Entre ellas se entra en detalle sobre la librería de transmisión serie.

https://www.arduino.cc/en/reference/serial

Para más información sobre las librerías

https://www.arduino.cc/reference/en/libraries/

a continuación se describen algunas de las funciones a emplear en el laboratorio:

Serial.begin(speed, config)

Se utiliza para iniciar la librería y configurar pines y opciones de la transmisión( baudrate y cantidad de bits)

el parametro config es opcional, por defecto se utiliza: SERIAL_8N1

Serial.read();

Esta función lee un bit recibido.

Serial.write()

Envia un byte, caracter o una serie de ellos al puerto de transmision

Serial.available()

Retorna el numero de bits disponible para lectura en el buffer del microcontrolador