Inhoudsopgave:
Video: Alerta Sísmica Temprana.: 4 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Korte uitleg
Er zijn 3 geproduceerde tips voor het eerst of belangrijk voor het project, viaja tussen 8 en 13 km/s y es registrada voor los equipos sismógrafos.
Bestaan sensoren, die kunnen worden gedetecteerd en gedetecteerd P, die kunnen worden gevolgd door de volgende.
El presente proyecto busca crear un sistema de alerta sísmica temprana en twitter.
Gebruikt materiaal
- 1 Arudino UNO (kosten ongeveer $ 25usd)
- 1 Arduino Shield-ethernet (kosten ongeveer $ 24 usd)
- 1 aardbevingsalarm (kosten ongeveer $ 30 usd)
- 1 Placa de Circuito impresa para prototipos (kosten ongeveer $ 0,60 usd) op een protoboard
- 3 kabels Jumper de verschillende kleuren (Costo ongeveer $ 0,30 usd)
- 1 connector van de batterij van 9V (kosten ongeveer $ 0,30 usd)
- Cautin en soldadura
Stap 1: Como Colocar Los Kabels
Voor de eerste keer dat u de sensor "Quake Alarm" gebruikt, kunt u gebruik maken van de batterij van de 9v del mismo.
El Arduino is een 5v al sensor die kan worden gebruikt om een functie te vervullen.
El "Quake Alarm" heeft een waarschuwing gegeven voor het detecteren van P, is een parlante suena el voltaje baja, por lo que usaremos el Pin A0 para monitorear un cambio en el voltaje.
Verdere instructies voor het loskoppelen van kabels:
5v - A0 - Kabel negro del conector de bateria
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 en Arduino en el cable rojo que viene del conector.
U kunt een van de tengamos en de soldamos para que la electricidad pase entre ellos.
Belangrijke 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.
Stap 2: Código Arduino
En el Arduino kunt u een code maken die twee vergunningen toelaat:
- Leer el voltaje para buscar cambios
- Si hay un variación en el voltaje hacer un llamada a un servicio web
Dit is een expliciete verklaring van de verklaring van een volledige verklaring en een volledige verklaring van de verklaring.
Voor het gebruik van alle beschikbare bibliotheken die nodig zijn voor het gebruik van shield ethernet en serial.
#erbij betrekken
#erbij betrekken
Luego vamos a crear una constant que va a tener el PIN Analógico que vamos a usar
#define QUAKEALARM A0
Seguido definimos las variables que nos from a ayudar al processamiento de la variación de voltaje en el tiempo para hacer la lalamada al servicio web.
statische interne verschillen;
int qaVal = 0;int qaPreVal = 0;
int drempel = 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
Het creëren van variabelen voor het gebruik van ethernet, het definiëren van de MAC van het rode, het IP-adres van het gebruik van de ethernetclient voor het gebruik van het rood. También vamos a definir la IP del servador que recibirá lo datos.
byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip = { 192, 168, 15, 120 }; // Richting IP van Arduino
byte
server = {192, 168, 15, 111}; // Direccion IP del servador
EthernetClient-client;
Ya con las variables, librerías y clases listas podemos iniciar el programa que tendrá nuestro Arduino:
- Incializamos el serial a 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, INGANG);
Ethernet.begin(mac, ip); // Initialisatie van Ethernet Shield
}
Y para terminar el programa, ponemos en un 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 filter voor het bestaan van een lapso de tiempo de 5 segundos entre un envió de información y otro.
lege lus () {
qaVal = analoog lezen (QUAKEALARM); diferencia = 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(server, 5002)>0) {
Serial.println("Conecto");
client.print("GET /?sismo=1"); // Enviamos los datos por GET
client.println ("HTTP/1.0");
client.println ("Gebruiker-agent: Arduino 1.0");
}
klant.stop();
cliënt.flush(); }
qaPreVal = qaVal;
}
Download de gratis versie van el código op github.com/bettocr/alertasismo
Código compleet:
#erbij betrekken
#erbij betrekken
// QuakeAlarm
#define QUAKEALARM A0
// Variabele que mantiene el valor anterior del QuakeAlarm
statische interne verschillen;
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 servicio web
// Variabelen Ethernet
//Se introduceerde los valores correspondientes 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 byteserver = {192, 168, 8, 11}; // Direccion IP van de server EthernetClient-client; void setup () { Serial.begin(57600); pinMode (QUAKEALARM, INGANG); // ethernet Ethernet.begin (mac, ip); // Beginnen met Ethernet Shield }
lege lus () {
qaVal = analoog lezen (QUAKEALARM);
diferencia = 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(server, 5002)>0) { Serial.println("Conecto"); client.print("GET /?key=1122334455&sismo=1"); // Enviamos lost gegevens door GET client.println ("HTTP/1.0"); client.println ("Gebruiker-agent: Arduino 1.0"); } klant.stop(); cliënt.flush(); } qaPreVal = qaVal; }
Stap 3: Code Python
Este código básicamente crea un servicio web en 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.
Veelgestelde vragen over het implementeren van de implementatie van de toekomstige ontwikkeling van het gebruik van de mogelijkheid om de kennisgevingen van PUSH te wijzigen.
U kunt gebruikmaken van apps.twitter.com voor het verkrijgen van informatie over Consumer Key (API Key), Consumer Secret (API Secret), Access Token en Access Token Secret. y en la función tweet cambiar las xxxxx door sus respectivos valores.
Download het volledige document op github.com/bettocr/alertasismo of copiarlo a continuación:
#!/usr/bin/python2.7
# -*- codering: utf-8 -*-
importverzoeken, urllib2, urllib, tweepy
uit kolf import kolf, aanvraag
van StringIO import StringIO
van datetime import datetime, timedelta
def tweet(mens):
CONSUMER_KEY = 'xxxxxx'
CONSUMER_SECRET = 'xxxxxxxx'
ACCESS_KEY = 'xxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxx'
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 = Kolf(_naam_)
@app.route("/", methoden=['GET'])
def sismo():
proberen:
sismo = verzoek.args.get("sismo")
if (str(sismo) == "1"):
t = datumtijd.nu()
hora = t.strftime("%-I:%M %p")
tweet("[En Pruebas] Mogelijke sismo en los próximos segundos ("+hora+")")
behalve IOError als err: print 'Fallo'
doorgang
uitzondering Uitzondering als e:
print "Uitzondering"+str(e)
doorgang
retourneer "OK"
Stap 4: Details finales
Como Pasos adicionales para darle una mejor imagen hice lo siguiente
- Corte la Placa de Circuito is net voor de ingang en de 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.
- Con materiële termo verstandig, puse los 3 kabels 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
Aanbevolen:
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
PCB-ontwerp met eenvoudige en gemakkelijke stappen: 30 stappen (met afbeeldingen)
PCB-ontwerp met eenvoudige en gemakkelijke stappen: HELLO VRIENDEN Het is een zeer nuttige en gemakkelijke tutorial voor diegenen die PCB-ontwerp willen leren, laten we beginnen
Een video met gesplitst scherm maken in vier stappen: 4 stappen (met afbeeldingen)
Een video met gesplitst scherm maken in vier stappen: we zien vaak dezelfde persoon twee keer in een scène in een tv-toneelstuk. En voor zover we weten heeft de acteur geen tweelingbroer. We hebben ook gezien dat er twee zangvideo's op één scherm worden gezet om hun zangkunsten te vergelijken. Dit is de kracht van spl
Uw afbeeldingen opslaan voor uw taak: 4 stappen (met afbeeldingen)
Uw afbeeldingen opslaan voor uw taak: 1. Open een nieuw Google-document en gebruik deze pagina om uw afbeeldingen te beveiligen.2. Gebruik ctrl (control) en de "c" sleutel om te kopiëren.3. Gebruik ctrl (control) en de "v" sleutel om te plakken