Orodha ya maudhui:

Alerta Sísmica Temprana .: 4 Hatua (na Picha)
Alerta Sísmica Temprana .: 4 Hatua (na Picha)

Video: Alerta Sísmica Temprana .: 4 Hatua (na Picha)

Video: Alerta Sísmica Temprana .: 4 Hatua (na Picha)
Video: Как перестать ковырять кожу и выдергивать волосы за 4 шага 2024, Novemba
Anonim
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana
Alerta Sísmica Temprana

Vunja ufafanuzi

Wakati huo huo unazalisha vidokezo 3 vya kazi ya kwanza kwa sababu ya umuhimu wa kufanya hivyo, kupitia 8 kwa 13 km / s ni usajili kwa vifaa vya habari.

Zipo 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.

Materiales matumizi

- 1 Arudino UNO (Aprox ya Costo. $ 25usd)

- 1 Arduino Shield Ehternet (Costo Aprox $ 24 usd)

- 1 Alarm ya Mtetemeko (Costo Aprox. $ 30 usd)

- 1 Placa de Circuito impresa para prototipos (Costo Aprox. $ 0.60 usd) o una protoboard

- Cables 3 Jumper de coleres tofauti (Costo Aprox. $ 0.30 usd)

- 1 Conector de batería de 9V (Costo Aprox. $ 0.30 usd)

- Cautin y soldadura

Hatua ya 1: Como Colocar Los Cables

Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables
Como Colocar Los Cables

Para poder hacer nuestro proyecto sin tener que abrir el sensor "Alarm ya Mtetemeko", inaweza kutumia kontena la la 9 batri za misitu.

El Arduino na dará 5v sensor zote zinatokana na utaftaji mzuri.

Kengele ya "Quake Alarm" inaweza kutekelezwa kwa njia ya kutahadharisha kuhusu P, ikiwa ni pamoja na kutafakari kwa njia moja, kwa sababu hiyo watu wengine wanapaswa kuhimili Pin A0 kwa muda mfupi.

En el siguiente orden se deben poner los cables:

5v - A0 - Cable negro del koneli ya bateri

Primero el cable de 5V que va a alimentar el sensor, luego el A0 que va 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 esten ordamos for que la electricidad pase entre ellos.

Muhimu kwa kontena moja ya kontena ya 9V al, sensa ya kebo inayoweza kutekelezwa kwa njia moja na kwa njia moja, kwa mfano.

Hatua ya 2: Código Arduino

En El Arduino vamos a crear un código que nos va a permitir 2 cosas:

  1. Leer el voltaje para buscar cambios
  2. 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 completo y donde descargarlo.

Para iniciar vamos a incluir las librerías necesarias para poder usar el shield ethernet y el serial.

# pamoja

# pamoja

Luego vamos chakula kirefu hakijatoweka mara kwa mara kwa PIN

#fafanua MTAZAMO A0

Ufafanuzi wa aina tofauti za vitu vinaweza kutumiwa kwa shughuli zote za utaftaji wa voliti na upeo wa wavuti ya tovuti na huduma.

tuli int diferencia;

int qaVal = 0; int qaPreVal = 0;

kizingiti = 10;

int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio mtandao

ndefu

ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web

Viumbe vya vitu vya Ahora vinaweza kutekelezwa kwa uso wa ethernet, na maelezo mafupi ya MAC kutoka kwa nyekundu, kwa IP ambayo itatumiwa kwa kutumia vifaa vya EthernetClient kwa sababu ya vifaa vya redi. Tumia maoni yako kwa ufafanuzi wa IP na huduma za kumbukumbu za data hizi.

byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

byte ip = {192, 168, 15, 120}; // Direccion IP del Arduino

baiti

seva = {192, 168, 15, 111}; // Direccion IP del servidor

Mteja wa EthernetMteja;

Viambatanisho vya moja kwa moja, huria na vifungo vya orodha orodha ya programu zinazotumiwa na programu ya Arduino:

  • Incializamos el mfululizo 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 nyekundu.

kuanzisha batili () {Serial.begin (57600); pinMode (QuAKEALARM, INPUT);

Ethernet. Kuanza (mac, ip); // Inicializamos el Ethernet Shield

}

Kwa kipindi cha mwisho cha programu, majadiliano na maoni yako ni pamoja na kufanya marekebisho kwa njia mpya ya kuwa chini ya kiwango cha chini cha 5v kwa sababu utaftaji wa huduma na upeanaji wa GET kwa sababu ya nguvu 1 ya la "sismo". también filtra para que exista un lapso de tiempo de 5 sekunde entre un envió de información y otro.

kitanzi batili () {

qaVal = AnalogSoma (QuAKEALARM); diferencia = qaPreVal - qaVal;

ikiwa ((diferencia> 0) na (diferencia> = kizingiti) na ((millis () - ultimaConexion)> intervaloTiempo)) {

contador = contador + 1;

Serial.print ("Sismo!");

Serial.println (contador);

ultimaConexion = millis ();

ikiwa (mteja.connect (seva, 5002)> 0) {

Serial.println ("Conecto");

alama ya mteja ("GET /? sismo = 1"); // Enviamos los datos por GET

mteja.println ("HTTP / 1.0");

mteja.println ("Wakala wa Mtumiaji: Arduino 1.0");

}

mteja.acha ();

mteja.flush (); }

qaPreVal = qaVal;

}

Puedes descargar el código en github.com/bettocr/alertasismo

Código completo:

# pamoja

# pamoja

// Kengele ya Quake

#fafanua MTAZAMO A0

// Variable que mantiene el valor anterior del QuakeAlarm

tuli int diferencia;

int qaVal = 0;

int qaPreVal = 0; kizingiti = 10; int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio mtandao mrefu ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web

// Vigezo vya Ethernet

// Tazama kuanzisha orodha mpya ya MAC, IP ya ndani, Puerta de Enlace y Máscara de Red

byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; byte ip = {192, 168, 8, 20}; // seva ya Direccion IP del Arduino byte = {192, 168, 8, 11}; // Direccion IP del servidor EthernetMteja mteja; kuanzisha batili () {Serial.begin (57600); pinMode (QuAKEALARM, INPUT); // Ethernet Ethernet. kuanza (mac, ip); // Inicializamos el Ethernet Shield}

kitanzi batili () {

qaVal = AnalogSoma (QuAKEALARM);

diferencia = qaPreVal - qaVal;

ikiwa ((diferencia> 0) na (diferencia> = kizingiti) na ((millis () - ultimaConexion)> intervaloTiempo)) {

contador = contador + 1; Serial.print ("Sismo!"); Serial.println (contador); ultimaConexion = millis (); ikiwa (mteja.connect (seva, 5002)> 0) {Serial.println ("Conecto"); alama ya mteja ("GET /? ufunguo = 1122334455 & sismo = 1"); // Enviamos los datos por GET client.println ("HTTP / 1.0"); mteja.println ("Wakala wa Mtumiaji: Arduino 1.0"); } mteja.acha (); mteja.flush (); } qaPreVal = qaVal; }

Hatua ya 3: Código Python

Código Chatu
Código Chatu

Hii ni sehemu ya huduma ya wavuti inayotumiwa na wavuti 5002 kwa huduma (unaona uso wako kwenye Raspberry Pi na mi casa), ikiwa ni pamoja na kukumbuka picha ya Arduino kwa sababu ya kutamani.

Tazama orodha hii kwa programu inayotekelezwa ikiwa ni pamoja na mipango na matumizi ya vifaa vya kutolea huduma PUSH kwa muda mfupi.

Kwa sababu hii utahitaji kutoa huduma kwenye apps.twitter.com una aplicación y obtener los datos Consumer Key (API Key), Siri ya Watumiaji (Siri ya API), Teni ya Ufikiaji na Siri ya Ishara ya Ufikiaji. y en la función tweet cambiar las xxxxx for sus respectivos valores.

Pueden descargar el código completo en github.com/bettocr/alertasismo o copiarlo a kuendelea:

#! / usr / bin / chatu2.7

# - * - kuorodhesha: utf-8 - * -

kuagiza maombi, urllib2, urllib, tweepy

kutoka kwa chupa ya kuingiza chupa, ombi

kutoka kwa StringIO kuagiza StringIO

kutoka wakati wa kuingiza wakati wa wakati, timedelta

def tweet (mensaje):

CONSUMER_KEY = 'xxxxxxx'

CONSUMER_SECRET = 'xxxxxxx'

ACCESS_KEY = 'xxxxxxxx'

ACCESS_SECRET = 'xxxxxx'

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 (hadhi = mensaje)

programu = chupa (_ jina_)

@ app.route ("/", mbinu = ['GET'])

def sismo ():

jaribu:

sismo = ombi.giba.get ("sismo")

ikiwa (str (sismo) == "1"):

t = wakati. sasa ()

hora = t. muda wa saa ("% - I:% M% p")

tweet ("[En Pruebas] Posmo sismo en los próximos segundos (" + hora + ")")

isipokuwa IOError as err: chapa 'Fallo'

kupita

isipokuwa Isipokuwa kama e:

chapisha "Isipokuwa" + str (e)

kupita

rudisha "Sawa"

Hatua ya 4: Detalles Finales

Kutoa Finales
Kutoa Finales
Kutoa Finales
Kutoa Finales
Kutoa Finales
Kutoa Finales
Kutoa Finales
Kutoa Finales

Como Pasos adicionales para darle una mejor picha kutoka hice lo siguiente

  • Corte la Placa de Circuito justo for que entara en el espacio destinado a la bateri.
  • Kutumia mototool hice un hueco en la tapa en la esquina mkuu derecha para que los cables entaran.
  • Con nyenzo termo busara, tumia los 3 cables que van al Arduino para que parezca un solo cable.
  • Kwa sababu ya msamehewa kwa bidii, unaweza kusoma 3D mlima huu

Pueden unatafuta kila kitu kutoka kwa @SismoTico

Ilipendekeza: