Está en la página 1de 27

Introduccin a Raspberry-

Sebastin Salinas P. (La Resistencia)


1

Primero que nada y antes que todo


Descargar putty
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Descargar Advances IP Scanner e instalar


http://www.advanced-ip-scanner.com/

Compartir Internet a travs de rea local

Qu es R-?
Es un computador de bolsillo
Componente
Memoria

Raspberry
TarjetaSD -1Gb 512 Mb

Arduino Para que sirve.


32Kb -2Kb 2Kb Aqu es donde se guardan las lneas de cdigo que uno escribe en el computador. Es donde se guardan las variables, es decir que entre ms grande es la RAM, ms String, int o dobles se pueden almacenar.

RAM

Frecuencia de la CPU

700 MHz

16 MHz

La frecuencia de la CPU es la velocidad con la que la CPU trabaja entre mayor es esta velocidad, puede ejecutar ms ordenes por segundo. Entre ms grande es este valor, menor ira a durar una batera en las mismas condiciones

Consumo energtico

500 mA

40 mA

Puertos analgicos Precio Referencia

No posee $41.591

Tiene 6 de 8 bits $17.820

Puede hacer lecturas de voltajes analgicos El stock de Raspberry la mayor parte del tiempo es nulo

Prestaciones
1. Puerto micro USB: Sirve para recibir energa 6 2. Puertos USB x2 : Para conectar perifricos (e.g: Mouse, teclado, Adaptador WiFi, tarjeta sonido, etc). 3. Puerto Ethernet: Puerto de comunicacin 4. Salida HDMI: Salida de video en alta definicin 5. Audio Jack: Salida de Audio clase D, PWM 6. Puertos GPIO: Pines declarables como salidas o entradas, voltajes regulados a 3.3 V

Precauciones previas
Tomar la placa con cuidado

Nunca sacar la tarjeta SD cuando la placa est encendida


5

Precauciones previas
Cuidado con los GPIO: No aplicar voltajes superiores a 3.3V No demandar corrientes superiores a 20 mA V=RI

Cargar el O.S
Ir a http://www.raspberrypi.org/downloads

Abrir Win32DiskImager, elegir destino y grabar Se demora Bastante

First Boot
Cmo entrar?
1. Directa: Con un teclado + monitor a la salida de video
2. Mediante conexin SSH (puerto Ethernet) 3. Mediante comunicacin serial (GPIO): HyperterminalRX-TX, etc

No tan rpido
La comunicacin SSH viene bloqueada de fbrica, por lo que el primer arranque debe ser hecho de forma directa Luego nos conectamos via Putty Podemos conectarnos a la Raspberry via computador sin necesidad de teclados extras, ni monitores

Ok, manos a la obra


1. Conectar el poder a la Raspberry 2. Compartir internet a travs del cable de rea local 3. Conectar el cable de Ethernet a la Raspberry 4. Escanear las IPs con Advanced IP scanner 5. Ir a Putty y comenzar a jugar

10

First boot

User: pi Pass: raspberry


11

Algunos comandos interesantes


sudo apt-get update # veo si hay algn paquete nuevo, LISTO sudo apt-get upgrade # instalo esos nuevos paquetes encontrados, LISTO sudo apt-get install mpc mpd # Paquetes de msica, LISTO sudo apt-get install nombre_paquete # instalar algn paquete sudo nano direccion # editor de archivos Ctrl+x # salgo de los archivos Ctrl+c # interrumpo los ejecutables sudo direccion # ejecuta los archivos startx # inicia la GUI Ifconfig # revisa la configuracion IP .direccion& # ejecuta programa por detrs python # ejecuta python sudo reboot # reinicia la placa logout # cambio de usuario sudo mkdir direccion # creo una carpeta cd direccion # cambia el directorio a la carpeta seleccionada ls # una vez en el directorio, muestra el contenido
/etc/init.d # directorio con comandos que se ejecutan primero

12

startx
Interfaz grfica (GUI) de bajo peso para trabajar en Linux con mayor naturalidad - Intuitivo

13

Lo que viene pre-cargado

14

GPIO (general purpose INPUT/OUTPUT)

1. Los puertos DNC no se ocupan 2. Los puertos 3.3V/5V/GND son voltajes fijos y no sirven como GPIO 3. El resto pueden ser ocupados como INPUT o OUTPUT 4. Para manipularlos ocuparemos Python
15

Recuerden lo que hablamos de no mezclar 3.3V con 5V

Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis muy limpia y que favorezca un cdigo legible.

Guido van Rossum Creador de Python

16

Creamos una carpeta Creamos el archivo

sudo mkdir /root/proyecto


sudo nano /root/proyecto/hola.py

Una vez adentro escribimos from time import sleep # importo la librera tiempo

var=1 digito=1 while var==1: print(digito) digito=digito+1 sleep(0.5)


Hacemos ctrl+x y luego

# bucle while # muestro el dgito en pantalla # el digito crece # se muestra el digito en consola

sudo python /root/proyecto/hola.py


17

import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(3,GPIO.IN) GPIO.setup(5,GPIO.OUT) var=1 lectura=0 while var==1: lectura=GPIO.input(3) if lectura==True: GPIO.output(5,True) if lectura==False: GPIO.output(5,False)

# traigo librera puertos GPIO # le digo que ocupare la nomenclatura ordenada # defino el puerto 3 como entrada # defino el puerto 5 como salida

# leo el puerto 3 # escribo en el puerto 5

A diferencia de la IDE de Arduino, en Python los estados de los pines (GPIOs) son boolean

18

Tarea en clases #1 (15 minutos)


Hacer un cdigo que prenda LEDs en la siguiente secuencia con tiempos de 1 segundo y un cuarto entre cada cambio

19

Tarea en clases #2 (15 minutos)


Hacer un cdigo que prenda LEDs en la siguiente secuencia y que esta cambie al presionar un botn

20

Algo de msica mpd+mpc


Agregamos direcciones con mpc add direccion Tocamos la direccin con mpc play nmero (e.g mpc play 1) Detenemos la pista con mpc stop Cambiamos el volumen con mpc volume xy (xy va desde 0 a 100) Borramos la lista de estaciones mpc clear

Desafo rpido: grabar la direccin http://146.155.205.173:80/ y hacerla sonar al mximo, el primero que lo logre gana premio

21

Ejecutar desde Python


En un nuevo archivo escribimos from time import sleep import os # librera que permite ejecutar comandos de linux desde python var=0 while var==0: os.system(mpc play 1) # El comando de linux debe ir entre comillas sleep(10) os.system(stop) sleep(5)

22

Tarea en clases #3 (15 minutos)


Crear una radio por internet que al tocar un botn se cambie a una estacin ms arriba
Hint: Crear un archivo donde se guarden todas las estaciones y luego desde python ir tomndolas

23

Lecturas analgicas
ADC: Analog to Digital Converter, convierte de voltajes digitales a una forma discreta digital en bits 1 bit = 2 niveles 2 bits = 4 niveles . 8 bits = 256 niveles (la mayora de los ADCs disponibles en el mercado son de 8 bits) 12 bits = 4096 niveles (usado mayormente en MP3 o proyectos con audio)

Representacin de 4 bits (16 combinaciones)

Ocupar un ADC, esto se ver en el Curso de Electrnica


24

Escrituras analgicas (DAC)


Escalera de Resistencias

1 1 1 1 = + 2 1 + + 1 1 + 0 2 2 2 2

Cada bit extra aporta 1/2 en precisin


25

Google es tu amigo
Linux al ser open source es de colaboracin colectiva y gratuito Python tambin es open source Todo est debidamente documentado en Internet y en constante mejora por la comunidad Arduino tambin es open source y su xito se debe a la comunidad
26

Gracias

27