جدول المحتويات:
- الخطوة 1: كومو كولوكار لوس كابلات
- الخطوة 2: كوديجو أردوينو
- الخطوة الثالثة: كوديجو بايثون
- الخطوة 4: Detalles النهائيات
فيديو: أليرتا سيسميكا تيمبرانا: 4 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
شرح بريف
Durante un sismo se Producten 3 نصائح للعملية الأولية ، عن طريق الدخول 8 سنوات 13 كم / ثانية ، تسجيل من خلال los equipos sismógrafos.
توجد أجهزة استشعار موجودة ، وهي موجودة في حالة تأهب ، وكشف عن حالات الطوارئ ، ومعرفة ما قبل السيسمو.
El presente proyecto busca crear un sistema de alerta sísmica temprana en twitter.
المواد المستخدمة
- 1 Arudino UNO (Costo aprox. 25 دولارًا أمريكيًا)
- 1 Arduino Shield Ehternet (Costo Aprox 24 دولارًا أمريكيًا)
- 1 منبه الزلزال (Costo Aprox. 30 دولارًا أمريكيًا)
- 1 Placa de Circuito Impresa para prototipos (Costo Aprox. $ 0.60 usd) o una protoboard
- 3 كبلات Jumper de diferentes ملونة (Costo Aprox. 0.30 دولار أمريكي)
- 1 Conector de batería de 9V (Costo Aprox. 0.30 دولار أمريكي)
- Cautin y Soldadura
الخطوة 1: كومو كولوكار لوس كابلات
Para poder hacer nuestro proyecto sin tener que abrir el sensor "Quake Alarm"، 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.
El "Quake Alarm" tiene un parlante para emitir una alerta si detective 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 cables:
5v - A0 - كابل زنجي من البطاريات
الكابلات الأولية ذات الجهد 5 فولت مع حساس هوائي ، 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 فولت ، الكابلات الزنوجية ، والكابل الأسود ، والسلسلة ، والرجوع إلى السلبيات ، والتعامل مع أجهزة الاستشعار.
الخطوة 2: كوديجو أردوينو
En el Arduino vamos a crear un código que nos va a allowir 2 cosas:
- Leer el voltaje para buscar cambios
- 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 Completeo y donde descargarlo.
Para iniciar vamos a incluir las librerías necesarias para poder usar el shield ethernet y el series.
#يشمل
#يشمل
Luego vamos a crear una constante que va a tener el PIN Analógico que vamos a usar
#define QUAKEALARM A0
تأكد من تحديد متغيرات las que nos van a ayudar al procesamiento de la variación de voltaje y el tiempo para hacer la llamada al servicio web.
استاتيكية ديفيرنسيا ؛
int qaVal = 0 ؛ int qaPreVal = 0 ؛
عتبة int = 10 ؛
int interaloTiempo = 5000 ؛ // Intervalo de tiempo entre dos llamadas al servicio web
طويل
ultimaConexion = 0 ؛ // Tiempo en milisegundos desde la ultima conexion al servicio web
Ahora crear las variables para el uso del ethernet، donde Definimos el MAC de la tarjeta de red، la IP que usará esta tarjeta y la clase de tipo Ethernet العميل المراد استخدامه من قِبل المستخدم الأحمر. También vamos a Definir la IP del servidor que recibirá lo datos.
بايت ماك = {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 ، librerías y clases listas podemos iniciar el programa queENDrá nuestro Arduino:
- انسياليزاموس المسلسل أ 57600
- Luego le decimos al arduino que el pin A0 (constante QUAKEALARM) lo vamos a usar como un pin de entrada.
- نهائي iniciamos la tarjeta de red.
إعداد باطل () {Serial.begin (57600) ؛ pinMode (QUAKEALARM ، INPUT) ؛
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 underferior a 5v que haga una llamada al servidor y por medio de GET le manda el valor 1 a la variable "sismo". también filtra para que enjoya un lapso de tiempo de 5 segundos entre un envió de información y otro.
حلقة فارغة () {
qaVal = analogRead (QUAKEALARM) ، Diferencia = qaPreVal - qaVal ؛
إذا ((diferencia> 0) و (diferencia> = العتبة) و ((millis () - ultimaConexion)> interaloTiempo)) {
كونتادور = كونتادور + 1 ؛
Serial.print ("Sismo!") ؛
Serial.println (كونتادور) ؛
ultimaConexion = ميلي () ؛
إذا (client.connect (الخادم ، 5002)> 0) {
Serial.println ("Conecto") ؛
client.print ("GET /؟ sismo = 1") ؛ // Enviamos los datos por GET
client.println ("HTTP / 1.0") ؛
client.println ("User-Agent: Arduino 1.0") ؛
}
client.stop () ؛
client.flush () ، }
qaPreVal = qaVal ؛
}
Puedes descargar el código en github.com/bettocr/alertasismo
كوديغو كامل:
#يشمل
#يشمل
// QuakeAlarm
#define QUAKEALARM A0
// Variable que mantiene el valor الأمامي del QuakeAlarm
استاتيكية ديفيرنسيا ؛
int qaVal = 0 ؛
int qaPreVal = 0 ؛ عتبة int = 10 ؛ int interaloTiempo = 5000 ؛ // Intervalo de tiempo entre dos llamadas al servicio web long ultimaConexion = 0 ؛ // Tiempo en milisegundos desde la ultima conexion al servicio web
// متغيرات إيثرنت
// Se يقدم مراسلين los valores MAC ، IP محلي ، Puerta de Enlace y Máscara de Red
بايت ماك = {0xDE ، 0xAD ، 0xBE ، 0xEF ، 0xFE ، 0xED} ؛ بايت ip = {192، 168، 8، 20} ؛ // Direccion IP del Arduino byte server = {192، 168، 8، 11} ؛ // Direccion IP del servidor عميل EthernetClient ؛ إعداد باطل () {Serial.begin (57600) ؛ pinMode (QUAKEALARM ، INPUT) ؛ // إيثرنت إيثرنت. // Inicializamos el Ethernet Shield}
حلقة فارغة () {
qaVal = analogRead (QUAKEALARM) ،
ديفيرنسيا = qaPreVal - qaVal ؛
إذا ((diferencia> 0) و (diferencia> = العتبة) و ((millis () - ultimaConexion)> interaloTiempo)) {
كونتادور = كونتادور + 1 ؛ Serial.print ("Sismo!") ؛ Serial.println (كونتادور) ؛ ultimaConexion = ميلي () ؛ if (client.connect (server، 5002)> 0) {Serial.println ("Conecto") ؛ client.print ("GET /؟ key = 1122334455 & sismo = 1") ؛ // Enviamos los datos por GET client.println ("HTTP / 1.0") ؛ client.println ("User-Agent: Arduino 1.0") ؛ } client.stop ()؛ client.flush () ، } qaPreVal = qaVal ؛ }
الخطوة الثالثة: كوديجو بايثون
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 installar 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 Consumer Key (API Key) ، Consumer Secret (API Secret) ، Access Token y Access Token Secret. y en la función tweet cambiar las xxxxx por sus respectivos valores.
Pueden descargar el código completeo en github.com/bettocr/alertasismo o copiarlo a Continación:
#! / usr / bin / python2.7
# - * - الترميز: utf-8 - * -
طلبات الاستيراد ، urllib2 ، urllib ، tweepy
من قارورة استيراد القارورة ، طلب
من StringIO import StringIO
من datetime استيراد التاريخ والوقت ، timedelta
تغريدة def (mensaje):
CONSUMER_KEY = "xxxxxxx"
CONSUMER_SECRET = "xxxxxxxx"
ACCESS_KEY = "xxxxxxxx"
ACCESS_SECRET = "xxxxxxxx"
المصادقة = 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 (الحالة = mensaje)
التطبيق = قارورة (_ name_)
@ app.route ("/"، methods = ['GET'])
def sismo ():
محاولة:
sismo = request.args.get ("sismo")
إذا (str (sismo) == "1"):
t = datetime.now ()
هورا = t.strftime ("٪ - I:٪ M٪ p")
tweet ("[En Pruebas] Posible sismo en los próximos segundos (" + hora + ")")
باستثناء خطأ IOError: اطبع "Fallo"
يمر
باستثناء الاستثناء كـ e:
طباعة "استثناء" + str (e)
يمر
العودة "موافق"
الخطوة 4: Detalles النهائيات
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 cables entraran.
- كون مادة محسوسة ، كابلات 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 شرم بوت كيو hice يخدع estos pasos أونSismoTico
موصى به:
كيف تصنع عداد خطوات؟: 3 خطوات (بالصور)
How to Make Step Counter؟: اعتدت أن أؤدي أداءً جيدًا في العديد من الرياضات: المشي والجري وركوب الدراجة ولعب كرة الريشة وما إلى ذلك ، أحب ركوب الخيل للسفر في وقت قريب. حسنًا ، انظر إلى بطني المنتفخ … حسنًا ، على أي حال ، قررت إعادة التمرين. ما هي المعدات التي يجب أن أحضرها؟
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): 6 خطوات
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): هل تريد تخويف أصدقائك وإحداث بعض ضوضاء الصراخ في عيد الهالوين؟ أو تريد فقط عمل مزحة جيدة؟ يمكن لشاشة الزومبي المنبثقة القيام بذلك! في هذا Instructable ، سوف أعلمك كيفية جعل زومبي القفز للخارج بسهولة باستخدام Arduino. HC-SR0
وحدة تحكم أتاري بانك مع جهاز التسلسل 8 خطوات للأطفال: 7 خطوات (بالصور)
وحدة التحكم Atari Punk مع جهاز التسلسل المكون من 8 خطوات للأطفال: هذا التصميم الوسيط هو وحدة التحكم Atari Punk المتكاملة وجهاز التسلسل 8 خطوات للأطفال الذي يمكنك طحنه على آلة طحن PCB لسطح المكتب من Bantam Tools. إنها مكونة من لوحين للدائرة: أحدهما عبارة عن لوحة واجهة مستخدم (UI) والآخر عبارة عن لوحة مساعدة
بولت - ساعة ليلية للشحن اللاسلكي DIY (6 خطوات): 6 خطوات (بالصور)
Bolt - ساعة شحن لاسلكية DIY (6 خطوات): الشحن الاستقرائي (المعروف أيضًا باسم الشحن اللاسلكي أو الشحن اللاسلكي) هو نوع من نقل الطاقة اللاسلكي. يستخدم الحث الكهرومغناطيسي لتوفير الكهرباء للأجهزة المحمولة. التطبيق الأكثر شيوعًا هو Qi wireless charge st
كيفية عمل فيديو منقسم الشاشة بأربع خطوات: 4 خطوات (بالصور)
كيفية عمل فيديو منقسم الشاشة بأربع خطوات: غالبًا ما نرى نفس الشخص يظهر في مشهد مرتين في مسرحية تلفزيونية. وبقدر ما نعلم ، ليس للممثل أخ توأم. لقد شاهدنا أيضًا أنه يتم وضع مقطعي فيديو غنائيين على شاشة واحدة لمقارنة مهاراتهم الغنائية. هذه هي قوة الانطباع