Está en la página 1de 18

Salidas y entradas con Intel

Galileo
Interfaces
Salidas Digitales
• Conectar la pata positiva de un led ( la pata
más alargada- ánodo- ), al pin 13 de la tarjeta,
y la pata negativa (la más corta- cátodo- ), a
GND (tierra).
Test
• Programar la placa con el siguiente sketch
/* Blink Enciende el Led por un segundo, despues lo apaga por un
segundo, repetidamente Este es un codigo de dominio publico */
void setup() {
// inicia el pin digital como una salida.
// En la mayoria de las tarjetas Arduino el Pin 13 tiene un led conectado
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // Enciende el Led
delay(1000); // Espera por un segundo
digitalWrite(13, LOW); // Apaga el Led
delay(1000); // Espera por un segundo
}
Programación de la Tarjeta
• Seleccionar el tipo de placa – Intel Galileo-
desde el menú tools, en la opción Board.
• Elegir el puerto serie (COM) que utiliza el
sistema para comunicarse con la placa de
arduino. Opción "Serial Port" del menú Tools
• Programar la placa con el botón de la flecha
de la parte superior.
Ejercicio
• Cambiar la salida digital para controlar el LED
con el pin 9 de la tarjeta. Recuerde utilizar una
resistencia para limitar la corriente (330 Ohms
aprox)
• Cambie el programa y bájelo a la tarjeta y
verifique que todo funciona bien … ;)
Salidas Analógicas (PWM)
• Pines marcados con tilde (~): 3, 5, 6, 9, 10 y
11.
• analogWrite(pin, valor);
Valor: entero de 0 a 255.
• Cargar el sketch: archivo-> ejemplos-
>01.Basics->Fade
int led = 9; // the pin that the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// ****** the setup routine runs once when you press reset:
void setup() {
pinMode(led, OUTPUT); // declare pin 9 to be an output:
}

//****** the loop routine runs over and over again forever:
void loop() {
analogWrite(led, brightness); // set the brightness of pin 9:
brightness = brightness + fadeAmount; // change the brightness for next time through
// the loop:
// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
delay(30); // wait for 30 milliseconds to see the dimming effect
}
Salida de Datos Seriales
• Utilizado para hacer debbugging o escribir a
archivos.
• Los pines 0 y 1 son utilizados para la
comunicación serial, Rx y Tx, respectivamente.
• Ejemplo: modificar el anterior sketch así:
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600); // abrir el puerto serial y
establece la comunicacion a 9600 bits por segundo
(baudios)
}
if (brightness == 0 || brightness == 255) {
Serial.print(“el brillo es: ”);
Serial.print(brightness);
Serial.println(“. Cambiando de direccion”);
fadeAmount = -fadeAmount ;
}
Salida serial de datos
• Cargar el sketch en la tarjeta y abrir el monitor
serial. Esquina superior derecha.
Control de servomotores
Control de servomotores
• Enviar pulsos al servomotor puede ser difícil.
Para esto utilizamos la librería servo.h
• El servomotor tiene tres líneas: negra, roja y
amarilla (control).
• Cablear el servo: negro a gnd, roja a VIN, y el
amarillo al pin 9.
Control de servomotores
#include <Wire.h>
#include <Servo.h> // librería para el control del servo
int servoPin = 9; // linea de control para el servo
Servo myServo; // declaro una variable de tipo servo
void setup() {
myServo.attach(servoPin); // configuro donde va a estar conectado el servo
}
void loop() {
myServo.write(0); // le mando cero grados al servo
delay(1000); // espero un segundo
myServo.write(45); // le mando cuarenta y cinco grados al servo
delay(1000); // espero un segundo
myServo.write(90); // le mando noventa grados al servo
delay(1000); // espero un segundo
myServo.write(135); // le mando ciento treinta y cinco grados al servo
delay(1000); // espero un segundo
myServo.write(180); //
delay(1000);
}
Ejercicio
• Abra el sketch: Archivo->ejemplos->servo-
>sweep
• Analícelo, modifíquelo de ser necesario,
bájelo a la tarjeta y vea que todo funcione
bien … ojo con el recalentamiento.
• Haga un Sketch que controle dos servos. Pilas
no quemen las tarjetas.
Conexión vía Telnet
• Habilitar la conexión telnet y encontrar el IP de la
tarjeta. Baje el siguiente sketch a la tarjeta (conectada
a la LAN)
void setup() {
system("telnetd -l /bin/sh"); //abre la conexion
}
void loop() {
system("ifconfig eth0 > /dev/ttyGS0"); //ver el IP de
//la tarjeta
delay(5000);
}
Conexión vía Telnet
• Conectarse a la tarjeta. Descargar poky para
windows.
• Hacer el telnet al IP de la tarjeta.
• Logearse como root
• Cambiar al directorio de entradas y salidas de
proposito general (GPIO) cd /sys/class/gpio
• Listar el contenido del directorio ls
• Cambiarse al directorio gpio39 (pin 13)
Conexión vía Telnet
• Ver su configuración (pinMode()) cat direction
• Si esta como entrada, cambiarlo a salida echo
out > direction
• Prender el led conectado al pin 13: echo 1 >
value
• Gpio3 es el led on board

También podría gustarte