ዝርዝር ሁኔታ:
ቪዲዮ: Alerta Sísica Temprana.: 4 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
ገለፃን ይግለጹ
Durante un sismo se producen 3 tipos de ondas la primaria o P que es la importante para este proyecto, viaja entre 8 y 13 km/s y es registrada por los equipos sismógrafos.
Existen sensores caseros, que nos dan una alerta deteando 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 አንድ utilizar
- 1 አሩዲኖ UNO (ኮስቶ በግምት $ 25 ዶላር)
- 1 Arduino Shield Ehternet (ኮስቶ በግምት 24 ዶላር)
- 1 የመሬት መንቀጥቀጥ ማንቂያ (ኮስቶ አክስሮ 30 ዶላር)
- 1 Placa de Circuito impresa para prototipos (Costo Aprox. $ 0.60 usd) o una protoboard
- 3 ኬብሎች Jumper de diferentes colores (Costo Aprox. $ 0.30 usd)
- 1 Conector de batería de 9V (Costo Aprox. $ 0.30 usd)
- Cautin y soldadura
ደረጃ 1 ኮሞ ኮሎካር ሎስ ኬብሎች።
ፓራ ፖደር ሄዘር ኑስትሮ ፕሮፔክቶ ኃጢአት ተከራካሪ አብርር ኤል ዳሳሽ “የመሬት መንቀጥቀጥ ማንቂያ” ፣ 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.
ኤል “ኩዌክ ማንቂያ” tiene un parlante para emitir una alerta si detea 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 ገመዶች ፦
5v - A0 - ኬብል ኔግሮ ዴል ኮንቴክተር ዴ 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.
እጅግ በጣም አስፈላጊ የሆነው የ 9 ቪ አል ዳሳሽ ፣ ኤል ኬብል ኔሮ ፓሳ አንድ ኢ ኤል ሮጆ ኤል ኔጋቲቮ ፣ ሙቾ ኩይዶዶ con ኢስቶ።
ደረጃ 2: Código Arduino
ኤል ኤል አርዱinoኖ 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 ድር
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.
ፓራ ኢንዲካር ቫሞስ አንድ ኢንላስ ሊላስ ሊሬሪያስ necesarias para poder usar el shield ethernet y el serial.
#ያካትቱ
#ያካትቱ
ሉጎጎ አንድ ነገር ሲኖር እና ሲያስታውቅ ፒን አናሊጎኮ
#ገላጭ 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 ድር.
የማይንቀሳቀስ int diferencia;
int qaVal = 0; int qaPreVal = 0;
int ደፍ = 10;
int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio ድር
ረጅም
ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio ድር
አሆራ ክሬር ላስ ተለዋዋጮች ፓራ ኤል ኡሶ ዴል ኤተርኔት ፣ ዶንዲ ዲሞሞስ ኤል ማክ ዴ ላ ታርጄታ ዴ ቀይ ፣ ላ IP que usará esta tarjeta y la clase de tipo EthernetClient para poder hacer uso de la tarjeta de red። También vamos a definir la IP del servidor que recibirá lo datos.
ባይት mac = {0xDE ፣ 0xAD ፣ 0xBE ፣ 0xEF ፣ 0xFE ፣ 0xED};
ባይት ip = {192, 168, 15, 120}; // Direccion IP del Arduino
ባይት
አገልጋይ = {192, 168, 15, 111}; // Direccion IP del servidor
የኢተርኔት ደንበኛ ደንበኛ;
Ya con las variables, librerías y clases listas podemos iniciar el programa que tendrá nuestro Arduino:
- Incializamos ኤል ተከታታይ 57600
- ሉኦጎ ለ ዲሲሞስ አል አርዱዲኖ ኬል ኤል ፒን A0 (constante QUAKEALARM) lo vamos a usar como un pin de entrada.
- Finalmente iniciamos la tarjeta de red.
ባዶነት ማዋቀር () {Serial.begin (57600); pinMode (የመሬት መንቀጥቀጥ ፣ ግብዓት);
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 ተለዋዋጭ "sismo". también filtra para que exista un lapso de tiempo de 5 segundos entre un envió de información y otro.
ባዶነት loop () {
qaVal = analogRead (QUAKEALARM); diferencia = qaPreVal - qaVal;
ከሆነ ((diferencia> 0) እና (diferencia> = ደፍ) እና ((ሚሊስ () - ultimaConexion)> intervaloTiempo)) {
contador = contador + 1;
Serial.print ("Sismo!");
Serial.println (contador);
ultimaConexion = millis ();
ከሆነ (client.connect (አገልጋይ ፣ 5002)> 0) {
Serial.println ("Conecto");
client.print ("GET /? sismo = 1"); // Enviamos los datos por GET
client.println ("HTTP/1.0");
client.println ("ተጠቃሚ-ወኪል አርዱinoኖ 1.0");
}
client.stop ();
client.flush (); }
qaPreVal = qaVal;
}
Puedes descargar el código en github.com/bettocr/alertasismo
ሙሉ በሙሉ -
#ያካትቱ
#ያካትቱ
// የመሬት መንቀጥቀጥ ማንቂያ
#ገላጭ QUAKEALARM A0
// ተለዋዋጭ que mantiene el valor anterior del QuakeAlarm
የማይንቀሳቀስ int diferencia;
int qaVal = 0;
int qaPreVal = 0; int ደፍ = 10; int intervaloTiempo = 5000; // Intervalo de tiempo entre dos llamadas al servicio ድር ረጅም ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio ድር
// ተለዋዋጮች ኤተርኔት
// በ ‹MAC introducen los valores› አንድ MAC ፣ IP አካባቢያዊ ፣ Puerta de Enlace y Máscara de Red
ባይት mac = {0xDE ፣ 0xAD ፣ 0xBE ፣ 0xEF ፣ 0xFE ፣ 0xED}; ባይት ip = {192, 168, 8, 20}; // Direccion IP del Arduino byte አገልጋይ = {192, 168, 8, 11}; // Direccion IP del servidor EthernetClient client; ባዶነት ማዋቀር () {Serial.begin (57600); pinMode (የመሬት መንቀጥቀጥ ፣ ግብዓት); // ኤተርኔት Ethernet.begin (mac ፣ ip); // Inicializamos el Ethernet Shield}
ባዶነት loop () {
qaVal = analogRead (QUAKEALARM);
diferencia = qaPreVal - qaVal;
ከሆነ ((diferencia> 0) እና (diferencia> = ደፍ) እና ((ሚሊስ () - ultimaConexion)> intervaloTiempo)) {
contador = contador + 1; Serial.print ("Sismo!"); Serial.println (contador); ultimaConexion = millis (); ከሆነ (client.connect (አገልጋይ ፣ 5002)> 0) {Serial.println (“Conecto”); client.print ("GET /? key = 1122334455 & sismo = 1"); // Enviamos los datos por GET client.println ("HTTP/1.0"); client.println ("ተጠቃሚ-ወኪል አርዱinoኖ 1.0"); } client.stop (); client.flush (); } qaPreVal = qaVal; }
ደረጃ 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 móviles.
Para que pueda tuitear deben crear en apps.twitter.com una aplicación y obtener los datos የደንበኛ ቁልፍ (ኤፒአይ ቁልፍ) ፣ የሸማች ምስጢር (የኤፒአይ ምስጢር) ፣ የመዳረሻ ማስመሰያ እና የመዳረሻ ማስመሰያ ምስጢር። y en la función tweet cambiar las xxxxx por sus respectivos valores.
Edድደን descargar el código completo en github.com/bettocr/alertasismo o copiarlo a continuación:
#!/usr/bin/python2.7
#-*-ኮድ-utf-8-*-
የማስመጣት ጥያቄዎች ፣ urllib2 ፣ urllib ፣ tweepy
ከ flask ማስመጣት Flask ፣ ጥያቄ
ከ StringIO ማስመጣት StringIO
ከውሂብ ጊዜ ማስመጣት የጊዜ ሰአት ፣ timedelta
def tweet (mensaje):
CONSUMER_KEY = 'xxxxxxx'
CONSUMER_SECRET = 'xxxxxxxx'
ACCESS_KEY = 'xxxxxxxx'
ACCESS_SECRET = 'xxxxxxxx'
auth = tweepy. OuthHandler (CONSUMER_KEY ፣ CONSUMER_SECRET)
auth.set_access_token (ACCESS_KEY ፣ ACCESS_SECRET)
api = tweepy. API (auth ፣ parser = tweepy.parsers. JSONParser ())
tweetid = api.update_status (ሁኔታ = mensaje)
መተግበሪያ = ብልጭታ (_ ስም_)
@app.route ("/" ፣ ዘዴዎች = ['GET'])
def sismo ():
ሞክር
sismo = request.args.get ("sismo")
ከሆነ (str (sismo) == "1"):
t = datetime.now ()
ሆራ = t.strftime ("%-እኔ:%M%p")
ትዊተር ("[En Pruebas] Posible sismo en los próximos segundos ("+hora+")")
እንደ ስህተት ከሆነ ከ IOError በስተቀር ‹Fallo› ን ያትሙ
ማለፍ
በስተቀር እንደ e:
“ልዩ”+str (ሠ) ያትሙ
ማለፍ
ተመለስ "እሺ"
ደረጃ 4 - ዲታለስ ፊናሌዎች
ኮሞ ፓሶስ 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 ኬብሎች entraran.
- Con ቁሳዊ termo አስተዋይ ፣ puse los 3 ኬብሎች 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
የሚመከር:
በ GameGo ላይ በ ‹GoGo› ላይ ማለቂያ ከሌላቸው ደረጃዎች ጋር የመሣሪያ ስርዓት - 5 ደረጃዎች (ከስዕሎች ጋር)
በ GameGo ላይ በ MakeGo Arcade የመጫወቻ ማዕከል ላይ ገደብ የለሽ ደረጃዎች ያለው የመሣሪያ ስርዓት - GameGo በ TinkerGen STEM ትምህርት የተገነባ የ Microsoft Makecode ተኳሃኝ የሆነ የሬትሮ ጨዋታ ተንቀሳቃሽ ኮንሶል ነው። እሱ በ STM32F401RET6 ARM Cortex M4 ቺፕ ላይ የተመሠረተ እና ለ STEM አስተማሪዎች ወይም የሬትሮ ቪዲዮ ጨዋታን መፍጠር መዝናናትን ለሚወዱ ሰዎች ብቻ የተሰራ ነው
ቦልት - DIY ገመድ አልባ ባትሪ መሙያ የሌሊት ሰዓት (6 ደረጃዎች) 6 ደረጃዎች (ከስዕሎች ጋር)
ቦልት - DIY ገመድ አልባ ባትሪ መሙያ የሌሊት ሰዓት (6 ደረጃዎች) - ቀስቃሽ ቻርጅ (ገመድ አልባ ባትሪ መሙያ ወይም ገመድ አልባ ባትሪ በመባልም ይታወቃል) የገመድ አልባ የኃይል ማስተላለፊያ ዓይነት ነው። ለተንቀሳቃሽ መሣሪያዎች ኤሌክትሪክ ለማቅረብ የኤሌክትሮማግኔቲክ ማነሳሳትን ይጠቀማል። በጣም የተለመደው ትግበራ Qi ሽቦ አልባ ባትሪ መሙያ ጣቢያ ነው
አርዱinoኖ የተቆጣጠረው ሮቦቲክ ክንድ ወ/ 6 የነፃነት ደረጃዎች 5 ደረጃዎች (ከስዕሎች ጋር)
አርዱinoኖ የሚቆጣጠረው ሮቦቲክ ክንድ ወ/ 6 የነፃነት ደረጃዎች-እኔ የሮቦት ቡድን አባል ነኝ እና ቡድናችን በየዓመቱ በአነስተኛ ሚኒ ሰሪ ፋየር ውስጥ ይሳተፋል። ከ 2014 ጀምሮ ለእያንዳንዱ ዓመት ዝግጅት አዲስ ፕሮጀክት ለመገንባት ወሰንኩ። በወቅቱ ፣ አንድ ነገር ለማስቀመጥ ከክስተቱ አንድ ወር ገደማ ነበረኝ
በቀላል ደረጃዎች እና ስዕሎች ኮምፒተርን እንዴት መበተን እንደሚቻል -13 ደረጃዎች (ከስዕሎች ጋር)
በቀላል ደረጃዎች እና ስዕሎች ኮምፒተርን እንዴት እንደሚበትኑ - ይህ ፒሲን እንዴት እንደሚፈታ መመሪያ ነው። አብዛኛዎቹ መሠረታዊ ክፍሎች ሞዱል እና በቀላሉ ይወገዳሉ። ሆኖም ስለ እሱ መደራጀት አስፈላጊ ነው። ይህ ክፍሎችን እንዳያጡ እና እንዲሁም እንደገና መሰብሰብን ea ለማድረግ ይረዳዎታል
በአርዱዲኖ ላይ የተመሠረተ ኤልኢዲ “ደም ቀይ” አውቶማቲክ ደረጃዎች 5 ደረጃዎች (ከስዕሎች ጋር)
በአርዱዲኖ ላይ የተመሠረተ ኤልኢዲ “ደም ቀይ” አውቶማቲክ ደረጃዎች-ምን? ሰላም! እየደማ የ LED ደረጃዎችን ሠርቻለሁ! ከዚህ ቀደም እኔ ከነበረው እኔ ቀደም ሲል የሠራሁትን አንዳንድ የሃርድዌር ጭነት የሚጠቀም አዲስ አስተማሪዎች። እስከዚያ ድረስ በራስ -ሰር እንዲነቃ ለማድረግ የደም ጠብታዎችን የሚመስል የ RED እነማ ሠራሁ