Introduccin a Raspberry-
Sebastin Salinas P. (La Resistencia)
1
Primero que nada y antes que todo
Descargar putty
[Link]
Descargar Advances IP Scanner e instalar
[Link]
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 [Link]
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/[Link]
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/[Link]
17
import [Link] as GPIO [Link]([Link]) [Link](3,[Link]) [Link](5,[Link]) var=1 lectura=0 while var==1: lectura=[Link](3) if lectura==True: [Link](5,True) if lectura==False: [Link](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 [Link] 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: [Link](mpc play 1) # El comando de linux debe ir entre comillas sleep(10) [Link](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