Mostrando entradas con la etiqueta Arduino. Mostrar todas las entradas
Mostrando entradas con la etiqueta Arduino. Mostrar todas las entradas

Codigo python para leer y escribir Arduino

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
import time
import serial
 
# Iniciando conexión serial
arduinoPort = serial.Serial('/dev/ttyACM1', 9600, timeout=1)
flagCharacter = 'k'
 
# Retardo para establecer la conexión serial
time.sleep(1.8)
arduinoPort.write(flagCharacter)
#getSerialValue = arduinoPort.readline()
#getSerialValue = arduinoPort.read()
getSerialValue = arduinoPort.read(6)
print '\nValor retornado de Arduino: %s' % (getSerialValue)
 
# Cerrando puerto serial
arduinoPort.close()

Comunicacion por RF a 433Mhz desde Arduino hasta RaspberryPi

Estos son los módulos necesarios:

Arduino

Descargamos la siguiente librería: enlace.
Creamos el siguiente código en el Arduino:
#include <rcswitch .h="">
RCSwitch mySwitch = RCSwitch();
long envio = 0;
 
// Declaracion de variables
float tempC;
int tempPin = 0; // Definimos la entrada en pin A0
void setup()
{
    // Abre puerto serial y lo configura a 9600 bps
    Serial.begin(9600);
    mySwitch.enableTransmit(10);
}
void loop()
{
    // Lee el valor desde el sensor
    tempC = analogRead(tempPin);
 
    mySwitch.send(tempC, 8);
     
    // Espera cinco segundo para repetir el loop
    delay(5000);
}
</rcswitch>


**mySwitch.send(tempC, 8);
indica que esta enviando un número de 8 bits, lo que viene a ser entre -128 y +127.
teniendo en cuenta que el sensor de temperatura trabaja entre -55ºC y +150ºC, nos sobra.
Cargamos el código y lo dejamos en marcha.


RaspberryPi

Antes de nada hay que tener compilado WiringPi, pásate por este post.
mkdir -p /usr/src/rasp433/
cd /usr/src/rasp433/
wget https://www.dropbox.com/s/faw6y1lzguhgxvx/rpi.zip
unzip rpi.zip
gcc rfreceive.cpp RCSwitch.cpp -o rfreceive -lwiringPi
gcc rftester.cpp RCSwitch.cpp -o rfreceive -lwiringPi


Ahora mismo vamos a preocuparnos sólo de recibir, en los siguientes post afinaremos el código. Ejecutamos: ./rfreceive 0


FUENTE