Portál a fürdőszoba felújításáról. Hasznos tippek

Otthoni riasztó vagy mozgásérzékelő és LCD monitor használata Arduino-val. Biztonsági riasztó létrehozása Arduino és infravörös alapú mozgásérzékelővel Az SD memóriakártya modul főbb jellemzői

Az elmúlt évtizedben az autólopások az egyik legjelentősebb helyet foglalták el az elkövetett bűncselekmények szerkezetében a világon. Ez nem annyira a lopás ezen kategóriájának fajsúlyának köszönhető teljes szám bűncselekmények, milyen jelentős az okozott kár az autók magas költsége miatt. A gépjárműlopások elleni küzdelem terén hozott intézkedések gyenge hatékonysága a 90-es évek végére olyan stabil csoportok létrejöttéhez vezetett, amelyek ezen bűncselekmények elkövetésére és birtoklására szakosodtak. megkülönböztető jellegzetességek szervezett bűnözés; Valószínűleg hallottad már a „fekete autóüzlet” kifejezést. Az európai országok autóparkjából évente körülbelül 2%-a hiányzik azoknak az autóknak, amelyek bűncselekmények áldozatává válnak. Ezért jött az ötlet, hogy készítsek egy GSM riasztót az autómhoz Arduino alapú Uno.

Kezdjük!

Miből fogunk gyűjteni?

Ki kell választanunk rendszerünk szívét. Véleményem szerint az ilyen jelzésekhez semmi sem jobb, mint az Arduino Uno. A fő kritérium a megfelelő számú „csap” és az ár.


Az Arduino Uno főbb jellemzői

Mikrokontroller - ATmega328
Üzemi feszültség - 5 V
Bemeneti feszültség (ajánlott) - 7-12 V
Bemeneti feszültség (határérték) - 6-20 V
Digitális bemenetek/kimenetek - 14 (ebből 6 használható PWM kimenetként)
Analóg bemenetek - 6
Egyenáram a bemeneten/kimeneten keresztül - 40 mA
Állandó áram a kimenethez 3,3V - 50mA
Flash memória - 32 KB (ATmega328), ebből 0,5 KB a rendszerbetöltő
RAM - 2 KB (ATmega328)
EEPROM – 1 KB (ATmega328)
Órajel frekvencia - 16 MHz


Illik!

Most egy GSM modult kell választani, mert riasztórendszerünknek tudnia kell értesíteni az autó tulajdonosát. Tehát "Google" kell... Itt egy kiváló érzékelő - SIM800L, a mérete egyszerűen csodálatos.


Gondoltam és Kínából rendeltem. Kiderült azonban, hogy nem minden olyan rózsás. Az érzékelő egyszerűen nem volt hajlandó regisztrálni a SIM-kártyát a hálózaton. Minden lehetségest kipróbáltak – az eredmény nulla volt.
Megtalált jó emberek aki többet nyújtott nekem menő dolog- Sim900 Shield. Ez most komoly dolog. A Shield mikrofon- és fejhallgató-csatlakozóval is rendelkezik, így teljes értékű telefon.


A Sim900 Shield főbb jellemzői

4 működési frekvencia szabvány 850/900/1800/1900 MHz
GPRS multi-slot osztály 10/8
B osztályú GPRS mobilállomás
Megfelel a 2/2+ GSM fázisnak
4. osztály (2 W @ 850/900 MHz)
1. osztály (1 W @ 1800/1900 MHz)
Vezérlés AT parancsokkal (GSM 07.07, 07.05 és SIMCOM kiterjesztett AT parancsok)
Alacsony energiafogyasztás: 1,5 mA (alvó üzemmód)
Működési hőmérséklet tartomány: -40°C és +85°C között


Illik!

Rendben, de le kell olvasnia néhány érzékelőt, hogy értesítse a tulajdonost. Ha az autót elvontatják, akkor nyilvánvalóan megváltozik az autó helyzete a térben. Vegyünk egy gyorsulásmérőt és egy giroszkópot. Nagy. Rendben, most érzékelőt keresünk.

Szerintem a GY-521 MPU6050 biztosan belefér. Kiderült, hogy hőmérséklet érzékelő is van benne. Használnunk is kellene, lesz ilyen „killer funkció”. Tegyük fel, hogy az autó tulajdonosa leparkolta a háza alatt, és elment. Az autó belsejében a hőmérséklet „simán” fog változni. Mi történik, ha egy behatoló megpróbál betörni az autóba? Például képes lesz kinyitni az ajtót. Az autó hőmérséklete gyorsan változni kezd, ahogy az utastér levegője keveredni kezd a levegővel környezet. Szerintem menni fog.


A GY-521 MPU6050 főbb jellemzői

3 tengelyes giroszkóp + 3 tengelyes GY-521 gyorsulásmérő modul MPU-6050 chipen. Lehetővé teszi egy tárgy helyzetének és mozgásának meghatározását a térben, szögsebességét forgás közben. Beépített hőmérséklet-érzékelővel is rendelkezik. Különböző helikopterekben és repülőgépmodellekben alkalmazzák a mozgásrögzítő rendszert is ezekre az érzékelőkre alapozva.

Chip - MPU-6050
Tápfeszültség - 3,5 V-tól 6 V-ig (DC);
Giroszkóp hatótávolsága - ±250 500 1000 2000°/s
A gyorsulásmérő tartománya - ±2±4±8±16g
Kommunikációs interfész - I2C
Mérete - 15x20 mm.
Súly - 5 g


Illik!

Egy rezgésérzékelő is jól jön. Hirtelen „nyers erővel” próbálják kinyitni az autót, vagy a parkolóban egy másik autó elüti az autóját. Vegyük az SW-420 rezgésérzékelőt (állítható).


Az SW-420 főbb jellemzői

Tápfeszültség - 3,3 - 5V
Kimeneti jel - digitális magas/alacsony (normál zárt)
Használt érzékelő - SW-420
A használt összehasonlító LM393
Méretek - 32x14 mm
Ezenkívül - van egy beállító ellenállás.


Illik!

Csavarja fel az SD memóriakártya modult. Naplófájlt is írunk.


Az SD memóriakártya modul főbb jellemzői

A modul lehetővé teszi a mikrokontroller alapú készülék működéséhez szükséges adatok tárolását, olvasását és SD kártyára írását. Az eszköz használata akkor releváns, ha több tíz megabájttól két gigabájtig terjedő fájlokat tárol. A kártya tartalmaz egy SD-kártya tárolót, egy kártya teljesítménystabilizátort, valamint egy csatlakozódugót az interfészhez és a tápvezetékekhez. Ha hanggal, videóval vagy más nagyszabású adatokkal kell dolgoznia, például eseményeket, érzékelőadatokat naplózni vagy webszerver-információkat tárolni, akkor az Arduino-hoz készült SD memóriakártya modul lehetővé teszi ezekhez az SD-kártya használatát. célokra. A modul segítségével tanulmányozhatja az SD-kártya tulajdonságait.
Tápfeszültség - 5 vagy 3,3 V
SD-kártya memóriakapacitása - akár 2 GB
Méretek - 46 x 30 mm


Illik!

És adjunk hozzá egy szervo meghajtót, amikor az érzékelők működésbe lépnek, a szervo meghajtó a videórögzítővel megfordul, és videót készít az eseményről. Vegyük az MG996R szervohajtást.


Az MG996R szervohajtás főbb jellemzői

Stabil és megbízható védelem sérüléstől
- Fém meghajtó
- Kétsoros golyóscsapágy
- Vezeték hossza 300 mm
- Méretek 40x19x43mm
- Súly 55 g
- Forgatási szög: 120 fok.
- Működési sebesség: 0,17 mp/60 fok (4,8 V terhelés nélkül)
- Működési sebesség: 0,13 mp/60 fok (6V terhelés nélkül)
- Indítási nyomaték: 9,4 kg/cm 4,8 V tápfeszültség mellett
- Indítónyomaték: 11kg/cm 6V tápegységgel
- Üzemi feszültség: 4,8 - 7,2V
- Minden meghajtó alkatrész fémből készült


Illik!

Gyűjtjük

Az egyes érzékelők csatlakoztatásáról a Google-ban nagy mennyiség cikkeket. És nincs kedvem új kerékpárokat feltalálni, ezért hagyok linkeket az egyszerű és működő lehetőségekhez.

Szia kedves olvasó! A mai cikk egy egyszerű létrehozásáról szól otthoni rendszer biztonság, használata elérhető komponensek. Ez a kicsi és olcsó eszköz segít megvédeni otthonát a behatolóktól Arduino, mozgásérzékelő, kijelző és hangszóró segítségével. A készülék akkumulátorról vagy a számítógép USB-portjáról üzemeltethető.

Szóval, kezdjük!

Hogyan működik?

A melegvérű állatok teste infravörös sugárzást bocsát ki, amely emberi szem számára láthatatlan, de szenzorok segítségével kimutatható. Az ilyen érzékelők olyan anyagból készülnek, amely hő hatására spontán polarizálódhat, lehetővé téve a hőforrások megjelenésének észlelését az érzékelő hatókörén belül.

A szélesebb kör érdekében Fresnel lencséket használnak, amelyek különböző irányokból gyűjtik össze az infravörös sugárzást, és magára az érzékelőre koncentrálják.

Az ábrán látható, hogy a lencse hogyan torzítja a rá eső sugarakat.

Érdemes megjegyezni, hogy a különösen forró alkatrészek nélküli és hidegvérű robotok nagyon kevés infravörös sugárzást bocsátanak ki, így előfordulhat, hogy az érzékelő nem működik, ha a Boston Dynamics alkalmazottai vagy hüllők úgy döntenek, hogy körülvesznek.

Ha változás történik a tartományban az infravörös sugárzás szintjében, akkor ezt az Arduino feldolgozza, majd az állapot megjelenik az LCD-kijelzőn, a LED villogni kezd, és a hangszóró sípol.

Mire van szükségünk?

  1. (vagy bármilyen más tábla).
  2. (16 karakter két sorban)
  3. Egy csatlakozó a korona és az Arduino csatlakoztatásához
  4. (bár használhatsz normál hangszórót is)
  5. USB kábel - csak programozáshoz ( kb. fordítás: Mindig az Arduinónkkal jár!)
  6. Számítógép (megint csak a program írására és betöltésére).

Egyébként, ha nem szeretné ezeket az alkatrészeket külön-külön megvásárolni, javasoljuk, hogy figyeljen a miénkre. Például minden, amire szüksége van, és még több is megtalálható a kezdőkészletünkben.

Kapcsolódjunk!

A mozgásérzékelő csatlakoztatása nagyon egyszerű:

  1. Csatlakoztatjuk a Vcc érintkezőt az 5V-os Arduino-hoz.
  2. Csatlakoztatjuk a Gnd érintkezőt az Arduino GND-jéhez.
  3. Az OUT érintkezőt az Arduino 7-es számú digitális tűjéhez csatlakoztatjuk

Most kössük össze a LED-et és a hangszórót. Itt is ilyen egyszerű:

  1. Csatlakoztatjuk a LED rövid lábát (mínusz) a földhöz
  2. Csatlakoztatjuk a LED hosszú lábát (plusz) az Arduino 13-as kimenetéhez
  3. Piros hangszóró vezeték a 10. számú kimenethez
  4. Fekete vezeték - a földre

És most a kemény rész az 1602 LCD-kijelző csatlakoztatása az Arduino-hoz. I2C nélküli kijelzőnk van, így sok Arduino kimenetre lesz szükségünk, de az eredmény megéri. A diagram az alábbiakban látható:

Csak az áramkör egy részére van szükségünk (potenciométerrel nem lesz kontrasztállításunk). Ezért csak a következőket kell tennie:

Most már tudja, hogyan kell 1602-es kijelzőt csatlakoztatni az Arduino UNO R3-hoz (valamint az Arduino bármely verziójához a Minitől a Megáig).

Programozás

Ideje áttérni a programozásra. Alul a kód, amit csak ki kell töltened, és ha mindent jól összeállítottál, kész is a készülék!

#beleértve int ledPin = 13; // LED pin input inputPin = 7; // Pin, amelyhez Out of the mozgásérzékelő csatlakozik, in pirState = LOW; // Aktuális állapot (az elején semmi sem észlelhető) int val = 0; // Változó a digitális bemenetek állapotának leolvasására int pinSpeaker = 10; // A tű, amelyhez a hangszóró csatlakozik. LiquidCrystal lcd(12, 11, 5, 4, 3, 2) PWM tűt igényel; // Az LCD kijelző inicializálása void setup() ( // Határozza meg az adatátvitel irányát a digitális tűkön pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // A hibakeresési információk kimenetének indítása a soros porton keresztül .begin(9600) // Kimenet indítása az LCD-kijelzőre lcd.begin(16, 2) // A kijelzők indexének beállítása, ahonnan elindítjuk a kimenetet // (2 karakter, 0 sor); ) lcd.setCursor(2, 0) ; ); // Szünet, hogy legyen ideje elolvasni, mi volt a kimeneti késleltetés (5000) // Az lcd.clear(0, 0) törlése ("Adatok feldolgozása"); lcd.setCursor(3, 0) lcd.setCursor("Motion..."); Érzékelő olvasása val = digitalRead(inputPin) if (val == HIGH) ( // Ha mozgás van, akkor gyújtsd meg a LED-et és kapcsold be a szirénát digitalWrite(ledPin, HIGH); playTone(300, 300); késleltetés(150); // Ha a mozdulatok előtt ebben a pillanatban nem volt, akkor egy üzenetet jelenítünk meg // hogy észlelték // Az alábbi kódra azért van szükség, hogy csak állapotváltozást írjunk ki, és ne írjuk ki minden alkalommal az értéket if (pirState == LOW) ( Serial.println(" Mozgás észlelve!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Motion Detected!"); pirState = HIGH; ) else ( // Ha a mozgás a digitalWrite(ledPin, LOW; playTone(0, 0) if (pirState == HIGH)( // Értesítés, hogy mozgás történt, de már véget ért Serial.println("Motion ended!"); (); lcd.setCursor("Várakozás"(3, 1) // Hanglejátszási funkció. Időtartam (időtartam) - milliszekundumban, Freq (frekvencia) - Hz-ben void playTone (hosszú időtartam, int frekvencia) ( időtartam *= 1000; int periódus = (1,0 / frekvencia) * 100 000; hosszú eltelt_idő = 0; míg (eltelt_idő)< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }


Hogyan készítsünk egyszerű GSM riasztórendszert a SIM800L és az Arduino használatával garázsba vagy nyaralóba. Mi magunk készítjük az Aliexpress kész moduljaival. Fő modulok– SIM800L GSM modul, Arduino Nano (bármilyen Uno-t használhatsz, stb.), leléptető kártya, mobiltelefon akkumulátor.

Rizs. 1. Modul elrendezés riasztó az Arduino-n

Riasztógyártás

Felszállunk kenyérdeszka a párnákon keresztül, ami lehetővé teszi a modulok szükség esetén cseréjét. Kapcsolja be a riasztót úgy, hogy 4,2 voltos tápfeszültséget ad a SIM800L és az Arduino Nano kapcsolóján keresztül.



Amikor az első hurok aktiválódik, a rendszer először az első számot hívja, majd megszakítja a hívást, és visszahívja a második számot. A második szám arra az esetre lett hozzáadva, ha az első hirtelen megszakad stb. A második, harmadik, negyedik és ötödik hurok indításakor egy SMS-t küld a kiváltott zóna számával, szintén két számra. A diagram és a vázlat az érdeklődők számára a videó alatt található leírásban.
Minden elektronikát megfelelő házba helyezünk.



Ha nincs szüksége 5 kábelre, csatlakoztassa az 5 V-os Arduino tűt a szükségtelen bemenetekhez. GSM riasztórendszer 5 hurokhoz akkumulátorral, amely lehetővé teszi, hogy a készülék több napig önállóan működjön, még áramszünet esetén is. Bármilyen biztonsági érintkező-érzékelőt, reléérintkezőt, stb. csatlakoztathat hozzájuk. Ennek eredményeként egy egyszerű, olcsó, kompakt terméket kapunk biztonsági eszköz SMS küldéssel és 2 szám tárcsázásával. Használható dacha, lakás, garázs stb. védelmére.

További részletek a videóban

Ma arról fogunk beszélni, hogyan kell használni Arduino gyűjt biztonsági rendszer. A mi „biztonságunk” egy áramkört őriz és egy szirénát vezérel.

Az Arduino esetében ez nem jelent problémát, és ahogy a programkódból és az eszközdiagramból is látszik, könnyedén növelheti a védett hozzáférési pontok számát és az értesítő vagy jelző eszközök számát.
Biztonsági rendszer egyaránt használható nagy tárgyak (épületek és építmények), és kisebb tárgyak (dobozok, széfek), sőt hordozható tokok és bőröndök védelmére is. Bár ez utóbbival vigyázni kell, de ha biztonsági rendszert szerel fel például egy bőröndre, amivel úgy dönt, hogy utazik, és valamelyik repülőtéren kialszik a figyelmeztető rendszer, akkor szerintem komoly beszélgetést folytat a helyi biztonsági szolgálat :-)

A készülék egyszerűsített működési elve a következő (1. ábra). A tápfeszültség bekapcsolása után a készülék működési módba lép, és vár az élesítésre. Az élesítés és hatástalanítás egy gombbal történik. A biztonság növelése érdekében jobb, ha ezt a gombot védett területen belül (széf vagy doboz) helyezi el. A biztonsági mód bekapcsolása előtt az ajtót kissé ki kell nyitni. Amikor bekapcsolja a biztonsági módot (nyomja meg a gombot) elektronikus áramkör megvárja, amíg bezárja a szoba ajtaját (széfajtó, doboz fedele stb.).

Az ajtóra (vagy ajtóra) bármilyen típusú végálláskapcsolót kell felszerelni, erről később. Zárással (vagy nyitással) a végálláskapcsoló tájékoztatja a készüléket, hogy a védett áramkör zárva van, és a készülék biztonsági módba lép. A rendszer két rövid jelzéssel értesíti Önt a biztonsági módba lépésről (mint pl autóriasztók). Ebben az üzemmódban a készülék „elkapja” az ajtónyílást. Az ajtó kinyitása után a rendszer vár néhány másodpercet (ez egy állítható érték, szobáknál körülbelül tíz másodpercet, egy doboznál egy-kettőt), hogy a biztonsági mód kikapcsoljon, ha ez nem történik meg, a sziréna bekapcsol. Az algoritmus és az áramkör úgy van kialakítva, hogy a szirénát csak a ház teljes szétszerelésével és az áramellátás kikapcsolásával tudja kikapcsolni.

Eszköz biztonsági rendszer nagyon egyszerű (2. ábra). A tábla alapján Arduino. A végálláskapcsolók normál gombként vannak csatlakoztatva, felhúzó ellenállásokon keresztül. A végkapcsolókra külön kitérek. Normál esetben zártak vagy nyitottak. Normál gombot végálláskapcsolóként bekapcsolhatunk, csak egy normál gomb útja nagyon nagy, az ajtó holtjátéka általában nagyobb. Ezért ki kell találni valamilyen nyomógombot a gombhoz, és meg kell rugózni, hogy ne törje el a gombot az ajtóval. Nos, ha nem vagy túl lusta, elmehetsz a boltba és vásárolhatsz mágneses kapcsoló(reed kapcsoló) (3. ábra), nem fél a portól és a szennyeződéstől.

Az autóriasztók végálláskapcsolója is megfelelő (4. ábra). Megjegyzendő, hogy a program reed kapcsolóra van írva. Nál nél zárt ajtóérintkezője zárva van. Ha autóriasztó kapcsolót használ, akkor az ajtó zárásakor nagy valószínűséggel nyitva lesz, és a kód megfelelő helyein 0-ról 1-re kell változtatnia és fordítva.

Szirénaként a Fehéroroszországban gyártott PKI-1 IVOLGA hangszirénát javaslom (5. ábra). Tápfeszültség 9 - 15 V, üzemi áram 20 - 30 mA. Ez lehetővé teszi az akkumulátoros használatot. Ugyanakkor 95-105 dB „termel”.

Ilyen jellemzőkkel több tíz percig szól a Krona akkumulátorból. 110 rubelért találtam az interneten. Ott egy mágneses reed kapcsoló körülbelül 30 rubelbe kerül. Az autóriasztó kapcsolót az autóalkatrészeknél vásárolták 28 rubelért. A KT315 tranzisztort tetszőleges betűvel lehet venni, vagy bármilyen modern kis teljesítményű, megfelelő vezetőképességű szilícium tranzisztorra cserélni. Ha egy sziréna hangereje nem elég (ki tudja, lehet, hogy sok kilométerről akarja hallani), akkor több szirénát is csatlakoztathat párhuzamosan, vagy vehet egy erősebbet, csak ebben az esetben a tranzisztort ki kell cserélni. egy erősebb (például az ismerős ULN2003 tranzisztor-szerelvény). A reed kapcsoló és a sziréna csatlakoztatásához a legegyszerűbb csatlakozókat használtam az audio/video eszközökhöz - a rádiós piacon az ára 5 rubel. egy párnak.

A készülék teste összeragasztható műanyagból vagy rétegelt lemezből; ha egy komoly tárgyat védenek, akkor jobb, ha fémből készítik. A megbízhatóság és a biztonság növelése érdekében ajánlatos elemeket vagy akkumulátorokat elhelyezni a tok belsejében.

A programkód egyszerűsítése érdekében nem használtak energiatakarékos elemeket, és az elemek sem bírják sokáig. A megszakítási eseményfeldolgozás és az MK alvó üzemmód használatával optimalizálhatja a kódot, vagy még jobb, ha radikálisan újrakészítheti. Ebben az esetben a sorosan kapcsolt két négyzet alakú akkumulátor teljesítményének (9 V) több hónapra elegendőnek kell lennie.

Most a kód

// állandók
const int gomb = 12; // pin a gombhoz
const int gerkon = 3; // tű a reed kapcsolóhoz
const int sziréna = 2; // szirénavezérlő tű
const int led = 13; // jelzőcsap
// változók
int gombÁllapot = 0; // gomb állapota
int gerkonState = 0; // Reed kapcsoló állapota
int N = 0; // hatástalanító gomb számláló
void setup() (
// vezérlő sziréna és jelző - kimenet
pinMode(sziréna, OUTPUT);
pinMode(led, OUTPUT); // gomb és reed kapcsoló - bemenetek
pinMode(gerkon, INPUT);
pinMode(gomb, INPUT);
}
void loop()
digitalWrite(led, HIGH);
while(buttonState= =0)( // várakozási ciklus, amíg meg nem nyomjuk a gombot
gombállapot = digitalRead(button); // biztonsági módba váltáshoz
}
digitalWrite(led, LOW);
gombállapot = 0; // visszaállítja a gomb értékét
while(gerkonState= =0)( // ciklus, amíg be nem zárjuk az ajtót

}
késleltetés(500); // :-)
digitalWrite(sziréna, HIGH); // Kód
késleltetés(100); // jelzések
digitalWrite(sziréna, LOW); // engedélyezze
késleltetés(70); // módban
digitalWrite(sziréna, HIGH); // Biztonság
késleltetés(100); // értesítés
digitalWrite(sziréna, LOW); // hang
while(gerkonState= =1)( // várja meg, amíg kinyílik az ajtó
gerkonState = digitalRead(gerkon);
}
for (int i=0; i<= 5; i++){ // 7,5 секунды на нажатие
gombállapot = digitalRead(button); // titkos gomb
if (buttonState = = HIGH) ( // nyomon követni a miénket – valaki másé
N=N+1;
}
késleltetés(1500); // titkos funkció :-)))
}
if (N > 0) ( // a legfontosabb dolog
digitalWrite(sziréna, LOW); // ne kapcsold be a szirénát
}
más(
digitalWrite(sziréna, HIGH); // vagy kapcsolja be a szirénát
}
digitalWrite(led, HIGH); // bekapcsolja a jelzőt N = 0;
gombállapot = 0;
késleltetés(15000); // emlékeztető dumáknak, akik kedvelik
digitalWrite(led, LOW); // megszakítás késleltetés nélkül nyomja meg a gombokat (1000);