Lenguajes Electrónicos
Técnico Electrónico
6º año 4ª div
ESCUELA DE ENSEÑANZA
TÉCNICA Nº 2
ALUMNOS: carrizo Julián,Gastón
M Leguizamón
Profesor: Martin Sadi Rizzi
6°4
La Programación
La programación es una disciplina fundamental en la tecnología moderna, que consiste en
diseñar, codificar, depurar y mantener códigos fuente para realizar tareas específicas en
computadoras, dispositivos electrónicos y sistemas inteligentes. Este informe abordará los
lenguajes de programación más utilizados, sus aplicaciones, y profundizará en el uso de
Arduino, una plataforma ampliamente adoptada en proyectos de electrónica y
programación.
Lenguajes de Programación Más Usados
2
Python: Conocido por su simplicidad y versatilidad, Python es ideal para principiantes y se
utiliza en una amplia gama de aplicaciones, desde desarrollo web hasta análisis de datos,
inteligencia artificial y automatización
JavaScript: El principal lenguaje para el desarrollo web y de aplicaciones móviles y de
escritorio
Java: Usado principalmente en aplicaciones empresariales, desarrollo de Android y
sistemas embebidos
C: Un lenguaje de programación de bajo nivel utilizado en el desarrollo de sistemas
operativos(Linux, Windows), controladores de hardware y aplicaciones que requieren alta
eficiencia.
C++: Una extensión de C que incluye características orientadas a objetos, C++ es popular en
el desarrollo de videojuegos, aplicaciones de software de alto rendimiento y sistemas
embebidos.
Arduino
¿Qué es Arduino?
Arduino es una plataforma de hardware y software de código abierto que facilita la
creación de proyectos electrónicos interactivos. Consta de microcontroladores (como
ATmega328 en la placa Arduino Uno) y un entorno de desarrollo integrado (IDE) para
escribir y cargar código.
Lenguaje y Herramientas
1. Lenguaje de Programación:
Arduino utiliza un lenguaje basado en C/C++. Las funciones clave son:
○ setup(): Configuración inicial que se ejecuta una vez.
○ loop(): Ciclo principal que se repite continuamente.
2. IDE de Arduino:
Proporciona un entorno simple para escribir, compilar y cargar código en la placa.
3
Aplicaciones de Arduino
1. Proyectos Educativos:
○ Ideal para aprender programación y electrónica básica.
○ Simulación de sistemas sencillos como semáforos o termómetros.
2. Domótica:
○ Control de luces, persianas y sistemas de seguridad en el hogar.
○ Integración con IoT para control remoto desde smartphones.
3. Robótica:
○ Desarrollo de robots móviles.
○ Sistemas autónomos como drones o vehículos terrestres.
4. Prototipos de Hardware:
○ Creación de dispositivos personalizados para mediciones y pruebas.
○ Interacción con sensores, motores y pantallas.
Ventajas de Arduino
● Accesibilidad: Asequible y fácil de aprender.
● Comunidad: Amplia documentación y proyectos compartidos.
● Flexibilidad: Compatible con múltiples módulos y sensores.
Ejemplo de Proyecto con Arduino
Un sistema de riego automático:
1. Componentes Necesarios:
○ Placa Arduino Uno.
○ Sensor de humedad del suelo.
○ Relé y bomba de agua.
2. Funcionamiento:
○ El sensor detecta los niveles de humedad.
○ Si la humedad es baja, Arduino activa la bomba mediante el relé.
○ continua mientras la placa esté encendida, y contiene el código principal.
4
ejemplo 1:
// Definición de pines
const int sensorPin = A0; // Pin analógico para el sensor de humedad
const int relePin = 7; // Pin digital para controlar el relé
const int umbralHumedad = 500; // Umbral para activar la bomba (ajustable según el
sensor)
// Variables
int valorHumedad; // Variable para almacenar la lectura del sensor
void setup() {
pinMode(relePin, OUTPUT); // Configurar el pin del relé como salida
digitalWrite(relePin, HIGH); // Inicialmente, apagar la bomba (relé inactivo)
[Link](9600); // Inicializar comunicación serie para monitoreo
void loop() {
// Leer el nivel de humedad del sensor
valorHumedad = analogRead(sensorPin);
// Imprimir el valor en el monitor serie
[Link]("Humedad del suelo: ");
[Link](valorHumedad);
// Comparar el nivel de humedad con el umbral
5
if (valorHumedad > umbralHumedad) {
// Activar la bomba si la humedad es baja
digitalWrite(relePin, LOW); // Relé encendido
[Link]("Bomba activada.");
} else {
// Apagar la bomba si la humedad es suficiente
digitalWrite(relePin, HIGH); // Relé apagado
[Link]("Humedad suficiente. Bomba apagada.");
// Esperar 2 segundos antes de la siguiente lectura
delay(2000);
ejemplo 2:
#include <SoftwareSerial.h>
SoftwareSerial miBT(10,11);
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
char state = 0;
6
void setup() {
[Link](9600);
[Link]("listo");
[Link](9600);
pinMode(pin3,OUTPUT);
pinMode(pin4,OUTPUT);
pinMode(pin5,OUTPUT);
pinMode(pin6,OUTPUT);
void loop() {
if ([Link]()) {
state = [Link]();
[Link](state);
if (state == 'a'){
digitalWrite(pin3 , LOW);
digitalWrite(pin6 , LOW);
else if (state == 'b') {
digitalWrite(pin3 , LOW);
digitalWrite(pin4, HIGH);
7
}
else if (state == 'c') {
digitalWrite(pin3 , HIGH);
digitalWrite(pin4, LOW);
if ([Link]()) {
[Link]([Link]());
Tipos de Arduino
Arduino Uno
● Microcontrolador: ATmega328P.
● Velocidad de reloj: 16 MHz.
● Entradas/salidas digitales: 14 (6 PWM).
● Entradas analógicas: 6.
● Memoria flash: 32 KB.
● Voltaje de operación: 5V.
● Características: Ideal para principiantes.
Compatible con la mayoría de los shields y
sensores.
● Uso típico: Proyectos de aprendizaje,
prototipos básicos, y proyectos de control
de sensores y actuadores.
8
● Ejemplos: Control de motores, proyectos escolares, sistemas de luces LED
programables.
● Por qué elegirlo: Es fácil de usar, tiene buena documentación y es compatible con
la mayoría de los shields.
Arduino Nano
● Microcontrolador:
ATmega328P o
ATmega168.
● Velocidad de reloj: 16
MHz.
● Entradas/salidas digitales:
14 (6 PWM).
● Entradas analógicas: 8.
● Memoria flash: 32 KB.
● Voltaje de operación: 5V.
● Características: Compacto
y perfecto para proyectos
con espacio limitado.
● Uso típico: Proyectos
compactos o portátiles.
● Ejemplos: Relojes
digitales, sistemas de
monitoreo pequeño,
robots miniatura.
● Por qué elegirlo: Tamaño
reducido y funcionalidad
equivalente al Uno.
9
Arduino Mega 2560
● Microcontrolador: ATmega2560.
● Velocidad de reloj: 16 MHz.
● Entradas/salidas digitales: 54 (15 PWM).
● Entradas analógicas: 16.
● Memoria flash: 256 KB.
● Voltaje de operación: 5V.
● Características: Diseñado para proyectos grandes con múltiples sensores y
actuadores.
● Uso típico: Proyectos grandes que requieren muchas entradas/salidas o memoria.
● Ejemplos: Impresoras 3D, sistemas domóticos complejos, control de drones
grandes.
● Por qué elegirlo: Más pines y memoria para proyectos complejos.
10
Arduino Micro
● Microcontrolador: ATmega32u4.
● Velocidad de reloj: 16 MHz.
● Entradas/salidas digitales: 20 (7 PWM).
● Entradas analógicas: 12.
● Memoria flash: 32 KB.
● Voltaje de operación: 5V.
● Características: Similar al Arduino Nano, con capacidad USB nativa.
● Uso típico: Proyectos compactos con funcionalidades USB.
● Ejemplos: Teclados personalizados, emulación de dispositivos USB, proyectos
portátiles.
● Por qué elegirlo: Soporte para USB nativo y tamaño reducido.
Arduino Leonardo
● Microcontrolador: ATmega32u4.
● Velocidad de reloj: 16 MHz.
● Entradas/salidas digitales: 20 (7 PWM).
● Entradas analógicas: 12.
● Memoria flash: 32 KB.
● Voltaje de operación: 5V.
11
● Características: Soporte USB nativo para emular dispositivos como teclado o mouse.
● Uso típico: Proyectos donde Arduino actúa como un dispositivo USB (teclado,
mouse, joystick).
● Ejemplos: Controles personalizados para videojuegos, interfaces de usuario,
dispositivos interactivos.
● Por qué elegirlo: USB nativo a bajo costo.
Arduino Due
● Microcontrolador: ATSAM3X8E (ARM Cortex-M3, 32 bits).
● Velocidad de reloj: 84 MHz.
● Entradas/salidas digitales: 54 (12 PWM).
● Entradas analógicas: 12.
● Memoria flash: 512 KB.
● Voltaje de operación: 3.3V.
● Características: Ideal para proyectos que requieren
más potencia de procesamiento.
● Uso típico: Proyectos que requieren alta capacidad
de procesamiento y bajo consumo de energía.
● Ejemplos: Procesamiento de señales de audio,
sistemas embebidos avanzados, control de robots
complejos.
● Por qué elegirlo: Potencia y memoria extra, ideal
para aplicaciones exigentes.
Arduino Pro Mini
● Microcontrolador: ATmega328P.
● Velocidad de reloj: 8 MHz (3.3V) o 16 MHz (5V).
● Entradas/salidas digitales: 14 (6 PWM).
● Entradas analógicas: 8.
● Memoria flash: 32 KB.
12
● Voltaje de operación: 3.3V o 5V.
● Características: Sin pines pre-soldados, diseñado para proyectos embebidos.
● Uso típico: Proyectos embebidos con restricciones de espacio y peso.
● Ejemplos: Drones pequeños, sensores inalámbricos, gadgets portátiles.
● Por qué elegirlo: Es pequeño, económico y eficiente.
Arduino Nano Every
● Microcontrolador: ATmega4809.
● Velocidad de reloj: 20 MHz.
● Entradas/salidas digitales: 14 (6 PWM).
● Entradas analógicas: 8.
● Memoria flash: 48 KB.
● Voltaje de operación: 5V.
● Características: Una versión actualizada del Nano con mejor capacidad y
rendimiento.
13
● Uso típico: Reemplazo moderno y mejorado para el Arduino Nano en proyectos
compactos.
● Ejemplos: Sensores remotos, iluminación inteligente, automatización pequeña.
● Por qué elegirlo: Mejor rendimiento y capacidad que el Nano clásico.
Arduino MKR Zero
● Microcontrolador: SAMD21 (ARM Cortex-M0+).
● Velocidad de reloj: 48 MHz.
● Entradas/salidas digitales: 22.
● Entradas analógicas: 7.
● Memoria flash: 256 KB.
● Voltaje de operación: 3.3V.
● Características: Incluye soporte para tarjetas microSD y audio.
● Uso típico: Proyectos multimedia y de almacenamiento de datos.
● Ejemplos: Reproductores de audio, registradores de datos con microSD, sistemas
de monitoreo ambiental.
● Por qué elegirlo: Compatible con microSD y capacidad multimedia.
14
Arduino MKR WiFi 1010
● Microcontrolador: SAMD21 + ESP32 para Wi-Fi y
Bluetooth.
● Velocidad de reloj: 48 MHz.
● Entradas/salidas digitales: 22.
● Entradas analógicas: 7.
● Memoria flash: 256 KB.
● Voltaje de operación: 3.3V.
● Características: Conectividad Wi-Fi y Bluetooth
incorporada.
● Uso típico: Proyectos IoT (Internet de las Cosas).
● Ejemplos: Sistemas de automatización en casa,
dispositivos conectados en red, monitoreo
remoto.
● Por qué elegirlo: Conectividad Wi-Fi y Bluetooth
integrada.
15
Arduino Yun
● Microcontrolador: ATmega32u4 + Atheros AR9331.
● Velocidad de reloj: 16 MHz (ATmega) + 400 MHz (AR9331).
● Entradas/salidas digitales: 20.
● Entradas analógicas: 12.
● Memoria flash: 32 KB (ATmega) + 16 MB (AR9331).
● Voltaje de operación: 5V.
● Características: Soporte para Linux y conectividad Wi-Fi.
● Uso típico: Proyectos que requieren conectividad avanzada con Linux.
● Ejemplos: Puentes de comunicación entre dispositivos, aplicaciones web
embebidas, servidores pequeños.
● Por qué elegirlo: Combinación de Arduino y un sistema operativo Linux para mayor
flexibilidad.
16
principales diferencias
Tamaño y Forma
● Arduino Uno: Tamaño estándar, ideal para principiantes y proyectos educativos.
● Arduino Nano / Micro: Compactos, ideales para proyectos con espacio limitado.
● Arduino Mega 2560: Más grande, para proyectos avanzados con muchas
conexiones.
● Arduino Pro Mini: Ultraportátil, pensado para proyectos integrados.
Microcontrolador y Capacidad
● Uno, Nano, Leonardo: Utilizan el ATmega328P o ATmega32u4 (8 bits), adecuados
para proyectos simples.
● Mega 2560: Usa el ATmega2560 con mayor capacidad de memoria y
entradas/salidas, para proyectos complejos.
● Due, MKR Series: Basados en ARM Cortex (32 bits), ofrecen mayor velocidad y
capacidad para proyectos avanzados.
Velocidad de Reloj
● Uno, Nano, Mega, Leonardo: Funcionan a 16 MHz (suficiente para la mayoría de
los proyectos).
● Due, MKR Zero, MKR WiFi 1010: Funcionan a 48 MHz o más, adecuados para tareas
intensivas como procesamiento de datos.
Entradas y Salidas
● Arduino Uno/Nano: 14 digitales (6 PWM), 6 entradas analógicas.
● Mega 2560: 54 digitales (15 PWM), 16 entradas analógicas (ideal para sistemas con
múltiples sensores).
● MKR Series: Menos pines físicos (alrededor de 22), pero con características
específicas como conectividad Wi-Fi o soporte para SD.
17
Conectividad
● Básicos (Uno, Nano, Mega): No tienen conectividad inalámbrica integrada.
● Arduino Yun y MKR WiFi 1010: Incluyen Wi-Fi y Bluetooth.
● MKR GSM 1400: Soporte para redes celulares.
Voltaje de Operación
● Uno, Nano, Mega, Leonardo: Operan a 5V.
● Pro Mini, Due, MKR Series: Operan a 3.3V, ideales para componentes modernos de
bajo consumo.
Capacidad de Memoria
● Uno, Nano: 32 KB de memoria flash (para programas).
● Mega 2560: 256 KB de memoria flash, ideal para proyectos con códigos extensos.
● MKR Zero/Due: 256 KB o más, para aplicaciones que necesitan gran capacidad.
Uso Especializado
● Arduino Uno: Educación y proyectos generales.
● Arduino Nano/Micro: Proyectos compactos, wearables.
● Arduino Mega: Automatización y proyectos masivos.
● Arduino MKR Series: IoT (Internet de las cosas) y conectividad avanzada.
● Arduino Yun: Proyectos Linux integrados o conectividad Wi-Fi avanzada.
Precio
● Básicos (Uno, Nano, Pro Mini): Económicos, ideales para principiantes.
● Avanzados (MKR Series, Due, Yun): Más caros debido a su especialización y
hardware superior.
18