Indholdsfortegnelse:
- Trin 1: Como Colocar Los Cables
- Trin 2: Código Arduino
- Trin 3: Código Python
- Trin 4: Detallerer finales
Video: Alerta Sísmica Temprana .: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Breve forklaring
Durante un sismo se producen 3 tipos de ondas la primaria o P que es la importante para este proyecto, viaja entre 8 y 13 km/s y es registrada por los equipos sismógrafos.
Existen sensores caseros, que nos dan una alerta detectando estas ondas P, dándonos unos segundos antes que el sismo suceda.
Vi præsenterer et effektivt netværk for et alarmsystem på Twitter.
Materialer en udnyttelse
- 1 Arudino UNO (Costo ca. $ 25usd)
- 1 Arduino Shield Ehternet (Costo Ca. 24 USD)
- 1 Quake Alarm (Costo Ca. 30 USD)
- 1 Circuito impresa para prototipos (Costo Ca. 0,60 $ usd) eller en protoboard
- 3 kabler Jumper de diferentes colores (Costo Ca. 0,30 USD)
- 1 strømforsyning til 9V (Costo Ca. 0,30 USD)
- Forsigtig og solgt
Trin 1: Como Colocar Los Cables
Til poder hacer nuestro proyecto sin tener que abrir el sensor "Quake Alarm", kan også bruges til at opbygge en batteri på 9v del mismo.
El Arduino le dará 5v al sensor con los que va a poder funcionar bien.
El "Quake Alarm" tiene un parlante para emitir una alerta si detecta ondas P, si este parlante suena el voltaje baja, por lo que usaremos el Pin A0 para monitorear un cambio en el voltaje.
En el siguiente orden se deben poner los kabler:
5v - A0 - Kabel negro del conector de batería
Primero el -kabel til 5V er en alimentarisk sensor, der kan også bruges til A0 -overvågning af den elektroniske kabel og tilslutning af en kabel.
En otra fila conectamos el cable Negro que viene el Arduino y el cable rojo que viene del conector.
una vez los tengamos en este orden soldamos para que la electricidad pase entre ellos.
Vigtigt, at vi kan tilslutte en 9V -sensor, en kabel kan ikke bruges til at være positiv, eller at den kan blive negativ eller meget mere.
Trin 2: Código Arduino
En el Arduino giver os et kendskab til, hvad der kan tillades 2 kosas:
- Leer el voltaje til buscar cambios
- Si hay una variación en el voltaje hacer una llamada a un service web
Vi kan også forklare en del af vores dokumentation, og vi kan ikke finde nogen oplysninger, der kan forklares fuldstændigt og ikke kan downloades.
Para iniciar vamos a incluir las librerías necesarias para poder usar el shield ethernet y el serial.
#omfatte
#omfatte
Luego vamos a crear una constante que va a tener el PIN Analogic que vamos a usar
#define QUAKEALARM A0
Seguido definimos las variables que nos van a ayudar al procesamiento de la variación de voltaje y el tiempo para hacer la llamada al service web.
statisk int diferencia;
int qaVal = 0; int qaPreVal = 0;
int tærskel = 10;
int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio web
lang
ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web
Ahora crear las variables para el uso del ethernet, donde definimos el MAC de la tarjeta de red, la IP que usará esta tarjeta y la clase de tipo EthernetClient para poder hacer uso de la tarjeta de red. Vi kan definere en IP -adresse, hvor vi kan modtage data.
byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip = {192, 168, 15, 120}; // Direccion IP del Arduino
byte
server = {192, 168, 15, 111}; // Direccion IP del servidor
EthernetClient -klient;
Ya con las variables, librerías and clases listas podemos iniciar el programa que tendrá nuestro Arduino:
- Incializamos el serienummer 57600
- Luego le decimos al arduino que el pin A0 (constante QUAKEALARM) lo vamos a usar como un pin de entrada.
- Finalmente iniciamos la tarjeta de red.
ugyldig opsætning () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT);
Ethernet.begynder (mac, ip); // Inicializamos el Ethernet Shield
}
Y para terminar el programa, ponemos en una función cíclica que revise el voltaje si este es inferior a 5v que haga una llamada al servidor y por medio de GET le manda el valor 1 a la variable "sismo". también filtra para que exista un lapso de tiempo de 5 segundos entre un envió de informationac oón.
void loop () {
qaVal = analogRead (QUAKEALARM); diferencia = qaPreVal - qaVal;
hvis ((diferencia> 0) og (diferencia> = tærskel) og ((millis () - ultimaConexion)> intervaloTiempo)) {
contador = contador + 1;
Serial.print ("Sismo!");
Serial.println (contador);
ultimaConexion = millis ();
hvis (client.connect (server, 5002)> 0) {
Serial.println ("Conecto");
client.print ("GET /? sismo = 1"); // Enviamos los datos por GET
client.println ("HTTP/1.0");
client.println ("Bruger-agent: Arduino 1.0");
}
client.stop ();
client.flush (); }
qaPreVal = qaVal;
}
Puedes downloader el código da github.com/bettocr/alertasismo
Komplet beskrivelse:
#omfatte
#omfatte
// QuakeAlarm
#define QUAKEALARM A0
// Variabel que mantiene el valor anterior del QuakeAlarm
statisk int diferencia;
int qaVal = 0;
int qaPreVal = 0; int tærskel = 10; int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio web long ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web
// Variabler Ethernet
// Se introducer los valores correspondentses a MAC, IP local, Puerta de Enlace og Máscara de Red
byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; byte ip = {192, 168, 8, 20}; // Direccion IP del Arduino byte server = {192, 168, 8, 11}; // Direccion IP del servidor EthernetClient -klient; ugyldig opsætning () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT); // ethernet Ethernet.begin (mac, ip); // Inicializamos el Ethernet Shield}
void loop () {
qaVal = analogRead (QUAKEALARM);
diferencia = qaPreVal - qaVal;
hvis ((diferencia> 0) og (diferencia> = tærskel) og ((millis () - ultimaConexion)> intervaloTiempo)) {
contador = contador + 1; Serial.print ("Sismo!"); Serial.println (contador); ultimaConexion = millis (); hvis (client.connect (server, 5002)> 0) {Serial.println ("Conecto"); client.print ("GET /? key = 1122334455 & sismo = 1"); // Enviamos los datos por GET client.println ("HTTP/1.0"); client.println ("Bruger-agent: Arduino 1.0"); } client.stop (); client.flush (); } qaPreVal = qaVal; }
Trin 3: Código Python
Este código básicamente crea un servicio web en el puerto 5002 del servidor (yo lo uso en un Raspberry Pi en mi casa), que recibe el aviso del Arduino para luego enviar un Tuit.
Lo hice de esta manera para poder implementar estadísticas y en un futuro poderlo usar and algún servicio de notificaciones PUSH para móviles.
Para que pueda tuitear deben crear en apps.twitter.com for aplicación and obtener los data at Consumer Key (API Key), Consumer Secret (API Secret), Access Token y Access Token Secret. y en la función tweet cambiar las xxxxx por sus respectivos valores.
Pueden download el código completo da github.com/bettocr/alertasismo o kopiarlo a continuación:
#!/usr/bin/python2.7
#-*-kodning: utf-8-*-
importanmodninger, urllib2, urllib, tweepy
fra kolbe import Kolbe, anmodning
fra StringIO import StringIO
fra datetime import datetime, timedelta
def tweet (mensaje):
CONSUMER_KEY = 'xxxxxxx'
CONSUMER_SECRET = 'xxxxxxxx'
ACCESS_KEY = 'xxxxxxxx'
ACCESS_SECRET = 'xxxxxxxx'
auth = tweepy. OAuthHandler (CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token (ACCESS_KEY, ACCESS_SECRET)
api = tweepy. API (auth, parser = tweepy.parsers. JSONParser ())
tweetid = api.update_status (status = mensaje)
app = kolbe (_ navn_)
@app.route ("/", metoder = ['GET'])
def sismo ():
prøve:
sismo = request.args.get ("sismo")
hvis (str (sismo) == "1"):
t = datetime.now ()
hora = t.strftime ("%-I:%M%p")
tweet ("[En Pruebas] Mulig sismo en los próximos segundos ("+hora+")")
undtagen IOError som fejl: udskriv 'Fallo'
passere
undtagen Undtagelse som e:
print "Undtagelse"+str (e)
passere
returner "OK"
Trin 4: Detallerer finales
Como Pasos adicionales para darle una major more image of hice lo siguiente
- Corte la Placa de Circuito justo para que entrara en el espacio destinado a la batería.
- Con un mototool hice un hueco en la tapa en la esquina superior derecha para que los kabels entraran.
- Med materiale, der er fornuftigt, kan du bruge 3 kabler, som kan bruges til et enkelt kabel.
- Y para poner el arduino en la pared, hice la impresión 3D de este mount
Pueden seguir el bot que hice con estos pasos en @SismoTico
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Bikesaver: Sistema De Alerta DIY til Ciclistas: 4 trin
Bikesaver: Sistema De Alerta DIY Para Ciclistas: Bikesaver er et system til oplysning og varsling, der involverer en enfoque af en fællesskabsmaskine til en ciclista, der kan bruges til at tilbyde et system til iluminación, som også kan bruges til at skifte søgeord y noche.El sis
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores