Përmbajtje:

Alerta Sísmica Temprana .: 4 hapa (me fotografi)
Alerta Sísmica Temprana .: 4 hapa (me fotografi)

Video: Alerta Sísmica Temprana .: 4 hapa (me fotografi)

Video: Alerta Sísmica Temprana .: 4 hapa (me fotografi)
Video: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, Korrik
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

Përfundoni shpjegimin

Durante un sismo se prodhoi 3 këshilla për të dhëna primare o P que es la importante para este proyecto, viaja entre 8 y 13 km/s y es registrada por los equipos sismógrafos.

Ekzistojnë sensores caseros, që nuk mund të zbulojnë një gjendje të zbuluar në P, mund të zbuloni se cilat janë antes que el sismo suceda.

Paraqitja e një projekti të tillë krijoi një sistem të alarmit të temperaturës në Twitter.

Materiales a utilizar

- 1 Arudino UNO (Kosto afërsisht. 25 dollarë amerikanë)

- 1 Arduino Shield Ehternet (Kosto Afërsisht $ 24 usd)

- 1 Alarm për tërmet (Kosto Afërsisht. 30 dollarë amerikanë)

- 1 Placa de Circuito impresa para prototipos (Kosto Afërsisht 0,60 dollarë amerikanë) ose pa një protoboard

- 3 kabllo Jumper de diferentes colores (Costo Aprox. $ 0,30 usd)

- 1 konektor baterie në 9V (Kosto Afërsisht 0,30 dollarë amerikanë)

- Cautin y soldadura

Hapi 1: Kabllot Como Colocar Los

Kabllo Como Colocar Los
Kabllo Como Colocar Los
Kabllo Como Colocar Los
Kabllo Como Colocar Los
Kabllo Como Colocar Los
Kabllo Como Colocar Los
Kabllo Como Colocar Los
Kabllo Como Colocar Los

Për më tepër, ju mund të përdorni një sensor për abrir el sensor "Alarmi i tërmetit", duke përdorur një përdorim të përgjithshëm të 9v del mismo.

El Arduino le dará 5v al sensor con los que va a poder funcionar bien.

El "Quake Alarm" ju mund të paralajmëroni për një alarm në zbulimin e të dhënave P, si një paralajmërim të volitshëm në qytetin tuaj, por në atë mënyrë që të përdorni një Pin A0 për të monitoruar një volum të caktuar.

En el siguiente orden se deben poner los kabllot:

5v - A0 - Cable negro del conector de batería

Kablloja kryesore është 5V me një sensor ushqimor, përdorni një A0 që është një monitorues i volumit dhe përfundimit të kabllit 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.

Importshtë e rëndësishme që të ketë një konektor me një sensor 9V, me një kabllo të vërtetë dhe një pozicion pozitiv në një negativ, shumë më të mirë.

Hapi 2: Código Arduino

Në Arduino vamos një crear un código që nuk mund të lejoni 2 kosa:

  1. Leer el voltaje para buscar cambios
  2. Si një ndryshim i madh në një volum të shpejtë për një shërbim në internet

Në një mënyrë të qartë dhe të pakuptimtë, ju nuk mund të mendoni për një përshkrim të thellë të shpjegimit të një përfundimi të plotë të një descargarlo.

Për më tepër, mund të përfshini një nevojë falas për të përdorur një mburojë ethernet dhe serial.

#përfshi

#përfshi

Luego vamos a crear una constante que va a tener el PIN Analógico vamos a usar

#përcaktoni TREQIN A0

Përcaktoni variablat që nuk kanë të bëjnë me ndryshimin e procesit të ndryshimit të volumit dhe mënyrës së përdorimit të shërbimit të shërbimit në internet.

int diferencia statike;

int qaVal = 0; int qaPreVal = 0;

pragu int = 10;

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

e gjate

ultimaConexion = 0; // Ju mund të përdorni shërbimet më të fundit të shërbimit në internet

Krijoni ndryshore për ndryshueshmërinë e përdorimit të ethernet, përcaktoni përcaktimin e MAC në targetën e kuqe, për IP që është përdorur nga targeta dhe nga clase de tipo EthernetClient për 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

bajt

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

Klienti EthernetClient;

Po të ndryshosh me ndryshime, mund të lexosh një listë të të dhënave të programeve që kanë tendencë të punojnë në Arduino:

  • Incializamos el serial a 57600
  • Luego le decimos al arduino que el pin A0 (constant 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.filloj (mac, ip); // Inicializamos el Ethernet Shield

}

Përpara një programi, mund të përdorni një funksion funksional që mund të rishikoni volumin e tij që është më i ulët se 5v dhe sa herë që nuk mund të shërbeni për një mesatare të GET të një vlere 1 të ndryshueshme "sismo". también filtra para que exista un lapso de tiempo de 5 segundos entre un envió de información y otro.

lak void () {

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

nëse ((diferencia> 0) dhe (diferencia> = pragu) dhe ((millis () - ultimaConexion)> intervaloTiempo)) {

kontador = kontador + 1;

Serial.print ("Sismo!");

Serial.println (contador);

ultimaConexion = millis ();

if (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 ("Agjenti i Përdoruesit: Arduino 1.0");

}

client.stop ();

klient.flush (); }

qaPreVal = qaVal;

}

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

Código i plotë:

#përfshi

#përfshi

// QuakeAlarm

#përcaktoni TREQIN A0

// Variabla que mantiene el valor anterior del QuakeAlarm

int diferencia statike;

int qaVal = 0;

int qaPreVal = 0; pragu int = 10; int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio web long ultimaConexion = 0; // Ju mund të përdorni shërbimet më të fundit të shërbimit në internet

// Variablat Ethernet

// Se introducen los valoresrespondueses 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 klient EthernetClient; void setup () {Serial.begin (57600); pinMode (QUAKEALARM, INPUT); // ethernet Ethernet.filloj (mac, ip); // Inicializamos el Ethernet Shield}

lak void () {

qaVal = analogRead (QUAKEALARM);

diferencia = qaPreVal - qaVal;

nëse ((diferencia> 0) dhe (diferencia> = pragu) dhe ((millis () - ultimaConexion)> intervaloTiempo)) {

kontador = kontador + 1; Serial.print ("Sismo!"); Serial.println (contador); ultimaConexion = millis (); if (client.connect (server, 5002)> 0) {Serial.println ("Conecto"); client.print ("GET /? key = 1122334455 & sismo = 1"); // Enviamos los datos nga GET client.println ("HTTP/1.0"); client.println ("Agjenti i Përdoruesit: Arduino 1.0"); } client.stop (); klient.flush (); } qaPreVal = qaVal; }

Hapi 3: Código Python

Código Python
Código Python

Este código básicamente crea un servicio web en el puerto 5002 del servidor (ju do të përdorni Raspberry Pi në shtëpinë tuaj), për të kërkuar një avido del Arduino për një mjedis të mirë në Tuit.

Konsideroni zbatimin e estradistikës nga një sistem i ardhshëm i përdorimit të shërbimeve të tjera të njoftimit PUSH para móviles.

Për shembull, ju mund të krijoni një aplikacion në aplikacionet.twitter.com, të cilat mund të aplikohen nga konsumatorët kryesorë (çelësi API), sekreti i konsumatorit (sekreti i API), aksesi i shenjës dhe sekreti i shenjës së aksesit. y en la función tweet cambiar las xxxxx nga sus respektivos valores.

Për më tepër ju mund të shkarkoni një artikull të plotë në github.com/bettocr/alertasismo ose të vazhdoni me:

#!/usr/bin/python2.7

#-*-kodimi: utf-8-*-

kërkesat e importit, urllib2, urllib, tweepy

nga importi i balonit Flask, kërkesë

nga StringIO import StringIO

nga dataetime 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 (author, parser = tweepy.parsers. JSONParser ())

tweetid = api.update_status (statusi = mensaje)

aplikacion = Flask (_ emri_)

@app.route ("/", metodat = ['MERR'])

def sismo ():

provo:

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

nëse (str (sismo) == "1"):

t = dataetime.now ()

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

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

përveç IOError si gabim: printoni 'Fallo'

kaloj

përveç Përjashtimit si e:

print "Përjashtim"+str (e)

kaloj

kthehu "OK"

Hapi 4: Detalles Finales

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

Como Pasos adicionales para darle una mejor imagen 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 kabllot hyrëse.
  • Me material termo të ndjeshëm, vendosni 3 kabllo në Arduino para një kabllo solo.
  • Për më tepër, ju mund të përdorni një model të veçantë, duke u impresionuar në 3D në këtë mal

Pueden seguir el bot que hice con estos pasos en @SismoTico

Recommended: