Talaan ng mga Nilalaman:
- Hakbang 1: Como Colocar Los Cables
- Hakbang 2: Código Arduino
- Hakbang 3: Código Python
- Hakbang 4: Tinatanggal ang Finales
Video: Alerta Sísmica Temprana .: 4 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Breve explicación
Mahusay na sismo ay gumagawa ng 3 mga tip sa simula ng primarya o P que es la important para sa ito proyekto, sa pamamagitan ng 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.
El presente proyecto busca crear un sistema de alerta sísmica temprana en twitter.
Mga materyal na isang utilizar
- 1 Arudino UNO (Costo aprox. $ 25usd)
- 1 Arduino Shield Ehternet (Costo Aprox $ 24 usd)
- 1 Quake Alarm (Costo Aprox. $ 30 usd)
- 1 Placa de Circuito impresa para prototipos (Costo Aprox. $ 0.60 usd) o isang protoboard
- 3 Mga kulay ng Jumper de diferentes na kulay (Costo Aprox. $ 0.30 usd)
- 1 Conector de batería de 9V (Costo Aprox. $ 0.30 usd)
- Cautin y soldadura
Hakbang 1: Como Colocar Los Cables
Para poder hacer nuestro proyecto sin tener que abrir el sensor "Quake Alarm", vamos a usar el conector de la batería de 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 cables:
5v - A0 - Cable negro del conector de batería
Primero el cable de 5V que va a alimentar el sensor, luego el A0 que va a monitorear el voltaje y finalmente el Cable negro del conector.
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.
Importante que al conectar el conector de 9V al sensor, el cable negro pasa a ser el positivo y el rojo el negativo, mucho cuidado con esto.
Hakbang 2: Código Arduino
En el Arduino vamos a crear un código que nos va a permitir 2 cosas:
- Leer el voltaje para buscar cambios
- Si hay una variación en el voltaje hacer una llamada a un servicio web
Vamos a explicar un poco el código, si no quieres entenderlo a profundidad luego de la explicación esta el código completeo y donde descargarlo.
Para sa mga video vamos a incluir las librerías necesarias para poder usar el shield ethernet y el serial.
# isama
# isama
Luego vamos a crear una constante que va a tener el PIN Analógico que vamos a usar
# tukuyin ang 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 servicio web.
static int diferencia;
int qaVal = 0; int qaPreVal = 0;
int threshold = 10;
int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio web
mahaba
ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web
Ahora crear las variables para sa uso del ethernet, donde definimos el MAC de la tarjeta de red, para sa IP ay magagamit ito sa iyong clase ng tipo EthernetClient para sa poder hacer uso de la tarjeta de red. También vamos a definir la IP del servidor que recibirá lo datos.
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
Ethernet client ng kliyente;
Ya con las variable, librerías at clases listas podemos iniciar el programa que tendrá nuestro Arduino:
- Incializamos el serial ng 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.
void setup () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT);
Ethernet.begin (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 información y otro.
void loop () {
qaVal = analogRead (QUAKEALARM); diferencia = qaPreVal - qaVal;
kung ((diferencia> 0) at (diferencia> = threshold) at ((millis () - ultimaConexion)> intervaloTiempo)) {
contador = contador + 1;
Serial.print ("Sismo!");
Serial.println (contador);
ultimaConexion = millis ();
kung (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 ("User-Agent: Arduino 1.0");
}
client.stop ();
client.flush (); }
qaPreVal = qaVal;
}
Puedes descargar el código en github.com/bettocr/alertasismo
Código kumpleto:
# isama
# isama
// QuakeAlarm
# tukuyin ang QUAKEALARM A0
// Variable que mantiene el valor anterior del QuakeAlarm
static int diferencia;
int qaVal = 0;
int qaPreVal = 0; int threshold = 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
// Variable Ethernet
// Se introducen los valores correspondienteses a MAC, IP local, Puerta de Enlace y 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 client; void setup () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT); // ethernet Ethernet.begin (mac, ip); // Inicializamos el Ethernet Shield}
void loop () {
qaVal = analogRead (QUAKEALARM);
diferencia = qaPreVal - qaVal;
kung ((diferencia> 0) at (diferencia> = threshold) at ((millis () - ultimaConexion)> intervaloTiempo)) {
contador = contador + 1; Serial.print ("Sismo!"); Serial.println (contador); ultimaConexion = millis (); kung (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 ("User-Agent: Arduino 1.0"); } client.stop (); client.flush (); } qaPreVal = qaVal; }
Hakbang 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 en algún servicio de notificaciones PUSH para sa mga browser.
Para sa pag-uusapan ang mga ito sa apps.twitter.com isang application na makuha ang Consumer Key (API Key), Lihim ng Consumer (API Secret), Access Token at Access Token Secret. y en la función tweet cambiar las xxxxx por sus respivos valores.
Pueden descargar el código completeo en github.com/bettocr/alertasismo o copiarlo a Continuación:
#! / usr / bin / python2.7
# - * - coding: utf-8 - * -
mag-import ng mga kahilingan, urllib2, urllib, tweepy
mula sa flask import Flask, kahilingan
mula sa StringIO import StringIO
mula sa datime import datime, 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 = Flask (_ name_)
@ app.route ("/", mga pamamaraan = ['GET'])
def sismo ():
subukan:
sismo = request.args.get ("sismo")
kung (str (sismo) == "1"):
t = datime.ngayon ()
hora = t.strftime ("% - I:% M% p")
tweet ("[En Pruebas] Posible sismo en los próximos segundos (" + hora + ")")
maliban sa IOError bilang err: i-print ang 'Fallo'
pumasa
maliban sa Exception bilang e:
i-print ang "Exception" + str (e)
pumasa
ibalik ang "OK"
Hakbang 4: Tinatanggal ang Finales
Como Pasos adicionales para darle una mejor imagen hice lo siguiente
- Corte la Placa de Circuito justo para sa entrada 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 cables entraran.
- Con material termo sensible, puse los 3 cables que van al Arduino para que parezca un solo cable.
- 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
Inirerekumendang:
May-ari ng Larawan Na May Built-in Speaker: 7 Hakbang (na may Mga Larawan)
May-ari ng Larawan Sa Built-in Speaker: Narito ang isang magandang proyekto na isasagawa sa katapusan ng linggo, kung nais mong gumawa ka ng sariling tagapagsalita na maaaring magkaroon ng mga larawan / post card o kahit na listahan ng dapat mong gawin. Bilang bahagi ng pagbuo gagamitin namin ang isang Raspberry Pi Zero W bilang sentro ng proyekto, at isang
Ilunsad ang Iyong Larawan sa Holiday Larawan Sa Isang Touch ng Magic!: 9 Mga Hakbang (na may Mga Larawan)
Ilunsad ang Iyong Mga Larawan sa Holiday Larawan Sa Isang Touch ng Magic!: Sa paglipas ng mga taon, nabuo ko ang isang ugali ng pagkuha ng isang maliit na pigurin sa akin kapag naglalakbay: Madalas akong bumili ng isang maliit, blangko na artoy (tulad ng nasa larawan) at pintura upang itugma ang watawat at tema ng bansang aking binibisita (sa kasong ito, Sisilia). T
Paano Mag-disassemble ng isang Computer Na May Madaling Hakbang at Mga Larawan: 13 Hakbang (na may Mga Larawan)
Paano Mag-disassemble ng isang Computer Na May Madaling Mga Hakbang at Larawan: Ito ay isang tagubilin tungkol sa kung paano i-disassemble ang isang PC. Karamihan sa mga pangunahing sangkap ay modular at madaling matanggal. Gayunpaman mahalaga na maging maayos ka tungkol dito. Makakatulong ito upang maiwasan ka sa pagkawala ng mga bahagi, at sa paggawa din ng muling pagsasama
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w