İçindekiler:
- Adım 1: Como Colocar Los Kabloları
- Adım 2: Código Arduino
- Adım 3: Código Python
- 4. Adım: Finalleri Detalles
Video: Alerta Sísmica Temprana.: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Açıklama
Durante un sismo se, 3 tipos de ondas la primaria o Pque es la önemlie para este proyecto, viaja entre 8 y 13 km/s y es kayıtlar por los eposipo sismógrafos.
Varolan sensörler, alarmlar, uyarılar için uyarılar ve kontroller P, dandonos unos segundos antes que el sismo suceda.
Twitter'daki mevcut sistem ve uyarıları değiştir.
Materyaller bir utilizar
- 1 Arudino UNO (Maliyet yaklaşık 25 usd)
- 1 Arduino Shield Ehternet (Maliyet Yaklaşık 24 ABD Doları)
- 1 Deprem Alarmı (Yaklaşık 30 ABD Doları Maliyet)
- 1 Placa de Circuito impresa para prototipos (Costo Aprox. 0,60 USD) veya bir protoboard
- 3 Kablo Farklı renklerde Jumper (Maliyet Yaklaşık. 0,30 ABD Doları)
- 1 Conector de batería de 9V (Yaklaşık Maliyet. 0,30 ABD Doları)
- Cautin ve soldadura
Adım 1: Como Colocar Los Kabloları
"Deprem Alarmı" sensörünün en güncel hali.
El Arduino le dará 5v al sensor con los que va a poder funcionar bien.
"Deprem Alarmı", parlamenter olmayan bir uyarıyı, tüm uyarıları ve koşulları tespit etmeyi mümkün kılıyor.
En el siguiente orden se deben poner los kabloları:
5v - A0 - Kablo negro del connector de batería
Primero el kablosu 5V beslenme sensörü, luego el A0 que va bir monitör kulak el cihazı ve finalmente el Kablo negro del bağlayıcı.
En otra fila conectamos el kablo Negro que viene el Arduino ve kablo rojo que viene del bağlayıcı.
una vez los tengamos en este orden soldamos para que la elektirikli pase giriş ellos.
9V al sensör için önemli bağlantı ve konektör, kablo negro pasa a ser el positivo y el rojo el negatif, çok cuidado con esto.
Adım 2: Código Arduino
En el Arduino vamos a crear un código que nos va a a allow 2 cosas:
- Leer el ile para buscar cambios
- Si hay variación en eluna hacer una servicio web
Açıklayıcı olmayan bir açıklama, hiçbir sorun yaşamadan, derin bir açıklamanın yapılmasına izin verir.
Para iniciar vamos a incluir las librerías necesarias para poder usar el kalkan ethernet y el seri.
#Dahil etmek
#Dahil etmek
Luego vamos a crear una sabite que va a tener el PIN Analógico que vamos a usar
#define QUAKEALARM A0
Seguido tanımları las değişkenleri sıraya koyan bir ayudar al procesamiento de la variación de la variación de la variación de l el tiempo para hacer la lamada al servicio web.
statik int farklılıklar;
int qaVal = 0;int qaPreVal = 0;
int eşik = 10;
int intervaloTiempo = 5000; // Web'e giriş aralığı
uzun
ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web
Ethernet'ten bağımsız değişkenler, Ethernet'ten bağımsız değişkenler, MAC'leri tanımlayan, kırmızı'yı belirleyen, IP'yi kullananlar, Ethernet İstemci'yi kullanan değişkenler. También vamos, kesin olarak tanımlanmış bir IP adresidir.
bayt mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
bayt ip = { 192, 168, 15, 120 }; // Arduino'nun Yön IP'si
bayt
sunucu = { 192, 168, 15, 111 }; //Direccion IP sunucu sunucusu
EthernetClient istemcisi;
Ya con las değişkenleri, librerías y classes listas podemos iniciar el programa que tendrá nuestro Arduino:
- Incializamos el seri bir 57600
- Luego le decimos al arduino que el pin A0(constante QUAKEALARM) lo vamos ve usar como un pin de entrada.
- Finalmente iniciamos la tarjeta de red.
geçersiz kurulum () { Serial.begin(57600); pinMode(QUAKEALARM, GİRİŞ);
Ethernet.begin(mac, ip); // Inicialisamos ve Ethernet Kalkanı
}
Y para terminar el program, ponemos en una función cíclica que revize el l e s es es es alt bir 5v que haga un llamada al servidor y por medio de GET le manda el valor 1 a la değişken "sismo". También filtra para que varolu olmayan bir aradan sonra, 5 gün boyunca, en yakın çevredeki enformasyon y otro'ya giriş yapın.
boşluk döngüsü () {
qaVal = analogRead(QUAKEALARM); farklılık = qaPreVal - qaVal;
if ((diferencia > 0) ve (diferencia >= eşik) ve ((millis() - ultimaConexion) > intervaloTiempo)) {
contador = contador + 1;
Serial.print("Sismo!");
Serial.println(contador);
ultimaConexion = millis();
if (client.connect(sunucu, 5002)>0) {
Serial.println("Conecto");
client.print("GET /?sismo=1"); // GET için enviamos verileri
client.println("HTTP/1.0");
client.println("Kullanıcı-Aracı: Arduino 1.0");
}
istemci.durdur();
client.flush(); }
qaPreVal = qaVal;
}
Puedes descargar el código en github.com/bettocr/alertasismo
Código tamamlandı:
#Dahil etmek
#Dahil etmek
// Deprem Alarmı
#define QUAKEALARM A0
// Değişken que mantiene el valor anterior del QuakeAlarm
statik int farklılıklar;
int qaVal = 0;
int qaPreVal = 0; int eşik = 10; int intervaloTiempo = 5000; // Aralığın en iyi şekilde kullanılması, web uzun ultimaConexion = 0; // Tiempo en milisegundos desde la ultima conexion al servicio web
// Değişkenler Ethernet
//Bir MAC, IP yerel, Puerta de Enlace ve Máscara de Red için los valores karşılıkları tanıtıldı
bayt mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; bayt ip = { 192, 168, 8, 20 }; // Direccion IP del Arduino bayt sunucusu = { 192, 168, 8, 11 }; // Direccion IP sunucusu EthernetClient istemcisi; geçersiz kurulum () { Serial.begin(57600); pinMode(QUAKEALARM, GİRİŞ); // ethernet Ethernet.begin(mac, ip); // Inicialisamos ve Ethernet Kalkanı }
boşluk döngüsü () {
qaVal = analogRead(QUAKEALARM);
farklılık = qaPreVal - qaVal;
if ((diferencia > 0) ve (diferencia >= eşik) ve ((millis() - ultimaConexion) > intervaloTiempo)) {
contador = contador + 1; Serial.print("Sismo!"); Serial.println(contador); ultimaConexion = millis(); if (client.connect(sunucu, 5002)>0) { Serial.println("Conecto"); client.print("GET /?key=1122334455&sismo=1"); // GET client.println(" HTTP/1.0"); client.println("Kullanıcı-Aracı: Arduino 1.0"); } müşteri.durdur(); client.flush(); } qaPreVal = qaVal; }
Adım 3: Código Python
5002 sunucuyu (Raspberry Pi'yi en iyi şekilde kullanarak), Arduino'yu enviar ve Tuit'te kullanabilirsiniz.
İthalatçı denetimler için para poder uygulamacı estadísticas y en un futuro poderlo usar en algún servicio de bildirimler PUSH para móviles.
Tüketici Anahtarı (API Anahtarı), Tüketici Sırrı (API Sırrı), Erişim Simgesi ve Erişim Simgesi Sırrı. En eğlenceli ve en eğlenceli tweet, tüm değerlerin en iyi şekilde değerlendirilmesi.
Devamını oku:
#!/usr/bin/python2.7
# -*- kodlama: utf-8 -*-
içe aktarma istekleri, urllib2, urllib, tweepy
şişeden içe aktarma Şişesi, istek
StringIO'dan StringIO'yu içe aktar
tarihsaatten içe aktarma tarihsaatinden, timedelta
def tweet(mensaje):
TÜKETİCİ_ANAHTAR = 'xxxxxxx'
TÜKETİCİ_GİZLİ = 'xxxxxxxx'
ACCESS_KEY = 'xxxxxxxx'
ACCESS_SECRET = 'xxxxxxxx'
yetki = 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)
uygulama = Şişe(_name_)
@app.route("/", yöntemler=['GET'])
tanım sismo():
denemek:
sismo = request.args.get("sismo")
if (str(sismo) == "1"):
t = tarihsaat.şimdi()
hora = t.strftime("%-I:%M %p")
tweet("[En Pruebas] Olası sismo en los proximos segundos ("+hora+")")
hata olarak IOError dışında: 'Fallo' yazdır
geçmek
e olarak İstisna hariç:
"İstisna" +str(e) yazdır
geçmek
"Tamam" dön
4. Adım: Finalleri Detalles
Como Pasos ek para darle en önemli görüntü
- Corte la Placa de Circuito sadece 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 kablolar entraran.
- Con malzeme termo sensible, puse los 3 kablolar que van al Arduino para que parezca un solo kablo.
- Y para poner el arduino en la pared, yüksek la impresión 3D de este mount
Pueden seguir el bot que hice con estos pasos en @SismoTico
Önerilen:
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: 7 Adım (Resimlerle)
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: Bu Rapsberry PI'yi blogumda bir sürü eğlenceli projede kullanmayı planlıyorum. Kontrol etmekten çekinmeyin. Raspberry PI'mi kullanmaya geri dönmek istedim ama yeni konumumda Klavye veya Farem yoktu. Ahududu kurduğumdan beri bir süre geçti
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
Bisiklet Koruyucu: Sistema De Alerta DIY Para Ciclistas: 4 Adım
Bikesaver: DIY Para Ciclistas Sistemi: Bisiklet Koruma sistemleri, aydınlatma için sistem ve uyarılar dahil olmak üzere, enfoque de la comunidad Maker para que un ciclista pueda crear, propio sistema de illuminación, así mejorar, the diğ. y noche.El sis
Kolay Adımlar ve Resimlerle Bilgisayar Nasıl Sökülür: 13 Adım (Resimlerle)
Kolay Adımlar ve Resimlerle Bir Bilgisayar Nasıl Sökülür: Bu, bir PC'nin nasıl söküleceği hakkında bir talimattır. Temel bileşenlerin çoğu modülerdir ve kolayca çıkarılabilir. Ancak bu konuda organize olmanız önemlidir. Bu, parçaları kaybetmenize ve aynı zamanda yeniden birleştirmeyi kolaylaştırmaya yardımcı olacaktır
Adım Adım Ciclop 3d Tarayıcı My Way: 16 Adım (Resimlerle)
Adım Adım Ciclop 3d Tarayıcı Adım Adım: Merhabalar, ünlü Ciclop 3D tarayıcıyı gerçekleştireceğim. Orijinal projede iyi açıklanan tüm adımlar mevcut değil. Öncelikle işlemi basitleştirmek için bazı düzeltmeler yaptım. Tabanı yazdırıyorum ve PCB'yi yeniden sterilize ediyorum, ama devam et