Beruflich Dokumente
Kultur Dokumente
ARDUINO
Filosofa Arduino
La filosofa Arduino se fundamenta en la idea de crear prototipos en lugar de solo
hablar de ideas!
Prototipo
Mezclar
Reusar
Crear lo antes
posible un demo
de la idea a
desarrollar
Podra utilizar
este proyecto
para este otro
Esta aparato ya
no sirve, pero el
ventilador lo
podra usar en
Explorar
Modificar
Colaborar
Que pasa si se
hago esto?
Como se vera si
estos dos objetos
se unen?
El juguete solo
dice una palabra,
podra agregar
mas ?
Juan puede
prender leds, tal
vez el pueda
ayudarme a
INTRODUCCIN
Un sistema embebido es un
sistema electrnico que cumple
solo determinadas funciones. Su
Hardware no es modificable, su
software s.
PROTEUS
Es un programa de simulacin que
nos permite comprobar el
funcionamiento
de
nuestro
sistema antes de implementarlo
en la realidad.
IDE DE ARDUINO
El programa que no permite dar el
funcionamiento
a
nuestro
sistema, cdigo abierto.
ARMADO DE CIRCUITOS
Funcionamiento del protoboard.
Simular la configuracin
astable en fritzing
555
PREGUNTAS
2.
3.
4.
5.
PREGUNTAS
void setup() {
pinMode(8,OUTPUT); // declarado como
salida
}
void loop() {
digitalWrite(8,HIGH);
delay(500);
// enviar 5v
// tiempo de led
//encendido
digitalWrite(8,LOW); //enviar 0v
delay(500);
//tiempo de led
//apagado
}
int led=8;
// inicializacion de variable
void setup() {
pinMode(led,OUTPUT); // Pin declarado
como salida
}
void loop() {
digitalWrite(led,HIGH); //enciende led
delay(500);
//tiempo de espera
digitalWrite(led,LOW); //apaga led
delay(500);
//tiempo de espera
}
int led_rojo=9;
int led_verde=8;
void setup() {
pinMode(led_rojo,OUTPUT);
pinMode(led_verde,OUTPUT);
void loop() {
digitalWrite(led_rojo,HIGH);
//encender led 1
digitalWrite(led_verde,HIGH);
//encender led 2
delay(1000); //delay
digitalWrite(led_rojo,LOW);
// apagar led 1
digitalWrite(led_verde,LOW);
// apagar led 2
delay(1000);
//delay
PARTE PRACTICA
Realizar un sistema que se enciendan 3
alternadamente. Programa, Simulacin y Armado
leds
PARTE PRACTICA
Simular en Fritzing las configuraciones pull up y pull down.
if(digitalRead(pin a usar)==HIGH){
(Bloque de sentencias 1)
}
else
{
(Bloque de sentencias 2)
}
void setup()
{
pinMode( 8 , INPUT);
pinMode( 9 , OUTPUT);
}
void loop()
{
if (digitalRead(8))
{
digitalWrite( 9 , HIGH );
}
else
{
digitalWrite( 9 , LOW );
}
}
PREGUNTAS
PARTE PRACTICA
Realizar un sistema al accionar un Switch y se tenga 3
juegos de leds diferentes. Programa, Simulacin y Armado
// configuracin de
comunicacin
void loop()
{
Serial.print("hola");
delay(5000);
Serial.print('A');
delay(5000);
};
// envio de frase
//retardo
// envio de letra
//retardo
if (Serial.available()>0)
int led_rojo=8;
int led_verde=9;
int led_amarillo=10;
case 'B':
void setup() {
Serial.begin(9600);// configuracion de cx
pinMode(led_rojo,OUTPUT);
pinMode(led_verde,OUTPUT);
pinMode(led_amarillo,OUTPUT);
void loop() {
dato=Serial.read();
// variable llena
switch(dato){
// control
//encender led
digitalWrite(led_verde,LOW);
//apagar led
digitalWrite(led_amarillo,LOW);
//encender led
digitalWrite(led_amarillo,LOW);
//apagar led
digitalWrite(led_rojo,LOW);
//apagar led
digitalWrite(led_verde,LOW);
//apagar led
digitalWrite(led_amarillo,HIGH);
//encender led
break;
default:
case 'A':
digitalWrite(led_rojo,HIGH);
digitalWrite(led_verde,HIGH);
case 'C':
//apagar led
break;
if (Serial.available()>0){
digitalWrite(led_rojo,LOW);
digitalWrite(led_rojo,LOW);
//apagar led
digitalWrite(led_verde,LOW);
//apagar led
digitalWrite(led_amarillo,LOW);
//apagar led
//apagar led
break;
break;
}
}
}
PARTE PRACTICA
Realizar un sistema al ingresar diferentes letras por la
computadora haya juegos diferentes con leds. Programa,
Simulacin y Armado.
PREGUNTAS
// inicizalicion de variable
// configuracion de cx serial
void loop() {
valor_analogo=analogRead(0);
//lectura de
// conversor en un canal
Serial.println(valor_analogo);
//recibe el valor
//analogico
delay(1000);
//tiempo de espera
}
Nombre
Operador
Uso
Y (AND)
&&
O (OR)
II
Si A O B cumple la condicin
Mayor
>
Si A>B
Menor
<
A<B
Igual
==
A=B
No es igual
!=
A!=B
Mayor o igual
>=
A>=B
Menor o igual
<=
A<=B
// inicizalicion de variable
int led_rojo=8;
// inicizalicion de variable
void loop() {
valor_analogo=analogRead(0);//lectura de conversor
int led_verde=9;
// inicizalicion de variable
if(valor_analogo<5){
int led_amarillo=10;
// inicizalicion de variable
digitalWrite(led_rojo,LOW);
int led_azul=11;
// inicizalicion de variable
digitalWrite(led_verde,LOW);
digitalWrite(led_amarillo,LOW);
void setup() {
Serial.begin(9600);
digitalWrite(led_azul,LOW);
// configuracion de cx serial
pinMode(led_rojo,OUTPUT);
if(valor_analogo>5&&valor_analogo<255){
pinMode(led_verde,OUTPUT);
digitalWrite(led_rojo,HIGH);
pinMode(led_amarillo,OUTPUT);
digitalWrite(led_verde,LOW);
pinMode(led_azul,OUTPUT);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_azul,LOW);
}
}
PARTE PRACTICA
Cambiar la velocidad de un motor DC mediante un
potencimetro. Programa, Simulacin, y Armado.
PARTE PRACTICA
Realizar un sistema que indique las referencias entre 3
leds del conversor anlogo digital. Programa, Simulacin
y Programa.
De 0 a 350 un led
De 356 a 750 dos leds
Mayor a 750 3 leds.
PREGUNTAS
void loop() {
valor_analogo=analogRead(0);
// lectura de
canal anlogo
// imprimir mensaje
int valor_pwm=0;
if(valor_pwm<250)
int motor=7;
void setup() {
valor_pwm=valor_pwm+50;
vez en 10%
analogWrite(motor,valor_pwm);
pinMode(22,OUTPUT);
pinMode(motor,OUTPUT);
Serial1.begin(9600);
if(val=='B'){
void loop() {
if (Serial1.available()>0){
val=Serial1.read();
//condicin de velocidad
if(valor_pwm>=50){
valor_pwm=valor_pwm-50;
// decremento de velocidad en
10%
analogWrite(motor,valor_pwm);
}
}
}
void loop() {
if(digitalRead(8)==HIGH){
miservo.write(180);
void setup() {
delay(15);
// GIRO DE
180
//TIEMPO
DE ESPERA
}
else{
miservo.write(1);
//PRIMER
SERVO VUELVA A POSICIN
INICIAL
delay(15);
// TIEMPO
}
PREGUNTAS
PARTE PRACTICA
Cambiar la velocidad de un motor DC mediante un
potencimetro. Programa, Simulacin y Armado.
Lcd.clear()
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
// configuracin de lcd
}
void loop() {
lcd.setCursor(0, 0);
// selection de ubicacin
// retardo
lcd.clear();
// borrado de lcd
lcd.setCursor(0, 1);
// selection de ubicacin
lcd.print("HOLA EJOBS!");
// imprimir mensaje
delay(1000);
lcd.clear();
}
// imprimir mensaje
// retardo
// borrado de lcd
PREGUNTAS
PARTE PRACTICA
Realizar un sistema que se observe en una LCD el
porcentaje de uso del conversor anlogo digital.
Programa, Simulacin y Armado.
Realizar un sistema que se observe la tecla presionada en
la computadora en la LCD. Programa, Simulacin y
Armado.
void loop(){
char keys[ROWS][COLS] = {
if (key != NO_KEY){
{'1','2','3'},
{'4','5','6'},
switch(j){
{'7','8','9'},
case 0:
{'#','0','*'}
vect[j]=key;
};
int j =0;
Serial.println(vect[j]);
j++;
byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
break;
byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
pinMode(9,OUTPUT);
}
case 1:
vect[j]=key;
Serial.println(vect[j]);
j++;
break;
else{
digitalWrite(9,LOW);
Serial.println("CONTRASENA
INCORRECTA");
}
break;
}
}
}
PREGUNTAS
PARTE PRACTICA
Realizar el programa anterior donde sea una contrasea
de 4 letras. Programa y Simulacin.
Proceso 1
Subrutina
Proceso 2
Proceso 3
int led=8;
int total;
void setup() {
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
encender_led();
pinMode(dato,INPUT);
Llamado de
subrutina
void loop() {
if(digitalRead(dato));
total=suma();
digitalWrite(led,HIGH);
subrutina
Variable de control
delay(200);
int numero;
digitalWrite(led,LOW);
numero=numero+10;
delay(200);
return numero;
Variable llena
con subrutina
Se pueden declarar
variables locales
Retorna dato
int dato=8,resultado;
int num1=8;
int num2=9;
void setup() {
pinMode(dato,INPUT);
}
void loop() {
if(digitalRead(dato));
Llamado de
subrutina
resultado=suma(num1,num2);
}
int suma (int numero1, int numero2){
int total;
total=numero1+numero2;
return total;
}
Creacin de
subrutina
Retorno de variable
PREGUNTAS
PARTE PRACTICA
Realizar un programa donde el uso de leds y Switch
trabajen con comunicacin serial pero todo con
subrutinas.