Documente Academic
Documente Profesional
Documente Cultură
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
programacion
otopic
software libre
videojuegos
seguridad informatica
Social media
Search
hardware
Wi-Fi en Raspbian-Raspberry Pi
apps
cursos
Avisos:
Raspberry+Arduino=Raspduino
febrero 8, 2014
darkaw_remse
destacado, hardware
eventos
Like 12peoplelikethis.SignUptoseewhatyourfriendslike.
Dicho de otra forma la union de un microcontrolador que da la fuerza con un microprocesador que pone el cerebro.
Buscar
En esta ocacin y como uno de mis apuntes favoritos pasamos al objetivo del proyecto: Comunicar por puerto serial
una placa arduino con el raspberry.
Vamos a controlar un LED conectado en el Arduino, este ya estar programado y conectado por USB al raspberry.
Mediante Python vamos a tener una comunicacion serial y mandaremos comandos que arduino esta preparado para
Nombre de usuario
Populares
Contrasea
leer.
Para llevar un orden dividiremos en parte de arduino y parte de raspberry.
Parte Arduino
El montaje es muy sencillo solo colocaremos un led en el pin 13 y en ground, no necesitamos resistencia ya que ese pin
ya tiene una resistencia montada.
Recordarme
Identifcate
Vota
Desbloquear archivos
Mac OS con terminal
Cual es tu plataforma
de videojuegos favorita?
Raspberry+Arduino=Raspduino
XBOX
Arduino - Acordeon
para programar
Codeblocks
Compilador y Entorno
C/C++
Compartir archivos de
Raspberry en red local
Raspberry por SSH
PLAYSTATION
NINTENDO
SMARTPHONE
PC
TABLET
Vote
View Results
Grupos
Nuevos | Activo | Popular
IDE Windows
Instalar Debug Token
para Blackberry
Playbook
Arduino Day
activo hace 3 meses, 1
semana
Gamers
activo hace 2 aos, 10 meses
Herramientas
Generador de contraseas:
Categorias
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
1/8
30/5/2016
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
apps
arduino
blackberry
consola windows
CURIOSIDADES
curso robotica
destacado
cursos
diseo
electronica basica
Espiritu campusero
eventos
godinezlife
hardware
Linux
mac os
modding
Moviles
nube
programacion
otopic
raspberry
seguridad informatica
Social media
software libre
Uncategorized
videojuegos
windows
const int led = 13; //Declaramos el numero de pin para el led que vamos a controlar
void setup () {
pinMode(led, OUTPUT); //Declaramos el pin led=13 como salida
Serial.begin(9600); //Inicializo el puerto serial a 9600 baudios
}
void loop () {
if (Serial.available()) { //Si hay comunicacion serial
char c = Serial.read(); //Guardamos en una variable de tipo caracter lo que lea
if (c == 'H') { //Si es H (HIGH) prendemos el led
digitalWrite(led, HIGH);
} else if (c == 'L') { //Si no es H pero si es L (LOW) apagamos el led
digitalWrite(led, LOW);
}
}
}
Tutoriales
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
2/8
30/5/2016
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
Parte Raspberry
Ahora en el raspberry previamente debemos tener instalado Raspbian y tener acceso SSH para mayor comodidad, por
si se lo perdieron:
Instalando Raspbian en Raspberry Raspberry por SSH
Raspbian ya tiene python instalado solo necesitaremos la libreria para usar la comunicacion serial. Esto lo logramos
instalando facilmente desde consola con:
1 sudo apt-get install python-serial
De aqui en adelante iremos por consola, ahora podemos crear un directorio para nuestro proyecto con
1 sudo mkdir raspduino
entramos en el
1 cd raspduino
1
2
3
4
5
6
7
8
9
10
11
12
13
import serial
arduino = serial.Serial('/dev/ttyACM0',9600)
while True:
comando = raw_input('Introduce un comando: ')
arduino.write(comando)
if comando == 'H':
print('LED ENCENDIDO')
elif comando == 'L':
print('LED APAGADO')
arduino.close()#FINALIZA LA COMUNICACION
Lo que nuestro codigo anterior hace es declarar arduino con como un objeto serial, despues en un bucle innito
pedimos un comando que guardamos en la variable y lo usamos en el metodo write de arduino, luego para visualizar si
el comando es H o L y cierra la comunicacion.
Ahora si colocamos H o L, prende o apaga el led ya que el programa de arduino esta esperando un comando por
puerto serial y cuando compara llama a la funcion digitalWrite.
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
3/8
30/5/2016
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
EXTRA PHP
Como extra podriamos ejecutar python desde PHP, hacer un boton que prenda y otro que apague el led,
necesitariamos primero tener un servidor web corriendo en el Raspberry.
Instalar apache, mysql y ftp en Raspberry
vamos a nuestra directorio www
1 cd /var/www
<!DOCTYPE html>
<html>
<head>
<title>Raspduino</title>
</head>
<body>
<formaction="prender.php">
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
4/8
30/5/2016
8
9
10
11
12
13
14
15
16
17
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
<formaction="prender.php">
<button type="submit">Prender</button>
</form>
<form action="apagar.php">
<button type="submit">apagar</button>
</form>
</body>
</html>
prender.php
1
2
3
4
<?php
$prende= exec('sudo python enciendeled.py');
header('Location:index.php');
?>
apagar.php
1
2
3
4
<?php
$apaga = exec('sudo python apagaled.py');
header('Location:index.php');
?>
enciendeled.py
1
2
3
4
5
6
7
8
import serial
import time
arduino = serial.Serial('/dev/ttyACM0',9600)
arduino.open()
comando='H'
if comando:
arduino.write(comando)
arduino.close()
apagaled.py
1
2
3
4
5
6
7
8
import serial
import time
arduino = serial.Serial('/dev/ttyACM0',9600)
arduino.open()
comando='L'
if comando:
arduino.write(comando)
arduino.close()#FINALIZA LA COMUNICACION
Finalmente le di un poco de estilo con bootstrap, pero ese es otro cantar, espero les sirva el tutorial tanto como a mi y
esperamos ver sus proyectos.
TIP: Algunos tendran problemas al ejecutar python desde php. Hagan algunas pruebas con los siguientes
comandos:
En el directorio donde estan los archivos py
sudo python enciendeled.py
sudo python apagaled.py
Si los comandos anteriores prendieron y apagaron el led ahi no tenemos problemas.
Ahora ejecutemos php
sudo php prender.php
sudo php apagar.php
Si los comandos fueron correctos entonces no tendran problema al llamar estos desde index.php.
Si el PHP no funciono noten el error y lo que es muy probable es que apache no tenga permisos para ejecutar python.
Para solucionarlo prueben dandole permisos
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
5/8
30/5/2016
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
No tengo a la mano el raspberry pero este n de semana pruebo el proyecto, gracias por leernos.
Aado los archivos del proyecto para su descarga directa: https://mega.co.nz/#!6AIh1KRA!D_mt9ahvx1b9Q4ZiuCM9VuNncYoprURTBVceK5y18A
Compartelo
arduino
php
python
Correo electrnico
Tumblr
raspberry
About darkaw_remse
Administrador de poca monta, mi interes principal dentro de la informatica es la programacion web,
entusiasta de las nuevas tecnologias en hardware y software. Sueo con tener un sitio que cobre
inteligencia propia =p
View all posts by darkaw_remse
Like
12
Twittear
Share
Related Posts
Genuino Day Taller: Hola
Mundo...
Codebender, programando
arduino en la nu...
abril 5, 2016
Compartir archivos de
Raspberry en red l...
abril 7, 2015
16 thoughts on Raspberry+Arduino=Raspduino
PipeChela marzo 15, 2014 at 5:03 pm - Reply
funciona muy bien, pero hay cosas que estn malas en la parte de php
en apagar.php hace referencia a index.html y debe ser a index.php
y otra cosa es que esa parte no me hace nada en mi caso. abre la pagina, hago click en encender,
pero no enciende
darkaw_remse marzo 16, 2014 at 3:55 am - Reply
Author
Ya cheque tenia unos codigos que nalmente cambie, gracias por los
comentarios
Author
El problema deben ser los permisos, dejame actualizarlo, pero es cuestion que des
permisos a la carpeta www y poner a tu user en el grupo correcto
Eddie A. Sanchez
Buen dia. Realizo los pasos desde php, sin embargo solo se enciende y como que el proceso no
termina y no puedo oprimir apagar, refresco la pagina y ya no me permite apagar el led. Chrome
o safari siempre se quedan en estatus esperando a localhost. Que ser que me falla?
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
6/8
30/5/2016
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
darkaw_remse octubre 16, 2014 at 8:26 pm - Reply
Author
Author
Deja un comentario
Introduceaqutucomentario...
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
Entradas recientes
Featured Video
7/8
30/5/2016
Raspberry+Arduino=RaspduinoMorelosGeekMorelosGeek
electrnico
Genuino Day Taller: Movimiento Robot
Introduce tu correo electrnico para
suscribirte a este blog y recibir
noticaciones de nuevas entradas.
nete a otros 40 suscriptores
Direccindeemail
Suscribir
http://morelosgeek.com/2014/02/raspberryarduinoraspduino/
8/8