Académique Documents
Professionnel Documents
Culture Documents
- Programacin de Microcontroladores .
- ENTRADAS/SALIDAS DIGITALES
- COMUNICACIN
Lenguaje Mquina
compilar ensamblar
Ej01.HEX
desensamblar
grabar leer
Grabador
ISP
Fin
CRoMA 2010 por Francisco Ramos
CRoMA y Andrs
3D 2016 S.Ciudad
E.T.S.I.I Vzquez
Real UCLM
Estructura de un programa
Declaracin de
variables
Funcin setup
Inicializar variables
PinModes
Configurar/inicializar
comunicacin serie
Funcin loop
Instrucciones a repetir
continuamente por el
micro
CRoMA 2010 por Francisco Ramos
CRoMA y Andrs
3D 2016 S.Ciudad
E.T.S.I.I Vzquez
Real UCLM
Elementos de un
programa
Sentencias: Siempre finalizadas por ;
int x=13;
Comentarios
// comenta una lnea
/* comenta un
parrafo */
Llaves {} delimitan bloques (funciones, if, for, etc)
Funciones
tipo nombreFuncion(parametros)
{
instrucciones;
}
Arrays
Vector de valores
int miarray[] = {valor0,valor2,valor3..};
int miarrayb[2];
miarray[1]=10;
miarray[0]=miarray[1];
Asignaciones compuestas
x++; // lo mismo que x = x +1;
x*=y // lo mismo que x = x*y;
Comparacin
x==y; // es x igual que y?
x!=y; // es x distinto que y?
x>y; // es x mayor que y?
x<=y; // es x menor o igual que y?
1. E/S Digitales
2. Comunicacin
Serie y Memorias
2. Comunicacin
Eso se denomina resistencia pull-down o pull-up
Serie y Memorias
/*
1. E/S Digitales EJEMPLO ENTRADAS SALIDAS DIGITALES
2. Comunicacin
2 EJEMPLO DEL TALLER
Serie y Memorias PARPADEA SI ACTIVA EL PIN, O FIJO CON EL PIN X
*/
boolean encendido=false;
void setup() {
pinMode(13, OUTPUT);
pinMode(7,INPUT);// switch izquierda como entrada
digitalWrite(7,HIGH);
pinMode(6, INPUT); // switch derecha como entrada
digitalWrite(6,HIGH);
}
if(digitalRead(7)==0){
encendido=true;
1. E/S Digitales
}
2. Comunicacin if(digitalRead(6)==0){
Serie y Memorias
encendido=false;
}
parpadeo();
}
void parpadeo(){
if(encendido){
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}else{
digitalWrite(13, HIGH);
}
}
CRoMA 2010 por Francisco Ramos
CRoMA y Andrs
3D 2016 S.Ciudad
E.T.S.I.I Vzquez
Real UCLM
Comunicacion serie
1. E/S Digitales
2. Comunicacin
Serie y Memorias
Los pines 0 y 1
corresponden a las lneas de
entrada y salida del puerto
serie a la UART.
OTRO MICRO!!
2. Comunicacin
2. En el siguiente ejemplo se lee del puerto serie (que a su vez
Serie y Memorias llega del conversor usb) y se reenva lo leido (se escribe en
el puerto) que a su vez pasa al usb
#include <SoftwareSerial.h>
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(19200);
Serial.println("Hola, soy tu robot loro!");
}
g
v
s
gnd
CRoMA 2010 por Francisco Ramos
CRoMA y Andrs
3D 2016 S.Ciudad
E.T.S.I.I Vzquez
Real UCLM
Comunicacin por Infrarrojos
MS EN:
http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html
CRoMA 2010 por Francisco Ramos
CRoMA y Andrs
3D 2016 S.Ciudad
E.T.S.I.I Vzquez
Real UCLM
Cdigo hola infrarrojos
http://robotstyles.blogspot.com.es/2014/12/usa-tu-sensor-ir-
siguelineas-como-un.html
Enciende
#include <IRremote.h>
int led = 13;
int RECV_PIN = 11;
o apaga IRrecv irrecv(RECV_PIN);
decode_results results;
un led void setup()
{
pulsando pinMode(led, OUTPUT);
Serial.begin(9600);
el botn 1 }
irrecv.enableIRIn(); // Start the receiver
y2 void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
if(results.value==16738455)
digitalWrite(led, HIGH);
if(results.value==16750695)
digitalWrite(led, LOW);
irrecv.resume(); // Receive the next value
}
}
Primero debemos
const int LED_PIN = 13;
int randomValue = 0;
// 1000 ms of no data transmission required before and after the escape
configurar nuestro sequence
int cmdDelay = 1000;
modulo. Pasos // Change these two paramaters to anything you want
int pin = 4444;
char* name = "Robot_ASVAZQUEZ";
1 Abrimos el programa
void setup()
configuracin_bluetooth_ {
3 Desconectamos el cable
usb del arduino
4 Conectamos el USB
5 Alimentamos el Arduino
con las pilas
6 Le damos al reset
6 Esperamos a que el led
del arduino se apague
7 Buscamos el dispositivo
bluetooth con nuestro
dispositivo ANDROID y lo
vinculamos (habr que
ponerle el nmero pin)
8 Listo para ser usado!
+ =
App Inventor
Robban Andersson
Otros lenguajes
Pulsar
(pedir
entrar
con una
cuenta
google)
Explica
como
configurar
un
simulador
(en el caso
de no tener
dispositivo
android)
CRoMA 2010 por Francisco Ramos
CRoMA y Andrs
3D 2016 S.Ciudad
E.T.S.I.I Vzquez
Real UCLM
(NO) Instalacin
(lado PC)
Accedemos a Mis
Proyectos cuando
iniciamos el servicio
por primera vez o
desde el botn My
Projects
Para crear un
nuevo proyecto
Selecciona los
componentes en la
paleta y
arrstralos al
visor para
incluirlos en tu
App
Dispn los
componentes en el
visor para
establecer el
aspecto de tu App
A medida que
incorpores
componentes a la
App se irn
aadiendo a la
lista de
componentes
En el panel media
aadimos imgenes,
sonidos o vdeos a
nuestra App
Selecciona un
componente en la lista
de componentes para
cambiar sus propiedades
en el panel de
propiedades
Para pasar al
editor de
bloques
Arrastra los
bloques para
utilizarlos en el
programa
/*
conexion con appinventor. LED_CROMA_2016.aia
Hacemos un */
#include <SoftwareSerial.h>
programita en char comando;
int led = 13;
Arduino que est
a la escucha del void setup()
{
puerto serie. // Open serial communications and wait for port to open:
Serial.begin(19200);
pinMode(led, OUTPUT);
Si recibe un 1 }
void loop() // run over and over
enciende el led {
if (Serial.available())
{
Si recibe un 0 lo comando=Serial.read();
//Segn el dato recibido
apaga switch (comando){
case '1':
digitalWrite(led, HIGH);
break;
case '0':
digitalWrite(led, LOW);
break;
}
}
}