ესკიზი gsm arduino ბრძანებების შესასრულებლად. ბიუჯეტის GSM სიგნალიზაცია Arduino ტვინით. GSM ქსელთან კავშირის სტატუსის შემოწმება

Arduino არის ტექნიკის პლატფორმა, რომელიც გამოიყენება სწრაფი შექმნასხვადასხვა ელექტრონული მოწყობილობებიუსაფრთხოების ჩათვლით. მარტივი დიზაინის, პროგრამირების ენის სიმარტივისა და ღია კოდების გამოყენების წყალობით, არაპროფესიონალსაც კი შეუძლია დამოუკიდებლად გააკეთოს მრავალფუნქციური სიგნალიზაცია საკუთარი სახლის, კოტეჯის, ბინის ან ავტოფარეხის დასაცავად. არდუინო GSM მოდულიიქნება საუკეთესო ვარიანტი ბიუჯეტის უსაფრთხოების სისტემის შესაქმნელად, რომელიც შეიძლება ოპტიმალურად იყოს კონფიგურირებული კონკრეტული ობიექტისთვის.

განაცხადის არეალი

Arduino ტექნიკის პლატფორმა ფართოდ გამოიყენება სხვადასხვა შექმნის პროცესში ელექტრონული სისტემებიდა მოწყობილობები, რომლებსაც შეუძლიათ მიიღონ და დაამუშაონ სიგნალები განსხვავებულად ფუნქციონალური ანალოგური ან ციფრული სენსორებიდან და სენსორებიდან. მიღებული სიგნალების დამუშავების შედეგები შეიძლება კონტროლდებოდეს გარე აქტივატორებით და Arduino-სთან დაკავშირებული სისტემებით.

ამ მოდულების გამოყენების მაგალითი ვიდეოში:

მიზანი

Arduino ტექნიკის პლატფორმა შესაძლებელს ხდის ეფექტურად ურთიერთქმედებას კონტროლირებად გარემოსთან ფუნქციონალური სენსორების ფართო სპექტრის საშუალებით, რომლებსაც შეუძლიათ კონტროლი. სხვადასხვა პარამეტრები. ამის წყალობით, ასეთი პლატფორმების საფუძველზე, შესაძლებელია შეიქმნას უსაფრთხოების კომპლექსები, რომლებიც მონიტორინგს გაუწევენ მოძრაობებს დაცული პერიმეტრის გასწვრივ, ფანჯრებისა და კარების გახსნას და მინის დაზიანებას. უსაფრთხოების ტიპის სენსორების გარდა, თქვენ ასევე შეგიძლიათ გამოიყენოთ ტემპერატურის სენსორები, სენსორები წყლის ან გაზის გაჟონვის მონიტორინგისთვის.

პლატფორმასთან Arduino GSM მოდულის გამოყენებით, ინფორმაცია საფრთხის ან საგანგებო სიტუაციის შესახებ ობიექტზე შეიძლება მიეწოდოს მფლობელს რაც შეიძლება სწრაფად. ამ მიზნით გამოიყენება მობილური ოპერატორების ერთ-ერთი ქსელი.

გამორჩეული თვისება Arduino მოწყობილობებიარის ის, რომ მათი მიკროკონტროლერი შეიძლება დაპროგრამდეს თავად მომხმარებლის მიერ, გამოყენებით არდუინოს ენაგაყვანილობის საფუძველზე. ამის წყალობით, ყველას შეუძლია დაპროგრამდეს შექმნილი ოპერაციული ალგორითმი ქურდობის სიგნალიზაციაროგორც საჭიროა კონკრეტული დაცული ობიექტისთვის და მისი გამოყენების სპეციფიკისთვის.

გამოყენების სარგებელი

დღესდღეობით არსებობს მრავალი ტექნიკის პლატფორმა და მიკროკონტროლერი, საიდანაც ინფორმაციის მიღება შეუძლიათ გარე სენსორები, დაამუშავეთ და გააგზავნეთ საკონტროლო სიგნალები აღმასრულებელ სისტემებში. Arduino პლატფორმა მაქსიმალურად ამარტივებს ჩამოთვლილი პროცესების განხორციელებას და აქვს უპირატესობების ფართო სპექტრი ამ ტიპის სხვა მოწყობილობებთან შედარებით.

  1. Დაბალი ფასი. პლატფორმები საკმაოდ იაფი მოწყობილობებია მათ ანალოგებთან შედარებით, რაც არანაირად არ მოქმედებს მათ ფუნქციონირებაზე.
  2. კროს-პლატფორმა. Arduino პროგრამული უზრუნველყოფა ეფექტურად მუშაობს ასეთ პირობებში ოპერაციული პლატფორმები, როგორიცაა Windows, Linux, Macintosh-OSX.
  3. პროგრამირების სიმარტივე. მიკროკონტროლერების კონფიგურაციისთვის გამოიყენება Processing პროგრამირების გარემო. ის ოპტიმალურად შეეფერება როგორც პროფესიონალს, ასევე პატარას გამოცდილი მომხმარებლები, რომლებიც მუშაობენ Arduino მოწყობილობებთან.
  4. გაუმჯობესების შესაძლებლობა. სპეციალიზებული პროგრამული უზრუნველყოფა Arduino განსხვავებულია საჯარო წყარო, რაც გამოცდილ მომხმარებლებს საშუალებას აძლევს, მოერგოს ის კონკრეტულ მოთხოვნებს.

ტექნიკის პლატფორმის მაღალი საიმედოობა. Arduino დაფები ხელმისაწვდომია ATMEGA8 და ATMEGA168 მიკროკონტროლერებით (ადრე მოდელები) და ATmega32u4, Atmel ATmega328 კონტროლერებით (უფრო ახალი მოდელები), რომლებიც გამოირჩევიან მაღალი ფუნქციონალურობითა და საიმედოობით.

მოქმედების პრინციპი

უსაფრთხოების სისტემების ან Arduino პლატფორმების გამოყენებით აგებული სხვა მოწყობილობების სრულად ფუნქციონირების უზრუნველსაყოფად, თქვენ უნდა გქონდეთ GSM მოდული Arduino-სთვის. მისი გამოყენება შესაძლებელია ინტერნეტში წვდომისთვის, ხმოვანი ზარების განსახორციელებლად ან SMS შეტყობინებების გასაგზავნად.

GSM დაფა იყენებს სპეციალურ M10 რადიო მოდემს, რომელთანაც ურთიერთქმედება უზრუნველყოფილია სპეციალური AT ბრძანებების საშუალებით. მოდემთან ინფორმაციის გაცვლა ხორციელდება პროგრამული უზრუნველყოფის სერიული ინტერფეისის გამოყენებით, რომელიც იყენებს ციფრულ კოდებს.

Arduino-ში გამოყენებული GSM მოდემი არის 4 ზოლიანი მოდემი, რომელსაც შეუძლია იმუშაოს შემდეგ სიხშირეებზე: GSM 850MHz და 900MHz, PCS1900MHz და DCS1800MHz. მოდემი მხარს უჭერს პროტოკოლებს, როგორიცაა TCP/UDP და HTTP, რაც უზრუნველყოფს კავშირებს GPRS-ის საშუალებით. ინფორმაციის პაკეტების გადაცემის სიჩქარე ამ რეჟიმში იქნება დაახლოებით 90 კბიტ/წმ.

SMS-ის გაგზავნა Arduino-ს და GSM მოდულის მეშვეობით ხორციელდება, თუ ეს შესაძლებელია დაინსტალირებული SIM ბარათიერთ-ერთი მობილური ოპერატორი“.

გარდა ამისა, შესაძლებელი იქნება გადაცემაც ხმოვანი შეტყობინებები, დარეკეთ - ამისთვის დამატებით გჭირდებათ მიკროფონი და გარე დინამიკი. SIM ბარათის დაყენება საშუალებას მოგცემთ გამოიყენოთ Arduino-ში ფიჭური კომუნიკაციებიან GPRS.

როგორ დააკავშიროთ მოდულები Arduino-სთან

სანამ GSM მოდულს Arduino-სთან მის სლოტში დააკავშირებთ, უნდა დააინსტალიროთ შესაბამისი SIM ბარათი ერთ-ერთი ფიჭური ოპერატორისგან. ამის შემდეგ მოდული ინსტრუქციის შესაბამისად უკავშირდება Arduino-ს აპარატურულ პლატფორმას და მისი პროგრამული უზრუნველყოფა ციმციმდება. ამ მიზნით გამოიყენება კომპიუტერი, რომელიც მოწყობილობას უკავშირდება USB კაბელის გამოყენებით. ჩამოტვირთვის შემდეგ Arduino გარემოთქვენ უნდა დააჭიროთ ღილაკს Upload, რომელიც დაიწყებს პროგრამული უზრუნველყოფის ჩამოტვირთვის პროცესს. ამ პროცესის დასრულების შემდეგ, პლატფორმა შეიძლება გათიშული იყოს კომპიუტერიდან და გამორთოთ იგი გარე სისტემაკვება.

GSM მოდულების შედარებითი მახასიათებლები

წარმოდგენილია სამომხმარებლო ბაზარზე ფართო არჩევანისხვადასხვა GSM მოდული Arduino-სთვის. ქვემოთ მოცემულია ყველაზე პოპულარული მახასიათებლების ძირითადი მახასიათებლები.

Neoway M590

Arduino GSM მოდული M590 არის უკაბელო საკომუნიკაციო მოწყობილობაგამოიყენება ქსელებში ინფორმაციის მისაღებად და გადასაცემად მობილური კომუნიკაციები. ამ სერიის მოდული შექმნილია დაფაზე მინიმალური გაყვანილობის მქონე და განლაგებულია როგორც GSM მოდული Arduino ტექნიკის პლატფორმისთვის.

ამ მოწყობილობით შეგიძლიათ დაამყაროთ მობილური კომუნიკაცია გარე ტელეფონი, გაგზავნეთ SMS შეტყობინებები, გაცვალეთ ინფორმაცია GPRS Class-10 სტანდარტის გამოყენებით. ამ დიზაინის მოდულს არ აქვს მიკროფონის შეყვანა, რაც ზღუდავს ხმოვანი კომუნიკაციების მიღების შესაძლებლობას - კავშირი შეიძლება დამყარდეს, მაგრამ ხმა არ გადაიცემა.

M590-ის გასაკონტროლებლად გამოიყენება AT ბრძანებები, რომლებიც იგზავნება მეშვეობით სერიული კომუნიკაცია. სიხშირეები 900 MHz-დან 1800 MHz-მდე გამოიყენება როგორც მოქმედი რადიო სიხშირეები. მიწოდების ძაბვა არის 3.3...5 ვ-ის ფარგლებში. ამიტომ, Neoway M590 GSM მოდული უკავშირდება Arduino-ს სპეციალური ძაბვის გადამყვანის მეშვეობით 5 V-დან 3.3 V-მდე.

GSM მოდული SIM800L

კომპაქტური Sim800l GPRS GSM მოდული არის მოწყობილობა, რომელიც გამოიყენება მობილური კომუნიკაციების მხარდასაჭერად. მოდული აგებულია SIM-800L meringue-ზე, შექმნილი SIMCom Wireless Solutions-ის მიერ და შექმნილია GPRS\GSM საინფორმაციო ქსელის სერვისების უზრუნველსაყოფად, სიხშირეების გამოყენებით 850 MHz-დან 1900 MHz-მდე. მისი გამოყენება შესაძლებელია SMS შეტყობინებების გასაგზავნად, ზარების განსახორციელებლად და ინფორმაციის გაცვლისთვის GPRS არხებით.

GSM მოდული აღჭურვილია ანტენით, თუ გჭირდებათ სიგნალის დონის გაუმჯობესება, შეგიძლიათ გამოიყენოთ დამატებითი ანტენები. მოდულის გასაკონტროლებლად შეიძლება გამოყენებულ იქნას კომპიუტერი, რომელიც დაკავშირებულია სპეციალური USB-UART ინტერფეისის კონვერტაციის დაფის საშუალებით ან უშუალოდ თავად UART-ის მეშვეობით. თუ გამოიყენება Sim800l GPRS GSM მოდული , არდუინოსთან კავშირი უნდა განხორციელდეს კონვერტორის საშუალებით ლოგიკური დონეები. ეს იმის გამო ხდება, რომ SIM800L-ს აქვს ძაბვის მნიშვნელობა ლოგიკურზე მაღალი დონეარის 2,8 ვ, ხოლო არდუინოში - 3,3...5 ვ.

GPRS Shield მიერ Seeed Studio

GSM მოდულის Arduino-სთან დაკავშირება მოგცემთ GSM/GPRS მონაცემთა გაცვლის ტექნოლოგიების გამოყენების, ასევე ზარების და SMS შეტყობინებების გაგზავნის შესაძლებლობას. ამ ტიპის მოწყობილობები აგებულია SIMCom SIM900 მოდულის გამოყენებით. აქვთ SIM ბარათის დაყენების სლოტი, შესაერთებელი კონექტორი გარე ანტენა, 3.5 მმ-იანი ჯეკების ნაკრები აუდიო შეყვანისა და გამოსასვლელისთვის. კონტროლი და მუშაობა Arduino GSM Shield-თან ხორციელდება სერიული კავშირებით და სპეციალიზებული AT ბრძანებების ნაკრებით.

ეს მოდული არის სპეციალური დაფა, რომელიც გამოიყენება კონტროლისთვის ციფრული მოწყობილობებიდისტანციურად, ასევე ინფორმაციის გაცვლისთვის. SIM900-ის გამოყენება Arduino-ს საშუალებას აძლევს იმუშაოს GSM/GPRS ტექნოლოგიების გამოყენებით, რაც უზრუნველყოფს ხმოვანი კომუნიკაცია, SMS-ის გაგზავნა და მონაცემთა გაცვლა ფიჭური და მობილური ქსელების გამოყენებით.

ამ მოდულის მუშაობისთვის მას უკავშირდება საკონტროლო კონტროლერი, კვების წყარო, ანტენა და ასევე დამონტაჟებულია SIM ბარათი. მობილური ოპერატორი. სპეციალური მხტუნავების გამოყენებით, თქვენ აკონფიგურირებთ მონაცემთა გაცვლის მეთოდს კონტროლერთან. საჭიროების შემთხვევაში, შეგიძლიათ დააკავშიროთ სპიკერი და მიკროფონი.

ეს ბიბლიოთეკა გაძლევთ საშუალებას შეასრულოთ GSM ტელეფონის მიერ შესრულებული ძირითადი ოპერაციების უმეტესობა: მუშაობა ხმოვანი ზარები, გაგზავნეთ და მიიღეთ SMS და დაუკავშირდით ინტერნეტს GPRS-ის საშუალებით.

GSM გაფართოების დაფა შეიცავს მოდემს, რომელიც გადასცემს მას GSM ქსელის მეშვეობით მიღებულ მონაცემებს. სერიული პორტი. ყველა ოპერაციას ასრულებს მოდემი AT ბრძანებების თანმიმდევრობით. კოდის წაკითხვის გასაუმჯობესებლად, ბიბლიოთეკა აბსტრაქტებს დაბალი დონის ფუნქციებს, რომლებიც მუშაობს მოდემთან და SIM ბარათთან. GSM მოდემი ურთიერთქმედებს Arduino-სთან მეშვეობით სერიული ინტერფეისი SoftwareSerial ბიბლიოთეკის გამოყენებით.

მოდემის მიერ შესრულებული თითოეული ბრძანება, როგორც წესი, არის ბრძანებების თანმიმდევრობის ფრაგმენტი, რომელიც მიზნად ისახავს ფუნქციის შესრულებას. GSM ბიბლიოთეკა შექმნილია ამის გათვალისწინებით და შეუძლია ინფორმაციის მიღება/დაბრუნება ბრძანების თანმიმდევრობის ნებისმიერ ეტაპზე.

ბიბლიოთეკის სტრუქტურა

GSM ბიბლიოთეკის ფუნქციონირება საკმაოდ ფართოა, ამიტომ ის აერთიანებს რამდენიმე განსხვავებულ კლასს:

  • Კლასი GSMპასუხისმგებელია რადიოს მოდემის კონტროლზე. ეს კლასი შეიცავს დაბალი დონის ფუნქციებს GSM ქსელში გაფართოების ბარათის დასაკავშირებლად და რეგისტრაციისთვის. ამ კლასის მაგალითი უნდა იყოს გამოცხადებული ყველა პროგრამაში, რომელიც იყენებს GSM/GPRS-ს.
  • Კლასი GSMVoiceCallპასუხისმგებელი ხმოვანი ზარებისთვის.
  • Კლასი GSM_SMSპასუხისმგებელია SMS შეტყობინებების გაგზავნაზე და მიღებაზე.
  • Კლასი GPRSპასუხისმგებელია ინტერნეტთან დაკავშირებაზე.
  • Კლასში GSMClientგანხორციელებული კლიენტი, კლიენტის მსგავსი Ethernet და WiFi ბიბლიოთეკებში.
  • Კლასში GSMS სერვერიდანერგილია სერვერის მსგავსი სერვერი Ethernet და WiFi ბიბლიოთეკებში. შენიშვნა: ზოგიერთი ISP/ოპერატორი ბლოკავს შემომავალ კავშირებს გლობალური ინტერნეტ ქსელი, ნებადართულია მხოლოდ ინტრანეტის კავშირები. შეამოწმეთ თქვენს ოპერატორთან მიმდინარე შეზღუდვებიმონაცემთა გადაცემისთვის.
  • ბევრი დამხმარე კლასი, როგორიცაა GSMS სკანერი, GSMModemდა ა.შ.

Ethernet ბიბლიოთეკა თავსებადი

დეველოპერებმა ყველაფერი გააკეთეს იმისთვის, რომ GSM ბიბლიოთეკა მაქსიმალურად თავსებადი იყოს Ethernet ბიბლიოთეკასთან. ამის წყალობით, კოდის გადატანა, რომელიც იყენებს Ethernet ან WiFi ბიბლიოთეკებს Arduino-ზე GSM გაფართოების დაფით, საკმაოდ მარტივი უნდა იყოს. თუმცა, GSM გაფართოების ბარათზე Ethernet-ისთვის დაწერილი პროგრამების გასაშვებად, საკმარისი არ არის კოდის უბრალოდ კოპირება. ამან შეიძლება მოითხოვოს მცირე ცვლილებები პროგრამაში, როგორიცაა GSM და GPRS ბიბლიოთეკების დაკავშირება, პროვაიდერისგან ქსელის პარამეტრების მიღება და ა.შ.

მაგალითები

GSM გაფართოების ბარათთან მუშაობის ყველა მაგალითი შეიძლება დაიყოს ორ ჯგუფად. პირველი ჯგუფი არის დაფის შესაძლებლობების დემონსტრირების მაგალითები (მაგალითად, SMS შეტყობინებების გაგზავნა, ინტერნეტთან დაკავშირება და ა.შ.). მეორე ჯგუფი არის ინსტრუმენტები, რომლებითაც შეგიძლიათ Arduino-ს ბიბლიოთეკისა და აპარატურის ფუნქციონალური გამართვა დაბალ დონეზე.

გასული ათწლეულის განმავლობაში მანქანის ქურდობა ერთ-ერთი ყველაზე გავრცელებული იყო მნიშვნელოვანი ადგილებიმსოფლიოში ჩადენილი დანაშაულებების სტრუქტურაში. ეს განპირობებულია არა იმდენად ამ კატეგორიის ქურდობის სპეციფიკური სიმძიმით დანაშაულთა საერთო რაოდენობასთან შედარებით, არამედ მანქანების მაღალი ღირებულების გამო მიყენებული ზიანის მნიშვნელობით. 90-იანი წლების ბოლოს მანქანების ქურდობასთან ბრძოლის სფეროში მიღებული ზომების სუსტმა ეფექტურობამ განაპირობა სტაბილური ჯგუფების შექმნა, რომლებიც სპეციალიზირებულნი იყვნენ ამ დანაშაულების ჩადენისა და ფლობისთვის. გამორჩეული მახასიათებლებიორგანიზებული დანაშაული; თქვენ ალბათ გსმენიათ ტერმინი "შავი ავტო ბიზნესი". ევროპის ქვეყნების ავტოპარკს ყოველწლიურად აკლია მანქანების ≈ 2%, რომლებიც ხდება კრიმინალური თავდასხმების საგანი. ამიტომ, გამიჩნდა იდეა ჩემი მანქანისთვის GSM განგაშის ჩართვის შესახებ არდუინოს დაფუძნებულიუნო.

Მოდით დავიწყოთ!

რისგან ვაგროვებთ?

ჩვენ უნდა ავირჩიოთ ჩვენი სისტემის გული. ჩემი აზრით, ასეთი განგაშისთვის არაფერია უკეთესი არდუინო უნო. მთავარი კრიტერიუმი არის საკმარისი რაოდენობის "ქინძისთავები" და ფასი.


ძირითადი Arduino მახასიათებლებიუნო

მიკროკონტროლერი - ATmega328
ოპერაციული ძაბვა - 5 ვ
შეყვანის ძაბვა (რეკომენდირებულია) - 7-12 ვ
შეყვანის ძაბვა (ლიმიტი) - 6-20 ვ
ციფრული შეყვანა/გამომავალი - 14 (აქედან 6 შეიძლება გამოყენებულ იქნას როგორც PWM გამოსავალი)
ანალოგური შეყვანა - 6
მუდმივი დენი შეყვანის/გამოსვლის მეშვეობით - 40 mA
მუდმივი დენი გამომავალი 3.3V - 50mA
ფლეშ მეხსიერება - 32 კბ (ATmega328), საიდანაც 0,5 კბ გამოიყენება ჩატვირთვისთვის
ოპერატიული მეხსიერება - 2 კბ (ATmega328)
EEPROM - 1 კბ (ATmega328)
საათის სიხშირე - 16 MHz


ჯდება!

ახლა თქვენ უნდა აირჩიოთ GSM მოდული, რადგან ჩვენი განგაშის სისტემა უნდა აცნობოს მანქანის მფლობელს. ასე რომ, უნდა დაგუგლოთ... აი, შესანიშნავი სენსორი - SIM800L, ზომა უბრალოდ მშვენიერია.


ვიფიქრე და ჩინეთიდან შევუკვეთე. თუმცა ყველაფერი არც ისე ვარდისფერი აღმოჩნდა. სენსორმა უბრალოდ უარი თქვა SIM ბარათის ქსელში რეგისტრაციაზე. ყველაფერი სცადეს - შედეგი იყო ნული.
იყვნენ კეთილი ადამიანები, რომლებმაც მომცეს უფრო მაგარი ნივთი - Sim900 Shield. ახლა ეს სერიოზული საქმეა. Shield-ს აქვს როგორც მიკროფონის, ასევე ყურსასმენის ჯეკი, რაც მას სრულფასოვან ტელეფონად აქცევს.


Sim900 Shield-ის ძირითადი მახასიათებლები

4 სტანდარტი მუშაობის სიხშირე 850/900/1800/1900 MHz
GPRS მრავალ სლოტის კლასი 10/8
GPRS მობილური სადგური B კლასი
შეესაბამება GSM ფაზას 2/2+
კლასი 4 (2 W @850/900 MHz)
კლასი 1 (1 W @ 1800/1900 MHz)
კონტროლი AT ბრძანებების გამოყენებით (GSM 07.07, 07.05 და SIMCOM გაფართოებული AT ბრძანებები)
დაბალი ენერგიის მოხმარება: 1.5 mA (ძილის რეჟიმი)
ოპერაციული ტემპერატურის დიაპაზონი: -40°C-დან +85°C-მდე


ჯდება!

კარგი, მაგრამ თქვენ უნდა წაიკითხოთ ზოგიერთი სენსორიდან, რათა აცნობოთ მფლობელს. თუ მანქანა ბუქსირდება, მაშინ მანქანის პოზიცია აშკარად შეიცვლება სივრცეში. ავიღოთ აქსელერომეტრი და გიროსკოპი. დიდი. კარგი, ახლა ჩვენ ვეძებთ სენსორს.

ვფიქრობ, რომ GY-521 MPU6050 აუცილებლად მოერგება. აღმოჩნდა, რომ მას ასევე აქვს ტემპერატურის სენსორი. ჩვენც უნდა გამოვიყენოთ, იქნება ასეთი "მკვლელი თვისება". დავუშვათ, რომ მანქანის პატრონმა სახლის ქვეშ გააჩერა და წავიდა. ავტომობილის შიგნით ტემპერატურა შეიცვლება "შეუფერხებლად". რა მოხდება, თუ თავდამსხმელი შეეცდება მანქანაში შეჭრას? მაგალითად, ის შეძლებს კარის გაღებას. მანქანაში ტემპერატურა სწრაფად შეიცვლება, რადგან სალონში ჰაერი იწყებს ჰაერთან შერევას გარემო. მგონი იმუშავებს.


GY-521 MPU6050-ის ძირითადი მახასიათებლები

3 ღერძიანი გიროსკოპი + 3 ღერძიანი ამაჩქარებლის მოდული GY-521 MPU-6050 ჩიპზე. საშუალებას გაძლევთ განსაზღვროთ ობიექტის პოზიცია და მოძრაობა სივრცეში, კუთხური სიჩქარეროდესაც ბრუნავს. მას ასევე აქვს ჩაშენებული ტემპერატურის სენსორი. იგი გამოიყენება სხვადასხვა ვერტმფრენებში და თვითმფრინავების მოდელებში, ასევე შესაძლებელია ამ სენსორების საფუძველზე მოძრაობის დაჭერის სისტემის აწყობა.

ჩიპი - MPU-6050
მიწოდების ძაბვა - 3.5V-დან 6V-მდე (DC);
გიროს დიაპაზონი - ±250 500 1000 2000°/წმ
ამაჩქარებლის დიაპაზონი - ±2±4±8±16გ
საკომუნიკაციო ინტერფეისი - I2C
ზომა - 15x20 მმ.
წონა - 5 გ


ჯდება!

ვიბრაციის სენსორიც გამოგადგებათ. უეცრად მანქანის გახსნას ცდილობენ" უხეში ძალა“, ან სადგომზე სხვა მანქანა დაეჯახება თქვენს მანქანას. ავიღოთ ვიბრაციის სენსორი SW-420 (რეგულირებადი).


SW-420-ის ძირითადი მახასიათებლები

მიწოდების ძაბვა - 3.3 - 5V
გამომავალი სიგნალი - ციფრული მაღალი/დაბალი (ჩვეულებრივ დახურული)
გამოყენებული სენსორი - SW-420
გამოყენებული შედარებითი არის LM393
ზომები - 32x14 მმ
დამატებით - არის რეგულირების რეზისტორი.


ჯდება!

დახურეთ SD მეხსიერების ბარათის მოდული. ჩვენ ასევე დავწერთ ჟურნალის ფაილს.


SD მეხსიერების ბარათის მოდულის ძირითადი მახასიათებლები

მოდული საშუალებას გაძლევთ შეინახოთ, წაიკითხოთ და ჩაწეროთ SD ბარათზე მიკროკონტროლერზე დაფუძნებული მოწყობილობის მუშაობისთვის საჭირო მონაცემები. მოწყობილობის გამოყენება აქტუალურია ფაილების შენახვისას ათობით მეგაბაიტიდან ორ გიგაბაიტამდე. დაფა შეიცავს SD ბარათის კონტეინერს, ბარათის კვების სტაბილიზატორს და კონექტორს ინტერფეისისა და ელექტროგადამცემი ხაზებისთვის. თუ გჭირდებათ აუდიო, ვიდეო ან სხვა ფართომასშტაბიანი მონაცემებით მუშაობა, მაგალითად, მოვლენების აღრიცხვა, სენსორული მონაცემები ან ვებ სერვერის ინფორმაციის შესანახად, მაშინ Arduino-სთვის SD მეხსიერების ბარათის მოდული შესაძლებელს გახდის SD ბარათის გამოყენებას. მიზნები. მოდულის გამოყენებით შეგიძლიათ შეისწავლოთ SD ბარათის მახასიათებლები.
მიწოდების ძაბვა - 5 ან 3,3 ვ
SD ბარათის მეხსიერების მოცულობა - 2 გბ-მდე
ზომები - 46 x 30 მმ


ჯდება!

და მოდით დავამატოთ სერვო დრაივი, როდესაც სენსორები ამოქმედდება, სერვოდისკი ვიდეო ჩამწერით გადაიქცევა და გადაიღებს ინციდენტის ვიდეოს. ავიღოთ MG996R სერვოდისკი.


MG996R Servo Drive-ის ძირითადი მახასიათებლები

სტაბილური და საიმედო დაცვადაზიანებისგან
- ლითონის წამყვანი
- ორმაგი რიგის ბურთის საკისარი
- მავთულის სიგრძე 300 მმ
- ზომები 40x19x43 მმ
- წონა 55 გ
- ბრუნვის კუთხე: 120 გრადუსი.
- სამუშაო სიჩქარე: 0.17 წმ/60 გრადუსი (4.8 ვ დატვირთვის გარეშე)
- ოპერაციული სიჩქარე: 0.13 წმ/60 გრადუსი (6V დატვირთვის გარეშე)
- საწყისი ბრუნვის მომენტი: 9,4 კგ/სმ 4,8 ვ დენის წყაროზე
- საწყისი ბრუნვის მომენტი: 11 კგ/სმ 6 ვ დენის წყაროზე
- ოპერაციული ძაბვა: 4.8 - 7.2V
- ყველა წამყვანი ნაწილი დამზადებულია ლითონისგან


ჯდება!

ჩვენ ვაგროვებთ

Google-ში თითოეული სენსორის დაკავშირების შესახებ დიდი თანხასტატიები. და მე არ მაქვს ახალი ველოსიპედების გამოგონების სურვილი, ამიტომ დავტოვებ ბმულებს მარტივ და სამუშაო ვარიანტებზე.

GSM-lib იწერება ქვეშ Arduino IDEვერსია 1.0. ჩამოტვირთეთ ბიბლიოთეკის უახლესი ვერსია მზა მაგალითებიშეიძლება გამოყენებულ იქნას პროექტის საცავიდან. ინსტალაციისთვის გახსენით GSM არქივი ბიბლიოთეკების დირექტორიაში (/arduino-1.0/libraries/GSM). გარემოს დაწყების შემდეგ არდუინოს განვითარება, პროგრამის მენიუში „ფაილი -> მაგალითები“ გამოჩნდება GSM პუნქტი, ესკიზების მაგალითებით.

GSM ბიბლიოთეკა შექმნილია " " ფართან მუშაობისთვის. იგი თავსებადია აპარატურასთან არდუინოს დაფები(Uno, Duemilanove და სხვა ანალოგები). სხვა დაფების გამოყენებისას, შესაძლოა დაგჭირდეთ ცვლილებების შეტანა GSM.cpp-ში, რათა მიუთითოთ სწორი პორტი, რომელზეც არის დაკავშირებული მოდემის ჩართვის ხაზი ფარიდან.

IN ამჟამადბიბლიოთეკა ახორციელებს შემდეგ ფუნქციებს.

  • რეგისტრაცია GSM ქსელში
  • SMS-ის გაგზავნა
  • SMS-ის მიღება და ანალიზი
  • მიიღეთ შემომავალი ზარები
  • კავშირის სტატუსის შემოწმება GSM ქსელი, ქსელის აღდგენა სიგნალის დაკარგვის შემთხვევაში

რეგისტრაცია GSM ქსელში

ქსელში მოდემის დასარეგისტრირებლად უნდა მიუთითოთ SIM ბარათის PIN კოდი. მნიშვნელოვანია გვახსოვდეს, რომ თუ მიუთითებთ არასწორი ნომერი SIM ბარათი შეიძლება დაიბლოკოს, რადგან ინიციალიზაციის ფუნქცია პერიოდულად განმეორდება, სანამ წარმატებები. ინიციალიზაციის პროცესს ჩვეულებრივ დაახლოებით 1 წუთი სჭირდება.

პირველადი ინიციალიზაცია ხორციელდება setup() ფუნქციაში.

#შეიცავს #შეიცავს const char PIN PROGMEM = "0000"; // PIN void setup() ( while (GSM.Init(PIN)<0); // Регистрация в сети GSM.NewSMSindic(); // Настройка индикатора новых SMS GSM.WaitCall(); // Ждем входящие вызовы GSM.WaitSMS(); // Ждем входящих SMS }

SMS-ის გაგზავნა

ტექსტური შეტყობინებების გასაგზავნად გამოიყენეთ SendSMS() ფუნქცია, რომელიც გადის 2 პარამეტრს - SMS მიმღების ნომერს და თავად შეტყობინებას.

while(GSM.SendSMS(RemoteID, "გამარჯობა Arduino-დან!")< 0);

სადაც RemoteID არის მიმღების ნომერი. სასურველია ეს მუდმივი განთავსდეს პროგრამის სათაურში.

Const char RemoteID PROGMEM = "+79280000000";

შეტყობინების ტექსტი ასევე შეიძლება დინამიურად გენერირებული იყოს.

სტრიქონი ტექსტური შეტყობინება; textMessage += "Sensor1"; textMessage += "Sensor2"; char Out; textMessage.toCharArray(Out,(textMessage.length())+1); while(GSM.SendSMS(RemoteID, Out)< 0);

SMS-ის მიღება და ანალიზი

შემომავალი SMS შეტყობინებების წასაკითხად გამოიყენეთ ReadSMS() ფუნქცია, რომელსაც გადაეცემა 2 პარამეტრი - SMS ინდექსი და მაჩვენებელი, სადაც მოხდება ტექსტის კოპირება. ქვემოთ მოცემულია ესკიზის ფრაგმენტი, რომელიც აანალიზებს შემომავალი შეტყობინების ტექსტს. როცა SMS უდრის 1-ს, ვასრულებთ რაიმე მოქმედებას, ხოლო როცა უდრის 2-ს, ვასრულებთ სხვა მოქმედებას. SmsCheck.ino ესკიზის სრული მაგალითისთვის იხილეთ მაგალითები.

თუ (GSM.CheckSMS()== 1) ( //არსებობს ახალი SMS GSM.ReadSMS(NewSMS_index, (char*) SMStxt); GSM.DeleteAllSMS(); // წაშალე SMS (ჩვენ არ დავაგროვებთ!) strSMS = String( SMStxt if(strSMS == "1") ( // შეასრულე მოქმედება 1 აქ) if(strSMS == "2") ( // შეასრულე მოქმედება 2 აქ) GSM.WaitCall();

Შენიშვნა. GSM ბიბლიოთეკა მხოლოდ ლათინური ასოებით მუშაობს;

მიიღეთ შემომავალი ზარები

ეს ფუნქცია სასარგებლოა მაშინ, როდესაც გჭირდებათ ფარის მხრიდან საკმაოდ სწრაფი პასუხის მიღება. მიუხედავად იმისა, რომ SMS შეტყობინებების მიწოდება შესაძლებელია მცირე დაგვიანებით, შემომავალი ზარები თითქმის მყისიერად ხდება. გარდა ამისა, ასეთი ფუნქციის გამოყენება უფასო იქნება, თუ ტელეფონს არ აიღებთ.

მაგალითად, შეგიძლიათ დარეკოთ ფარზე, შეამოწმოთ აბონენტის ნომერი Arduino-ზე და თუ ის ემთხვევა შაბლონის ნომერს, გაუგზავნოთ SMS სენსორის წაკითხვით. შემდეგი ფრაგმენტი ახორციელებს მსგავს ფუნქციას. CallCheck.ino ესკიზის სრული ვერსიისთვის იხილეთ მაგალითები.

თუ (შემომავალი ზარი == 1) ( //ზარი მოვიდა! ხოლო (GSM.TerminateCall()<0); // Ложим трубку IncomingCall = 0; // Проверяем, если номер звонящего CallerID совпал с шаблоном RemoteID if (strstr_P(CallerID, RemoteID)) { while(GSM.SendSMS(RemoteID, "Hello from Arduino!") < 0);// SMS из SRAM памяти } GSM.WaitCall(); }

GSM ქსელთან კავშირის სტატუსის შემოწმება

არის სიტუაციები, როდესაც ქსელთან კავშირი იკარგება. ქსელის დაკარგვის გამოსავლენად გამოიყენეთ CheckStatus() ფუნქცია, რომელიც აბრუნებს 0-ს ქსელთან კავშირის დაკარგვისას. გამოყენების მაგალითი მოცემულია შემდეგ კოდის ბლოკში.

// გარკვეული ინტერვალებით ვამოწმებთ GPRS კავშირის სტატუსს! if(currentMillis - previousMillis > ინტერვალი) ( if ((GSM.CheckStatus() != 1)) ( // GPRS კავშირი არ დამყარდა! ხოლო (GSM.Init(PIN)<0); // Делаем инициализацию } GSM.WaitCall(); currentMillis = previousMillis = millis(); }

თვითნებური AT ბრძანებების შესრულება ესკიზიდან

ესკიზიდან AT ბრძანებების შესასრულებლად გამოიყენება WriteStr_P() ფუნქცია.

GSM.WriteStr_P(PSTR("AT\r\n"));

სტატია მათთვის, ვისაც სურს აიძულოს Arduino, გაგზავნოს SMS ამ გზით GSM მოდული . SIM900 ჩიპზე დაფუძნებული NEOWAY M590 მოდული შესაფერისია ხელნაკეთი განგაშის სისტემის და ჭკვიანი სახლის შესაქმნელად. ასევე არის ალტერნატიული GSM მოდული, რომელიც პირდაპირ უკავშირდება Arduino-ს 5 ვოლტის საშუალებით: Sim800L EVB v2.0

პრობლემის ფორმულირება

  • მხოლოდ Arduino-ს და GSM მოდულის გამოყენებით, მართეთ LED შუქი თქვენი ტელეფონიდან ზარის საშუალებით.
  • გაგზავნეთ SMS (როდესაც ბრძანების მეშვეობით მოდის პორტის მონიტორი Arduino IDE-ში)

არდუინოსთან დაკავშირება

ჩვენ ვუკავშირებთ GSM მოდულს Arduino-ს.
5V მოდული -> 5V Arduino
მოდული GND -> Arduino GND
TX მოდული -> ციფრული pin2 Arduino
RX მოდული -> ციფრული pin3 Arduino
პინოტი ჩანს ფოტოზე. კონტაქტების თანმიმდევრობა ასეთია: 1 - +5V, 2 - GND, 7 - TX, 8 - RX.


მოდული შეიძლება იკვებებოდეს 4 ვ-დან 5 ვ-მდე, მე გამოვიყენე 5 ვოლტიანი გამომავალი.

მოდული მოითხოვს ცალკე საკვები, რადგან პიკში მოიხმარს 2A-მდე. კონდენსატორი, სავარაუდოდ, არ დაეხმარება. ამიტომ, როდესაც იკვებება Arduino-ზე, ის შეიძლება არ იმუშაოს ან შეიძლება ჩავარდეს.

Arduino-ს და GSM მოდულის დამიწება ცალკე ელექტრომომარაგებით უნდა იყოს დაკავშირებული, მაგრამ ჯერ უნდა გაზომოთ ძაბვა ამ „მიწებს“ შორის მულტიმეტრით. Ზოგიერთი კომპიუტერული ბლოკებიდენის წყაროს აქვს პოტენციური ვარდნა კორპუსზე და USB მიწაზე 100 ვ-მდე. დენი იქ არის პატარა და არ შეუძლია მოკვლა, მაგრამ ადვილია გაანადგურო Arduino ან GSM მოდული ან ორივე ერთად.

ესკიზი

#შეიცავს< პროგრამული სერიული. თ> პროგრამული სერიული mySerial(2, 3); // RX, TX int ch = 0; int led = 13; String val = "" ; void setup() (
დაგვიანება (2000); //მოდულის pinMode ინიციალიზაციის დრო (led, OUTPUT); digitalWrite(led, LOW); სერიალი. დაწყება (9600); //პორტის სიჩქარე სერიალი. println ("GSM ტესტერი v1.0"); mySerial. დაწყება (9600); mySerial. println ("AT+CLIP=1"); //ჩართეთ Caller ID დაყოვნება (100) ; mySerial. println ("AT+CMGF=1"); //SMS კოდირების რეჟიმი - ნორმალური (ინგლისურისთვის)დაგვიანებით (100); mySerial. println("AT+CSCS=\"GSM\"" ); //ტექსტის კოდირების რეჟიმიდაგვიანება (100); ) void loop () ( if (mySerial . ხელმისაწვდომია () ) ( //თუ GSM მოდულმა გამოგვიგზავნა რამე, მაშინხოლო (mySerial.available()) ( //შესვლის სტრიქონის შენახვა val ცვლადში ch = mySerial. read(); val += char (ჩ); დაგვიანებით(10); ) if (val . indexOf ( "RING" ) > - 1 ) ( //თუ ზარი გამოვლინდა, მაშინ შეამოწმეთ ნომერი if (val. indexOf ("71234567890") > - 1) ( //თუ აბონენტის ნომერი ჩვენია. შეიყვანეთ თქვენი ნომერი "+"-ის გარეშე სერიალი. println ( "--- გამოვლენილია მთავარი რგოლი ---") ; mySerial. println ("ATH0"); //კავშირის გაწყვეტა digitalWrite(led, HIGH); //ჩართეთ LED 3 წამითდაგვიანებით (3000); digitalWrite(led, LOW); //რელეს გამორთვა ) ) სხვა სერიალი. println(val); //მიღებული ხაზის ამობეჭდვა პორტის მონიტორზე val = "" ; ) თუ ( სერიალი. ხელმისაწვდომია () ) ( //თუ რამე შეიყვანება პორტის მონიტორშიხოლო ( სერიალი. ხელმისაწვდომია () ) ( //სტრიქონის შენახვა ცვლადში val ch = სერიალი. read(); val += char (ჩ); დაგვიანებით(10); ) //mySerial.println(val); //პორტის მონიტორში აკრეფილი ყველა ბრძანების GSM მოდულზე გადატანა if (val. indexOf ("sendsms") > - 1) ( //თუ ხედავთ SMS გაგზავნის ბრძანებას sms (სტრიქონი ("გამარჯობა სამყარო"), სტრიქონი ("+71234567890")); //გაგზავნეთ SMS ნომერზე +71234567890) val = "" ; //გასუფთავება ) ) void sms (სტრიქონი ტექსტი, სიმებიანი ტელეფონი) //SMS გაგზავნის პროცედურა { სერიალი. println("SMS გაგზავნა დაიწყო" ); mySerial. println ("AT+CMGS=\"" + ტელეფონი + "\"" ); დაგვიანებით (500); mySerial. ბეჭდვა (ტექსტი); დაგვიანებით (500); mySerial. ბეჭდვა ((char ) 26 ); დაგვიანებით (500); სერიალი. println ("SMS გაგზავნა დასრულებულია"); დაგვიანება (2000); )

ექსპერტიზა


GPRS

განხილული მოდულის 1.30 ვერსიაში GPRS მხარდაჭერა შემცირებულია. მე ვერ შევძელი სერვერთან დაკავშირება მისი DNS სახელით (მაგალითად mysite.ru), მე მხოლოდ მისი IP მისამართით მივაღწიე წარმატებას. სხვა SIM800L მოდულში ასეთი პრობლემები არ ყოფილა.

ზოგიერთი AT ბრძანების სია:



გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს:



AT+CMGF=1 ჩართულია ტექსტის რეჟიმი(SMS მხოლოდ ლათინურად)
AT+CSCS= "GSM" ჩართულია რეჟიმი
AT+CLIP=1 ჩართეთ აბონენტის ID შემომავალი ზარი
თუ თქვენ გაგზავნით ბრძანებას 0-ით, ნომრის იდენტიფიკაცია გაითიშება და მოდული აბონენტის ნომრის ნაცვლად გაგზავნის მხოლოდ შეტყობინებას "RING".
AT+CMGS="+79123456789" SMS-ის გაგზავნა
ATI მიიღეთ მოწყობილობის ინფორმაცია
AT+IPR=19200 პორტის სიჩქარის დაყენება
AT+GSN დააბრუნებს მოდულის IMEI-ს
AT+CCLK? წაიკითხეთ დრო მოდულიდან
AT+CCLK=“წთ/მმ/დდ,სთ:მთ:სს+ზზ” სადაც ბრძანება არის „წელი/თვე/თარიღი, საათი: წუთი: წამი + დროის ზონა“ მონაცემები უნდა გაიგზავნოს წინა ნულებით, ანუ, მაგალითად, თუ ჩვენი თვეა „4“, მაშინ უნდა გაიგზავნოს „04“. .
Დაიბრუნე მიმდინარე დროდა თარიღის გაგზავნა შესაძლებელია იმავე ბრძანების გაგზავნით, მხოლოდ "?"
AT+CMEE=0 შეცდომის ინფორმაციის დონე. შეიძლება იყოს 0-დან 2-მდე.
0 - გამორთულია. ის უბრალოდ დაწერს ERROR-ს.
1 - შეცდომის კოდი. Დაბრუნდება ციფრული კოდიშეცდომები.
2 - შეცდომის აღწერა. ის ზუსტად დაწერს რა არ მოსწონს გუნდში.
მოდულთან მუშაობა ტერმინალის მეშვეობით უფრო მოსახერხებელი რეჟიმები ATV1, ATE1 AT+CMEE=2, მიკროკონტროლერთან კომუნიკაციისთვის უმჯობესია გამოიყენოთ ATV0, ATE0 და AT+CMEE=0 - ეს გაადვილებს მიღებული პასუხების დამუშავებას.
ეს პარამეტრები არ შეინახება მოდულის გადატვირთვის შემდეგ, ამიტომ ეს ბრძანებები უნდა შეიტანოთ პროგრამის კოდში.
AT+CSQ ინფორმაცია სიგნალის ხარისხის შესახებ.
მოდული დააბრუნებს ორ რიცხვს +CSQ: 17.0
17 - სიგნალის დონე. შეიძლება იყოს 0..31 ან 99 დიაპაზონში. ვიდრე მეტი თემაუკეთესია, მაგრამ 99 ნიშნავს მის არარსებობას.
0 - კომუნიკაციის შეცდომის მაჩვენებელი (ე.წ. RXQUAL). შეიძლება იყოს 0-დან 7-მდე, რაც უფრო დაბალია რიცხვი, მით უკეთესი იქნება კომუნიკაციის ხარისხი.
AT+COPS? ინფორმაცია ოპერატორის შესახებ, რომლის ქსელშიც რეგისტრირებულია მოდული
ATD+79121234567; ნომრის აკრეფა. (";" აუცილებლად)
მოდული დარეკავს მითითებული ნომერიდა დააბრუნებს ერთ-ერთ ვარიანტს
BUSY - ნომერი დაკავებულია
NO DIALTONE - არ არის სიგნალი ხაზზე
NO CARRIER - არ არის ქსელი ან სხვა პრობლემა (მაგალითად, ანგარიშზე ფული არ არის)
NA პასუხი - პასუხი არ არის
დაკავშირება - არის კონტაქტი!
AT+CMGR=3.0