Portaal vannitoa renoveerimise kohta. Kasulikud näpunäited

Kodualarm või liikumisanduri ja LCD monitori kasutamine Arduinoga. Arduino ja infrapunaanduritel põhineva liikumisanduriga valvesignalisatsiooni loomine SD mälukaardi mooduli põhiomadused

Viimase kümnendi jooksul on autovargused hõivanud maailmas toimepandud kuritegude struktuuris ühe märkimisväärseima koha. Selle põhjuseks ei ole niivõrd selle varguse kategooria erikaal koguarv kuritegusid, kui suur on tekitatud kahju autode kõrge hinna tõttu. Sõidukite varguste vastu võitlemisel võetud meetmete nõrk tõhusus 1990. aastate lõpuks viis nende kuritegude toimepanemisele ja omamisele spetsialiseerunud stabiilsete rühmade loomiseni. eristavad tunnused organiseeritud kuritegevus; Olete ilmselt kuulnud terminit "must autoäri". Euroopa riikide autopargis puudub igal aastal ≈ 2% autodest, mis saavad kuritegelike rünnakute objektiks. Seetõttu tulin ideele teha oma autole GSM-alarm Arduino baasil Uno.

Alustagem!

Millest me kogume?

Peame valima oma süsteemi südame. Minu arvates pole selliseks signaalimiseks midagi paremat kui Arduino Uno. Peamine kriteerium on piisav arv “nööpnõelad” ja hind.


Arduino Uno põhifunktsioonid

Mikrokontroller - ATmega328
Tööpinge - 5 V
Sisendpinge (soovitatav) - 7-12 V
Sisendpinge (piir) - 6-20 V
Digitaalsed sisendid/väljundid – 14 (millest 6 saab kasutada PWM-väljundina)
Analoogsisendid - 6
Püsiv vool läbi sisendi/väljundi - 40 mA
Pidev vool väljundiks 3,3V - 50mA
Välkmälu - 32 KB (ATmega328), millest 0,5 KB kasutatakse alglaaduri jaoks
RAM – 2 KB (ATmega328)
EEPROM – 1 KB (ATmega328)
Kellasagedus - 16 MHz


Sobib!

Nüüd tuleb valida GSM moodul, sest meie signalisatsioon peab suutma autoomanikku sellest teavitada. Nii et tuleb googeldada... Siin suurepärane sensor - SIM800L, suurus on lihtsalt imeline.


Mõtlesin ja tellisin Hiinast. Kõik aga ei osutus nii roosiliseks. Andur lihtsalt keeldus SIM-kaarti võrku registreerimast. Prooviti kõike võimalikku – tulemus oli null.
Leitud head inimesed kes mulle rohkem andis lahe asi- Sim900 kilp. Nüüd on see tõsine asi. Shieldil on nii mikrofoni kui ka kõrvaklappide pesa, mis teeb sellest täisväärtusliku telefoni.


Sim900 Shieldi põhifunktsioonid

4 töösageduse standardit 850/900/1800/1900 MHz
GPRS mitme pesa klass 10/8
GPRS-mobiiljaam klass B
Vastab GSM faasile 2/2+
Klass 4 (2 W @ 850/900 MHz)
1. klass (1 W @ 1800/1900 MHz)
Juhtimine AT-käskude abil (GSM 07.07, 07.05 ja SIMCOM-i laiendatud AT-käsud)
Madal energiatarve: 1,5 mA (puhkerežiim)
Töötemperatuuri vahemik: -40°C kuni +85°C


Sobib!

Ok, aga omaniku teavitamiseks peate mõnelt andurilt näidud võtma. Kui auto ära pukseerida, siis ilmselgelt muutub auto asend ruumis. Võtame kiirendusmõõturi ja güroskoopi. Suurepärane. Ok, nüüd otsime andurit.

Arvan, et GY-521 MPU6050 kindlasti sobib. Selgus, et sellel on ka temperatuuriandur. Peaksime seda ka kasutama, seal on selline "tapja funktsioon". Oletame, et auto omanik parkis selle oma maja alla ja lahkus. Auto sisetemperatuur muutub "sujuvalt". Mis juhtub, kui sissetungija üritab autosse sisse murda? Näiteks saab ta ukse avada. Auto temperatuur hakkab kiiresti muutuma, kui salongi õhk hakkab õhuga segunema keskkond. Ma arvan, et see toimib.


GY-521 MPU6050 peamised omadused

3-teljeline güroskoop + 3-teljeline kiirendusmõõturi GY-521 moodul MPU-6050 kiibil. Võimaldab määrata objekti asukohta ja liikumist ruumis, nurkkiirust pöörlemise ajal. Sellel on ka sisseehitatud temperatuuriandur. Seda kasutatakse erinevates kopterites ja lennukimudelites;

Kiip - MPU-6050
Toitepinge - 3,5 V kuni 6 V (DC);
Güroskoopide ulatus - ±250 500 1000 2000°/s
Kiirendusmõõturi ulatus - ±2±4±8±16g
Sideliides - I2C
Suurus - 15x20 mm.
Kaal - 5 g


Sobib!

Kasuks tuleb ka vibratsiooniandur. Järsku üritavad nad autot “toore jõuga” avada või parklas sõidab teine ​​auto sinu autole otsa. Võtame vibratsioonianduri SW-420 (reguleeritav).


SW-420 peamised omadused

Toitepinge - 3,3 - 5V
Väljundsignaal – digitaalne kõrge/madal (tavaliselt suletud)
Kasutatud andur - SW-420
Kasutatud võrdlusaine on LM393
Mõõdud - 32x14 mm
Lisaks - on reguleerimistakisti.


Sobib!

Kruvige SD-mälukaardi moodul kinni. Kirjutame ka logifaili.


SD-mälukaardimooduli peamised omadused

Moodul võimaldab salvestada, lugeda ja SD-kaardile kirjutada mikrokontrolleril põhineva seadme tööks vajalikke andmeid. Seadme kasutamine on asjakohane failide salvestamisel kümnetest megabaitidest kuni kahe gigabaidini. Tahvel sisaldab SD-kaardi konteinerit, kaardi toite stabilisaatorit ja pistikut liidese ja elektriliinide jaoks. Kui teil on vaja töötada heli, video või muude suuremahuliste andmetega, näiteks sündmuste logimiseks, andurite andmete salvestamiseks või veebiserveri teabe salvestamiseks, siis Arduino jaoks mõeldud SD-mälukaardimoodul võimaldab nende jaoks kasutada SD-kaarti. eesmärkidel. Mooduli abil saate uurida SD-kaardi funktsioone.
Toitepinge - 5 või 3,3 V
SD-kaardi mälumaht - kuni 2 GB
Mõõdud - 46 x 30 mm


Sobib!

Ja lisame servoajami, kui andurid käivituvad, siis servoajam koos videosalvestiga pöördub ja filmib juhtunust video. Võtame MG996R servoajami.


MG996R servoajami peamised omadused

Stabiilne ja usaldusväärne kaitse kahju eest
- Metallist ajam
- Kaherealine kuullaager
- Traadi pikkus 300 mm
- Mõõdud 40x19x43mm
- Kaal 55 g
- Pöörlemisnurk: 120 kraadi.
- Töökiirus: 0,17 s/60 kraadi (4,8 V koormuseta)
- Töökiirus: 0,13 s/60 kraadi (6 V koormuseta)
- Käivitusmoment: 9,4 kg/cm 4,8 V toiteallika juures
- Käivitusmoment: 11kg/cm 6V toiteallika juures
- Tööpinge: 4,8 - 7,2V
- Kõik ajami osad on metallist


Sobib!

Me kogume

Teave iga anduri ühendamise kohta Google'is suur summa artiklid. Ja mul pole soovi uusi jalgrattaid leiutada, seega jätan lingid lihtsate ja töötavate võimaluste juurde.

Tere, kallis lugeja! Tänane artikkel räägib lihtsa loomisest kodusüsteem turvalisus, kasutamine saadaolevad komponendid. See väike ja odav seade aitab teil kaitsta oma kodu sissetungijate eest, kasutades Arduino, liikumisanduri, ekraani ja kõlarit. Seadme toiteallikaks on aku või arvuti USB-port.

Niisiis, alustame!

Kuidas see töötab?

Soojavereliste loomade kehad kiirgavad infrapunakiirgust, mis on inimsilmale nähtamatu, kuid sensorite abil tuvastatav. Sellised andurid on valmistatud materjalist, mis võib kuumusega kokku puutudes spontaanselt polariseeruda, võimaldades tuvastada soojusallikate olemasolu anduri ulatuses.

Laiema ulatuse jaoks kasutatakse Fresneli läätsi, mis koguvad erinevatest suundadest IR-kiirgust ja koondavad selle andurile endale.

Joonisel on näha, kuidas lääts moonutab sellele langevaid kiiri.

Tasub teada, et eriti kuumade osadeta ja külmaverelised robotid eraldavad väga vähe infrapunakiirgust, mistõttu ei pruugi andur töötada, kui Boston Dynamicsi töötajad või reptiloidid otsustavad teid ümbritseda.

Kui IR-kiirguse tase vahemikus muutub, töödeldakse seda Arduinos, misjärel kuvatakse olek LCD-ekraanil, LED vilgub ja kõlar piiksub.

Mida me vajame?

  1. (või mõni muu tahvel).
  2. (16 tähemärki kahel real)
  3. Üks pistik krooni ühendamiseks Arduinoga
  4. (kuigi võite kasutada tavalist kõlarit)
  5. USB-kaabel - ainult programmeerimiseks ( u. tõlge: See tuleb alati meie Arduinoga kaasa!)
  6. Arvuti (jällegi ainult programmi kirjutamiseks ja laadimiseks).

Muide, kui te ei soovi kõiki neid osi eraldi osta, soovitame teil pöörata tähelepanu meie omadele. Näiteks kõik vajalik ja veelgi enam on meie stardikomplektis.

Ühendame!

Liikumisanduri ühendamine on väga lihtne:

  1. Ühendame Vcc tihvti 5V Arduinoga.
  2. Ühendame Gnd-viigu Arduino GND-ga.
  3. Ühendame OUT viigu Arduino digitaalse viiguga nr 7

Nüüd ühendame LED-i ja kõlari. Siin on sama lihtne:

  1. Ühendame LED-i lühikese jala (miinus) maandusega
  2. Ühendame LED-i pika jala (pluss) Arduino väljundiga nr 13
  3. Punane kõlari juhe väljundisse nr 10
  4. Must juhe - maandusse

Ja nüüd on raske osa 1602 LCD-ekraani ühendamine Arduinoga. Meil on ekraan ilma I2Cta, nii et vajame palju Arduino väljundeid, kuid tulemus on seda väärt. Diagramm on esitatud allpool:

Vajame ainult osa vooluringist (kontrastsuse reguleerimist potentsiomeetriga ei saa). Seetõttu peate tegema ainult järgmist.

Nüüd teate, kuidas ühendada 1602 ekraan Arduino UNO R3-ga (nagu ka mis tahes Arduino versiooniga Minist Megani).

Programmeerimine

On aeg liikuda edasi programmeerimise juurde. Allpool on kood, mille peate lihtsalt täitma ja kui olete kõik õigesti kokku pannud, on seade valmis!

#kaasa int ledPin = 13; // LED pin input inputPin = 7; // Pin, millega Out of the motion sensor on ühendatud in pirState = LOW; // Praegune olek (alguses ei tuvastatud midagi) int val = 0; // Muutuja digitaalsete sisendite oleku lugemiseks int pinSpeaker = 10; // Pin, millega kõlar on ühendatud. Nõuab PWM-tihvti LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD-ekraani lähtestamine void setup() ( // Määrake andmeedastuse suund digitaalsetel kontaktidel pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // Käivitage silumisinfo väljund jadapordi kaudu .begin(9600) // Käivitage väljund LCD-ekraanile ) lcd.setCursor(2, 0) // Väljund LCD-ekraanile lcd.print("P.I.R Motion" // Liiguta uuesti lcd.setCursor(5, 1) // Väljund lcd.print("Sensor"); ); // Pause, et oleks aega lugeda, mis oli väljundviivitus(5000) // Clearing lcd.clear( // Sama mis lcd.setCursor(0, 0); lcd.setCursor(3, 0) lcd.setCursor(3, 1) ( //); Anduri näidu lugemine val = digitalRead(inputPin) if (val == HIGH) ( // Kui on liikumist, siis süüdake LED ja lülitage sireen sisse digitalWrite(ledPin, HIGH); playTone(300, 300); viivitus(150); // Kui liigutused on enne praegusel hetkel ei olnud, siis kuvame teate //, et see tuvastati // Allolevat koodi on vaja selleks, et kirjutada ainult olekumuutus, mitte printida väärtust iga kord if (pirState == LOW) ( Serial.println(" Liikumine tuvastatud!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Motion Detected!"); pirState = HIGH; ) else ( // Kui liikumine on üle digitalWrite(ledPin, LOW playTone(0, 0 delay(300) if (pirState == HIGH)( // Teatab, et liikumine toimus, kuid see on juba lõppenud Serial.println("Motion ended!"); (); lcd.setCursor("Ootan"(3, 1) // Heli taasesituse funktsioon. Kestus (kestvus) – millisekundites, Freq (sagedus) – Hz-des void playTone (pikk kestus, int sagedus) ( kestus *= 1000; sisemine periood = (1,0 / sagedus) * 100 000; pikk kulunud_aeg = 0; samas (kulunud_aeg)< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }


Kuidas teha garaaži või suvila jaoks lihtsat GSM signalisatsiooni kasutades SIM800L ja Arduino. Valmistame selle ise, kasutades Aliexpressi valmismooduleid. Peamised moodulid– GSM-moodul SIM800L, Arduino Nano (saate kasutada mis tahes Unot jne), astmeline plaat, mobiiltelefoni aku.

Riis. 1. Mooduli paigutus signalisatsioon Arduino peal

Alarmide tootmine

Me asume peale leivalaud läbi patjade, mis võimaldab vajadusel mooduleid välja vahetada. Lülitage äratus sisse, varustades SIM800L ja Arduino Nano lüliti kaudu 4,2 V toidet.



Kui esimene silmus käivitub, helistab süsteem esmalt esimesele numbrile, seejärel katkestab kõne ja helistab tagasi teisele numbrile. Teine number lisati igaks juhuks, kui esimene äkki lahti läheb vms. Teise, kolmanda, neljanda ja viienda tsükli käivitamisel saadetakse SMS vallandatud tsooni numbriga, samuti kahele numbrile. Skeem ja eskiis huvilistele on video all olevas kirjelduses.
Asetame kogu elektroonika sobivasse korpusesse.



Kui te ei vaja 5 kaablit, ühendage 5 V Arduino tihvt mittevajalike sisenditega. 5 ahela ja akuga GSM signalisatsioon, mis võimaldab seadmel mitu päeva autonoomselt töötada ka elektrikatkestuse ajal. Nendega saate ühendada mis tahes turvakontaktandureid, releekontakte jne. Tulemuseks on lihtne, odav, kompaktne turvaseade SMS-i edastamise ja kahe numbri valimisega. Seda saab kasutada suvila, korteri, garaaži jne kaitsmiseks.

Täpsemalt videos

Täna räägime sellest, kuidas seda kasutada Arduino koguda turvasüsteem. Meie “julgeolek” valvab ühte vooluringi ja juhib üht sireeni.

Arduino jaoks pole see probleem ning nagu programmikoodist ja seadme skeemist näha, saate hõlpsalt suurendada kaitstud pääsupunktide arvu ning teavitus- või näiduseadmete arvu.
Turvasüsteem saab kasutada nii suurte esemete (hooned ja rajatised) kui ka väikeste esemete (kastid, seifid) ja isegi kaasaskantavate kohvrite ja kohvrite kaitsmiseks. Kuigi viimasega tuleb olla ettevaatlik, aga kui paigaldate turvasüsteemi näiteks kohvrile, millega otsustate reisida, ja mõnes lennujaamas hoiatussüsteem hakkab tööle, siis arvan, et teil on tõsine vestlus kohalik turvateenistus :-)

Seadme lihtsustatud tööpõhimõte on järgmine (joonis 1). Pärast toite sisselülitamist lülitub seade töörežiimi ja ootab valvestamist. Valvestamine ja valvest väljalülitamine toimub ühe nupuga. Turvalisuse suurendamiseks on parem asetada see nupp kaitstud alale (seif või kasti). Enne turvarežiimi sisselülitamist tuleb uks veidi avada. Kui lülitate turvarežiimi sisse (vajutage nuppu) elektrooniline skeem ootab, kuni sulgete ruumi ukse (seifi uks, kasti kaas jne).

Uksele (või uksele) tuleb paigaldada mis tahes tüüpi piirlüliti, sellest lähemalt hiljem. Sulgedes (või avades) teatab piirlüliti seadmele, et kaitstud vooluring on suletud ja seade läheb turvarežiimi. Süsteem teavitab teid turvarežiimi sisenemisest kahe lühikese signaaliga (nagu auto signalisatsioonid). Selles režiimis "püüab" seade kinni ukseava. Pärast ukse avamist ootab süsteem paar sekundit (see on reguleeritav väärtus, ruumide puhul umbes kümme sekundit, kasti puhul üks või kaks), et turvarežiim lülitub välja, kui seda ei juhtu, lülitub sisse sireen. Algoritm ja vooluahel on konstrueeritud nii, et sireeni saate välja lülitada ainult korpuse täieliku lahtivõtmise ja toite väljalülitamisega.

Seade turvasüsteem väga lihtne (joon. 2). Tahvli põhjal Arduino. Lõpplülitid on ühendatud nagu tavaline nupp, tõmbetakistite kaudu. Eraldi peatun lõpplülititel. Need on kas tavaliselt suletud või tavaliselt avatud. Lõpplülitina saab sisse lülitada tavalise nupu, ainult tavalise nupu käik on väga suur, ukse lõtk on tavaliselt suurem. Seetõttu on vaja nupule mingi tõukur välja mõelda ja seda vedrutada, et mitte koos uksega nuppu katki murda. Noh, kui te pole liiga laisk, võite minna poodi ja osta magnetiline lüliti(pilliroo lüliti) (joonis 3), ei karda see tolmu ja saastumist.

Sobib ka autoalarmide piirlüliti (joon. 4). Tuleb märkida, et programm on kirjutatud pilliroo lüliti jaoks. Kell suletud uks selle kontakt on suletud. Kui kasutate autoalarmi lülitit, siis kui uks on suletud, on see suure tõenäosusega avatud ja koodi vastavates kohtades peate muutma 0-1 ja vastupidi.

Sireenina teen ettepaneku kasutada Valgevenes toodetud helisireeni PKI-1 IVOLGA (joonis 5). Toitepinge 9 - 15 V, töövool 20 - 30 mA. See võimaldab seda kasutada akutoitel. Samal ajal "toodab" 95 - 105 dB.

Selliste omadustega kõlab see Krona akust mitukümmend minutit. Internetist leidsin 110 rubla eest. Seal maksab magnetiga pilliroo lüliti umbes 30 rubla. Autoalarmi lüliti osteti autoosadest 28 rubla eest. Transistori KT315 saab võtta mis tahes tähega või asendada mis tahes kaasaegse väikese võimsusega, sobiva juhtivusega ränitransistoriga. Kui ühe sireeni helitugevusest ei piisa (kes teab, võib-olla soovite, et see kõlaks mitme kilomeetri kauguselt), võite ühendada mitu sireeni paralleelselt või võtta võimsama, ainult sel juhul tuleb transistor asendada võimsam (näiteks tuttav transistorikoost ULN2003). Pistikutena pilliroo lüliti ja sireeni ühendamiseks kasutasin audio/videoseadmete jaoks lihtsamaid pistikuid - raadioturul on hind 5 rubla. paari jaoks.

Seadme korpust saab kokku liimida plastikust või vineerist; kui tõsist eset kaitstakse, siis on parem see metallist teha. Töökindluse ja ohutuse suurendamiseks on soovitav korpuse sisse asetada patareid või akud.

Programmikoodi lihtsustamiseks ei kasutatud energiasäästuelemente ja akud ei pea kaua vastu. Saate koodi optimeerida või veelgi parem, radikaalselt ümber teha, kasutades katkestussündmuste töötlemist ja MK puhkerežiimi. Sel juhul peaks kahe järjestikku ühendatud ruudukujulise aku võimsusest (9 V) piisama mitmeks kuuks.

Nüüd kood

// konstandid
const int nupp = 12; // tihvt nupu jaoks
const int gerkon = 3; // tihvt pilliroolüliti jaoks
const int sirena = 2; // sireeni juhttihvt
const int led = 13; // indikaatortihvt
// muutujad
int buttonState = 0; // nupu olek
int gerkonState = 0; // pilliroo lüliti olek
int N = 0; // desarm button counter
void setup() (
// juhtsireen ja indikaator - väljund
pinMode(sireen, OUTPUT);
pinMode(led, OUTPUT); // nupp ja pilliroo lüliti - sisendid
pinMode(gerkon, INPUT);
pinMode(nupp, INPUT);
}
void loop ()
digitalWrite(led, HIGH);
while(buttonState= =0)( // oodake, kuni vajutame nuppu
nupuOlek = digitaalneRead(nupp); // turvarežiimi lülitumiseks
}
digitalWrite(led, LOW);
nupu olek = 0; // lähtestab nupu väärtuse
while(gerkonState= =0)( // silmus kuni sulgeme ukse

}
viivitus(500); // :-)
digitalWrite(sireen, HIGH); // Kood
viivitus(100); // näidustused
digitalWrite(sireen, LOW); // lubada
viivitus(70); // režiim
digitalWrite(sireen, HIGH); // turvalisus
viivitus(100); // teatis
digitalWrite(sireen, LOW); // heli
while(gerkonState= =1)( // oodake, kuni uks avaneb
gerkonState = digitaalneRead(gerkon);
}
jaoks (int i=0; i<= 5; i++){ // 7,5 секунды на нажатие
nupuOlek = digitaalneRead(nupp); // salajane nupp
if (buttonState = = HIGH) ( // jälgi meie oma - kellegi teise oma
N=N+1;
}
viivitus(1500); // salajane funktsioon :-)))
}
if (N > 0) ( // kõige tähtsam
digitalWrite(sireen, LOW); // ära pane sireeni sisse
}
muu (
digitalWrite(sireen, HIGH); // või lülitage sireen sisse
}
digitalWrite(led, HIGH); // lülita sisse indikaator N = 0;
nupu olek = 0;
viivitus(15000); // meeldetuletus mannekeenidele, kellele meeldib
digitalWrite(led, LOW); // vajutada nuppe ilma katkestusteta viivituseta (1000);