INHOUDSOPGAWE:

Alerta Sísmica Temprana .: 4 stappe (met foto's)
Alerta Sísmica Temprana .: 4 stappe (met foto's)

Video: Alerta Sísmica Temprana .: 4 stappe (met foto's)

Video: Alerta Sísmica Temprana .: 4 stappe (met foto's)
Video: Как перестать ковырять кожу и выдергивать волосы за 4 шага 2024, November
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

Breve verduideliking

U kan drie keer vir ons 'n eerste keer 'n belangrike deel van die produk produseer, en dit kan tussen 8 en 13 km/s geregistreer word.

Bestaan sensores caseros, que nos en una alerta detectando estas ondas P, dándonos unos segundos antes que el sismo suceda.

Ons bied 'n veilige manier om 'n alarmsisteem op Twitter te aktiveer.

Materiaal gebruik

- 1 Arudino UNO (Costo ongeveer $ 25 usd)

- 1 Arduino Shield Ehternet (Costo ongeveer $ 24 dollar)

- 1 Quake Alarm (Costo Ongeveer $ 30 USD)

- 1 Circuito impresa para prototipos (Costo Ca. $ 0.60 usd) of un protoboard

- 3 kabels Jumper de diferentes colores (Costo Ca. 0,30 USD)

- 1 boumotor vir 9V (koste ongeveer 0,30 dollar)

- Versigtig

Stap 1: Como Colocar Los Cables

Soos Colocar Los Cables
Soos Colocar Los Cables
Met Colocar Los Cables
Met Colocar Los Cables
Met Colocar Los Cables
Met Colocar Los Cables
Met Colocar Los Cables
Met Colocar Los Cables

Vir die poder kan ons nou 'n alarm vir 'Quake Alarm' gebruik, en dit kan ook 'n konstruksie van 9 bateria gebruik word.

Ons kan 'n 5v sensor met 'n funksionele funksie gebruik.

Die "Quake Alarm" kan 'n parlante gee om 'n waarskuwing vir ons op te spoor, maar ook vir 'n volwaardige gebruik van 'n pin A0.

Ons kan die volgende kabels sien:

5v - A0 - Kabelnegro van die batería

Die eerste 5V -kabel is 'n voedingssensor, 'n A0 -skakelaar en 'n finale monitor van die kabel.

En otra fila conectamos el cable Negro que viene el Arduino y el cable rojo que viene del conector.

Dit is 'n uitstekende manier om 'n elektriese onderneming te verkoop.

Belangrike kenmerke vir die bou van die 9V -sensor, die kabel kan baie positief en negatief wees.

Stap 2: Ontdek Arduino

Een van die belangrikste aspekte van hierdie funksie is:

  1. Leer el voltaje vir buscar cambios
  2. Ons kan 'n variasie en 'n volledige diens vir 'n diens aan die internet bied

Ons kan u 'n verduideliking gee van die volledige ontleding en die voltooiing van hierdie inligting.

Vir meer inligting, is dit nodig om librerías necesarias vir die poder te gebruik, en die ethernet en die reeks.

#insluit

#insluit

U kan ook 'n konstante kenmerk van 'n PIN -kode gebruik.

#definieer QUAKEALARM A0

Die definisie van veranderlikes wat ons van 'n ayudar al procesamiento de la variación de voltaje y el tiempo para hacer la llamada al service web kan kry.

static int differerencia;

int qaVal = 0; int qaPreVal = 0;

int drempel = 10;

int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al service web

lank

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

Ons kan ook veranderlikes vir die ethernet gebruik, en ons kan ook die rooi MAC -lêers, die IP -adres gebruik en die tipe EthernetClient vir die rooi -kode gebruik. Ons kan u IP -adres definieer.

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

byte ip = {192, 168, 15, 120}; // Direction IP van Arduino

byte

bediener = {192, 168, 15, 111}; // Direksie se IP -adres

EthernetClient -kliënt;

U kan met veranderlikes, biblioteke en klassifikasies 'n lys van programme in die nuutste weergawe van Arduino gebruik:

  • Ons het 'n reeks van 57600
  • Ons kan ook 'n pincode A0 (konstante QUAKEALARM) gebruik, en dit kan ook gebruik word as 'n PIN -kode.
  • Finalmente iniciamos la tarjeta de red.

ongeldige opstelling () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT);

Ethernet.begin (mac, ip); // Inisialisering van Ethernet -skild

}

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". Ons bied 'n lys van inligting oor en oor die inligting.

leemte -lus () {

qaVal = analogRead (QUAKEALARM); differerencia = qaPreVal - qaVal;

if ((diferencia> 0) en (diferencia> = drempel) en ((millis () - ultimaConexion)> intervaloTiempo)) {

contador = contador + 1;

Serial.print ("Sismo!");

Serial.println (contador);

ultimaConexion = millis ();

as (client.connect (bediener, 5002)> 0) {

Serial.println ("Conecto");

client.print ("GET /? sismo = 1"); // Enviamos los datos por GET

client.println ("HTTP/1.0");

client.println ("Gebruikersagent: Arduino 1.0");

}

client.stop ();

client.flush (); }

qaPreVal = qaVal;

}

Puedes aflaai el código op github.com/bettocr/alertasismo

Volledige inligting:

#insluit

#insluit

// QuakeAlarm

#definieer QUAKEALARM A0

// Variable que mantiene el valor anterior del QuakeAlarm

static int differerencia;

int qaVal = 0;

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

// Veranderlikes Ethernet

// Ons stel die korrespondente van MAC, IP local, Puerta de Enlace en Máscara de Red bekend

byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; byte ip = {192, 168, 8, 20}; // Direction IP van Arduino byte bediener = {192, 168, 8, 11}; // Direkcion IP del server EthernetClient -kliënt; ongeldige opstelling () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT); // ethernet Ethernet.begin (mac, ip); // Inisialisering van Ethernet -skild}

leemte -lus () {

qaVal = analogRead (QUAKEALARM);

differerencia = qaPreVal - qaVal;

if ((diferencia> 0) en (diferencia> = drempel) en ((millis () - ultimaConexion)> intervaloTiempo)) {

contador = contador + 1; Serial.print ("Sismo!"); Serial.println (contador); ultimaConexion = millis (); if (client.connect (bediener, 5002)> 0) {Serial.println ("Conecto"); client.print ("GET /? sleutel = 1122334455 & sismo = 1"); // Gee klient.println ("HTTP/1.0"); client.println ("Gebruikersagent: Arduino 1.0"); } client.stop (); client.flush (); } qaPreVal = qaVal; }

Stap 3: Ontdek Python

Soort Python
Soort Python

Este código básicamente crea un service web en el puerto 5002 del servidor (yo lo uso en un Raspberry Pi en my casa), que recibe el aviso del Arduino for luego enviar un Tuit.

U kan die implementering van 'n implementering van 'n poder vir 'n toekomstige gebruiker en 'n algemene kennis van PUSH vir meer inligting gebruik.

Vir 'n paar verskillende toepassings kan apps.twitter.com 'n verbruikersleutel (API -sleutel), verbruikersgeheim (API -geheime), toegangstoken en toegangstoken -geheime gebruik. y en la función tweet cambiar las xxxxx por sus respectivos valores.

Laai dit volledig af op github.com/bettocr/alertasismo of kopieer 'n voortsetting:

#!/usr/bin/python2.7

#-*-kodering: utf-8-*-

invoerversoeke, urllib2, urllib, tweepy

uit kolf invoer Kolf, versoek

vanaf StringIO invoer StringIO

vanaf datetime invoer 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 = Fles (_ naam_)

@app.route ("/", metodes = ['KRY'])

def sismo ():

probeer:

sismo = request.args.get ("sismo")

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

t = datetime.now ()

hora = t.strftime ("%-I:%M%p")

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

behalwe IOError as fout: druk 'Fallo'

slaag

behalwe Uitsondering as e:

druk "Uitsondering"+str (e)

slaag

stuur "OK" terug

Stap 4: Ontkoppel finales

Detalles Finales
Detalles Finales
Detalles Finales
Detalles Finales
Detalles Finales
Detalles Finales
Detalles Finales
Detalles Finales

Kom ons lees meer oor die belangrikste dinge wat ons kan sien

  • Corte la Placa de Circuito justo para que entrara en el espacio destinado a la batería.
  • Met 'n motorwerktuig kan ons 'n laaipan en 'n superieure superieure motor vir kabels gebruik.
  • Met materiaal wat verstandig is, kan u 3 kabels van al die arduino's vir 'n solokabel gebruik.
  • Dit is 'n uitstekende manier om 'n 3D -prentjie te plaas

Besoek ons e -pos met @SismoTico

Aanbeveel: