Breve introducción a Arduino

Page 1

INTRODUCCIÓN

ARDUINO Ricardo Vega M. rvegamora@uc.cl @ricardov_cl www.ricardov.cl

v2 Nov 2021 (v1 Octubre 2019) Creative Commons – Attribution - NonCommercial - NoDerivatives 4.0 International


DESCARGAR

https://shortly.cc/VPvmC pot_arduino pot_processing1_simple

https://drive.google.com/drive/folders/1gC-Dbn4L4dsy4sj06auC16WfmZafAQta?usp=sharing


SEÑALES

https://www.youtube.com/watch?v=c-h-cSNPfzE


QUÉ ES ARDUINO

Es una plataforma para el desarrollo de prototipos de electrónica basado en código abierto. De muy fácil uso, está pensado para que cualquier persona pueda integrarse al desarrollo de proyectos de electrónica básica.


HARDWARE Y CÓDIGO ABIERTO


VERSIONES: ARDUINO UNO


VERSIONES: ARDUINO MEGA


VERSIONES: ARDUINO MINI


VERSIONES: ARDUINO SHIELDS


VERSIONES: ARDUINO FLORA


INTEGRACIÓN ARDUINO Y PROCESSING


PLATAFORMAS PARA APRENDER Y COMPARTIR: INSTRUCTABLES


PLATAFORMAS PARA APRENDER Y COMPARTIR: MAKE MAGAZINE


PLATAFORMAS PARA APRENDER Y COMPRAR: SPARKFUN


PHYSICAL COMPUTING O COMPUTACIÓN FÍSICA

entrada

proceso

salida

Consiste en diseñar sistemas físicos (dispositivos, objetos, entornos…) usando hardware y software para establecer comunicación entre el lo físico y lo virtual. Puede tanto captar información del entorno físico por medio de sensores (luz, humedad, etc), como también actuar en dicho entorno a través de actuadores (servomotores, relés, parlantes, etc). Se sirven de datos de entrada, un proceso, y una salida.


SENSOR

Dispositivo diseñado para detectar variaciones en las magnitudes del entorno físico, sean mecánicas, químicas, lumínicas, etc. Estas variaciones son transformadas en variables eléctricas.


ACTUADOR

Dispositivo capaz de transformar energía de algún tipo para activar un proceso que permita generar un efecto sobre elemento físico.


INTERFASE DE ARDUINO


EJEMPLOS INTEGRADOS


EJERCICIOS

www.tinkercad.com

fritzing.org

Pueden prototipar en estas plataformas:


EJERCICIO 1: LED DE ARDUINO // PARPADEO LED // https://www.youtube.com/watch?v=bwkHUXa9HWM void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }


EJERCICIO 2: BOTÓN // BOTONES // https://www.youtube.com/watch?v=7ob8CDEmExs int estado = 0; //guarda estado de btn int estadoAnterior = 0; // estado anterior del btn int salida = 0; // 0 apagado 1 prendido void setup() { pinMode(8, INPUT); pinMode(4, OUTPUT); }

// btn entrada // led salida

void loop() { estado = digitalRead(8); // leer estado btn if( (estado==HIGH) && (estadoAnterior==LOW) ) { salida = 1 - salida; delay(20); } estadoAnterior = estado; if(salida == 1) { digitalWrite(4, HIGH); }else{ digitalWrite(4, LOW ); } }


EJERCICIO 3: POTENCIÓMETRO // POTENCIOMETRO // https://youtu.be/2RhzXuETnwg const int led = 3; const int pot= 0; int brillo;

// led en pin 3 // pot en pin 0 //

void setup() { pinMode(led, OUTPUT); // led salida // pins analogicos se declaran como entrada automaticamente Serial.begin(9600); // para mostrar valores en monitor serie } void loop() { brillo = analogRead(pot)/4; analogWrite(led, brillo ); Serial.println(brillo); }

// leer valor pot y /4 // valor pot a brillo


EJERCICIO 4: POTENCIÓMETRO Y DATOS A PROCESSING Código de Arduino int Sensor = A0; //selecciona pin de entrada de datos void setup() { pinMode(Sensor, INPUT); //sensor tipo input Serial.begin(9600); } void loop() { int Valor = analogRead(Sensor); //datos en variable Serial.println(Valor); /datos en puerto serial delay(500); //tiempo de respuesta 1000=1seg }

Código de Processing import processing.serial.*; //importa libreria puerto serial Serial MiSerial; int Valor = 0; void setup() { //genera parametros generales size(800, 600); printArray(Serial.list()); //muestra datos en consola //puerto a ser leido x processing MiSerial = new Serial(this, "/dev/tty.usbmodem1421", 9600); } void draw() { //repite tareas varias veces x segundo background(255); //color del fondo // datos sensor convertidos a valores para color y altura int ValorRojo = int(map(Valor, 0, 1023, 0, 255)); int ValorAzul = int(map(Valor, 0, 1023, 255, 0)); int altura = int(map(Valor, 0, 1023, 0, -500)); fill( ValorRojo, ValorAzul-2, 0 ); //color barra rect(100, height-100, 100, altura ); //dibuja barra fill(0); textSize(12); text( "Datos:" + ValorRojo, 20, 20 ); //valor en pantalla //muestra valor en consola if (MiSerial.available() > 0) { String Texto = MiSerial.readStringUntil('\n'); if (Texto != null) { Valor = int(trim(Texto)); } println(Valor); } } // cierre draw


Curso introductorio gratuito Electrones en Acción: Electrónica y Arduinos para tus propios Inventos. Angel Abusleme (Ing. UC) https://www.coursera.org/learn/electrones-en-accion?

Gracias!


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.