1. Hazlo tu mismo
  2. »
  3. Tutoriales

Protege tu virgo cueva con esta alarma.




En este tutorial vamos a hacer que el sensor de ultrasonido (HC-SR04) conectado a un Arduino MEGA nos detecte algún objeto que se le interponga o un rufian, para hacerlo más interesante. Cuando detecte una acción, nos enviará un correo electrónico usando el SMTP de Google.

¿ Qué es SMTP ?
El SMTP es un Protocolo para la transferencia simple de correo electrónico. En este caso usaremos el SMTP server de Google.
Pueden consultar la librería de smtp de Python en el siguiente enlace http://docs.python.org/2/library/smtplib.html




MATERIALES NECESARIOS

Arduino (en mi caso Funduino meca 2560 bien chino)




Sensor de ultrasonido (HC-SR04)




Protoboard




Cambles






MONTAJE









CODIGO ARDUINO

Codigo para arduino que mandara los datos a través del puerto serial para ser interpretados por python.


#define trigPin 2
#define echoPin 21
 
int rangoMaximo = 40; 
int rangoMinimo = 0;    
int duracion, distancia;

void setup() {
    Serial.begin (9600);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
}
 
void loop() {   
    digitalWrite(trigPin, HIGH); 
    delayMicroseconds(1000); 
    digitalWrite(trigPin, LOW);  
    duracion = pulseIn(echoPin, HIGH);  
 
    distancia = (duracion/2) / 29.1;  //Calcula la distancia en cm
    if (distancia >= rangoMaximo || distancia <= rangoMinimo){
      Serial.println("L");    
    } else {
      Serial.println("H");
    }
    delay(500);             
}



CODIGO PYTHON

Esta parte consiste en la programación del código que nos permitirá leer los datos envíados desde el Arduino.
Recuerden tener todas las librerias necesarias instaladas!


 #-*- encoding: utf-8 -*-
 
import serial
import time
from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

de = "Tu dirreccion de gmail"  # Dirección personal
para = "Direccion en la cual vas a recibir los mails"  # Destino
mensaje = '¡ Se ha detectado movimiento de rufianes en tu virgo cueva, que el comandante te ayude !' # Mensaje
contrasena = "Tu contraseña"


mime_mensaje = MIMEText(mensaje, "plain")
mime_mensaje["From"] = de
mime_mensaje["To"] = para
mime_mensaje["Subject"] = "ALERTA LINCE"  # Asunto
 
arduino = serial.Serial('/dev/ttyACM0', 9600, timeout = 3.0)

def enviar_correo_electronico():
    print("Envíando e-mail")
    smtpserver = SMTP("smtp.gmail.com",587)
    smtpserver.starttls()
    smtpserver.login(de,contrasena)
    smtpserver.set_debuglevel(1)
    smtpserver.sendmail(de, para, mime_mensaje.as_string())          

while True:
    lineaLeida = arduino.readline()
    print(lineaLeida)                       
    if lineaLeida[0] == 'H' :
        enviar_correo_electronico()
    time.sleep(0.5)                                                              

Asegurense de qué puerto estan usando para indicarlo en python..

arduino = serial.Serial('/dev/ttyACM0', 9600, timeout = 3.0)


FUNCIONAMIENTO







CERTIFICADA




FIN
cualquier duda manden un MP, linces


0
0
0
0No hay comentarios