Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
IDE DE ARDUINO
El programa que no permite dar el
funcionamiento
a
nuestro
sistema, cdigo abierto.
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);
digitalWrite(led_verde,HIGH);
//encender led 1
//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
alternadamente.
que
se
enciendan
leds
PARTE PRACTICA
Simular 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 );
}
}
PARTE PRACTICA
Realizar un sistema al accionar un Switch y se tenga 3
juegos de leds diferentes.
// 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':
}
//puerto recibe dato
//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.
// 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
// inicizalicion de variable
void loop() {
valor_analogo=analogRead(0);//lectura de conversor
int led_verde=9;
int led_amarillo=10;
int led_azul=11;
// inicizalicion de variable
// inicizalicion de variable
// inicizalicion de variable
if(valor_analogo<5){
digitalWrite(led_rojo,LOW);
digitalWrite(led_verde,LOW);
void setup() {
digitalWrite(led_amarillo,LOW);
digitalWrite(led_azul,LOW);
Serial.begin(9600);
// configuracion de cx serial
pinMode(led_rojo,OUTPUT);
}
if(valor_analogo>5&&valor_analogo<255){
pinMode(led_verde,OUTPUT);
pinMode(led_amarillo,OUTPUT);
digitalWrite(led_rojo,HIGH);
pinMode(led_azul,OUTPUT);
digitalWrite(led_amarillo,LOW);
digitalWrite(led_azul,LOW);
digitalWrite(led_verde,LOW);
}
}
PARTE PRACTICA
Cambiar la velocidad de un motor DC mediante un
potencimetro.
Mover los 180 grados del servo con un potencimetro.
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.
PWM
PWM
// lectura de
canal anlogo
// imprimir mensaje
PWM
PWM
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
}
PARTE PRACTICA
Mover los 180 grados del servo con un potencimetro.