ចាក់សោអេឡិចត្រូនិចនៅលើ Arduino ។ ការចាក់សោកូដ Arduino

មេរៀនថ្ងៃនេះគឺអំពីរបៀបប្រើឧបករណ៍អាន RFID ជាមួយ Arduino ដើម្បីបង្កើតប្រព័ន្ធចាក់សោសាមញ្ញ, នៅក្នុងពាក្យសាមញ្ញ- ចាក់សោ RFID ។

RFID (ការកំណត់អត្តសញ្ញាណប្រេកង់វិទ្យុជាភាសាអង់គ្លេស ការកំណត់អត្តសញ្ញាណប្រេកង់វិទ្យុ) គឺជាវិធីសាស្រ្តនៃការកំណត់អត្តសញ្ញាណដោយស្វ័យប្រវត្តិនៃវត្ថុដែលទិន្នន័យដែលបានរក្សាទុកនៅក្នុងអ្វីដែលគេហៅថាឧបករណ៍បញ្ជូនសញ្ញា ឬស្លាក RFID ត្រូវបានអាន ឬសរសេរដោយប្រើសញ្ញាវិទ្យុ។ ប្រព័ន្ធ RFID ណាមួយមានឧបករណ៍អាន (អ្នកអាន អ្នកអាន ឬអ្នកសួរចម្លើយ) និងឧបករណ៍បញ្ជូន (ត្រូវបានគេស្គាល់ថាជាស្លាក RFID ជួនកាលពាក្យថា RFID ស្លាកក៏ត្រូវបានគេប្រើផងដែរ) ។

ការបង្រៀននេះនឹងប្រើស្លាក RFID ជាមួយ Arduino ។ ឧបករណ៍អានឧបករណ៍កំណត់អត្តសញ្ញាណតែមួយគត់ (UID) នៃស្លាក RFID នីមួយៗដែលយើងដាក់នៅជាប់អ្នកអាន ហើយបង្ហាញវានៅលើអេក្រង់ OLED ។ ប្រសិនបើ UID នៃស្លាកគឺស្មើនឹងតម្លៃដែលបានកំណត់ទុកជាមុនដែលត្រូវបានរក្សាទុកក្នុងអង្គចងចាំ Arduino នោះយើងនឹងឃើញសារ "ដោះសោ" នៅលើការបង្ហាញ។ ប្រសិនបើលេខសម្គាល់តែមួយគត់មិនស្មើនឹងតម្លៃដែលបានកំណត់ជាមុន សារ "ដោះសោ" នឹងមិនបង្ហាញទេ - មើលរូបថតខាងក្រោម។

ប្រាសាទនេះត្រូវបានបិទ

សោរបើក

ផ្នែកដែលត្រូវការដើម្បីបង្កើតគម្រោងនេះ៖

  • ឧបករណ៍អាន RFID RC522
  • អេក្រង់ OLED
  • ក្រុមប្រឹក្សាអភិវឌ្ឍន៍
  • ខ្សភ្លើង

ព័ត៌មានលម្អិតបន្ថែម៖

  • ថ្ម (powerbank)

ការចំណាយសរុបនៃធាតុផ្សំនៃគម្រោងគឺប្រហែល 15 ដុល្លារ។

ជំហានទី 2: ឧបករណ៍អាន RFID RC522

ស្លាក RFID នីមួយៗមានបន្ទះឈីបតូចមួយ (កាតពណ៌សបង្ហាញក្នុងរូបថត) ។ ប្រសិនបើអ្នកចាំងពិលនៅលើកាត RFID នេះ អ្នកអាចមើលឃើញបន្ទះសៀគ្វីតូច និងឧបករណ៏ដែលព័ទ្ធជុំវិញវា។ បន្ទះឈីបនេះមិនមានថ្មដើម្បីបង្កើតថាមពលទេ។ វាទទួលថាមពលពីអ្នកអានដោយឥតខ្សែដោយប្រើឧបករណ៏ដ៏ធំនេះ។ វាអាចទៅរួចក្នុងការអានកាត RFID ដូចនេះពីចម្ងាយរហូតដល់ 20mm ។

បន្ទះឈីបដូចគ្នានេះក៏មាននៅក្នុងស្លាក fob key RFID ផងដែរ។

ស្លាក RFID នីមួយៗមានលេខតែមួយគត់ដែលកំណត់អត្តសញ្ញាណវា។ នេះគឺជា UID ដែលត្រូវបានបង្ហាញនៅលើអេក្រង់ OLED ។ លើកលែងតែ UID នេះ ស្លាកនីមួយៗអាចផ្ទុកទិន្នន័យបាន។ កាតប្រភេទនេះអាចផ្ទុកទិន្នន័យរហូតដល់ 1 ពាន់។ គួរអោយចាប់អារម្មណ៍មែនអត់? មុខងារនេះនឹងមិនត្រូវបានប្រើនៅថ្ងៃនេះទេ។ សព្វថ្ងៃនេះ អ្វីដែលគួរឱ្យចាប់អារម្មណ៍គឺការកំណត់អត្តសញ្ញាណប័ណ្ណជាក់លាក់មួយដោយ UID របស់វា។ តម្លៃនៃឧបករណ៍អាន RFID និងកាត RFID ទាំងពីរនេះគឺប្រហែល 4 ដុល្លារ។

ជំហានទី 3: អេក្រង់ OLED

មេរៀនប្រើប្រាស់ម៉ូនីទ័រ OLED ទំហំ 0.96" 128x64 I2C ។

នេះ​ជា​ការ​បង្ហាញ​ដ៏​ល្អ​សម្រាប់​ប្រើ​ជាមួយ Arduino ។ នេះគឺជាអេក្រង់ OLED ហើយមានន័យថាវាមានការប្រើប្រាស់ថាមពលតិច។ ការប្រើប្រាស់ថាមពលនៃអេក្រង់នេះគឺប្រហែល 10-20mA ហើយវាអាស្រ័យលើចំនួនភីកសែល។

អេក្រង់មានកម្រិតបង្ហាញ 128 គុណនឹង 64 ភីកសែល និងមានទំហំតូច។ មានជម្រើសបង្ហាញពីរ។ មួយ​គឺ​ពណ៌​តែមួយ ហើយ​មួយ​ទៀត​ដូច​ពណ៌​ដែល​ប្រើ​ក្នុង​ការ​បង្រៀន​អាច​បង្ហាញ​ពីរ​ពណ៌៖ លឿង និង​ខៀវ។ ផ្នែកខាងលើនៃអេក្រង់អាចមានពណ៌លឿង ហើយផ្នែកខាងក្រោមអាចមានពណ៌ខៀវប៉ុណ្ណោះ។

អេក្រង់ OLED នេះភ្លឺខ្លាំង ហើយមានបណ្ណាល័យដ៏អស្ចារ្យ និងស្រស់ស្អាតដែល Adafruit បានបង្កើតសម្រាប់អេក្រង់នេះ។ បន្ថែមពីលើនេះ ការបង្ហាញប្រើចំណុចប្រទាក់ I2C ដូច្នេះការភ្ជាប់ទៅ Arduino គឺងាយស្រួលមិនគួរឱ្យជឿ។

អ្នកគ្រាន់តែត្រូវភ្ជាប់ខ្សែពីរប៉ុណ្ណោះ លើកលែងតែ Vcc និង GND។ ប្រសិនបើអ្នកទើបតែប្រើ Arduino ហើយចង់ប្រើការបង្ហាញដែលមានតំលៃថោក និងសាមញ្ញនៅក្នុងគម្រោងរបស់អ្នក សូមចាប់ផ្តើមនៅទីនេះ។

ជំហានទី 4: ភ្ជាប់ផ្នែកទាំងអស់។

នៅក្នុងអត្ថបទនេះខ្ញុំនឹងប្រាប់អ្នកពីរបៀបបង្កើតសោរួមបញ្ចូលគ្នាពី Arduino ។ សម្រាប់បញ្ហានេះ យើងត្រូវការ LEDs ពណ៌ក្រហម និងបៃតង buzzer មួយ Arduino nano អេក្រង់ LCD ជាមួយ I2C converter មួយ servo drive និង keyboard matrix 4x4។ នៅពេលបើក ការបង្ហាញនឹងសរសេរ "បញ្ចូលកូដ"។

LED ពណ៌ក្រហមនឹងបើក,

ហើយភ្លើងពណ៌បៃតងនឹងរលត់ servo នឹងត្រូវបានកំណត់ទៅ 0°។ នៅពេលអ្នកបញ្ចូលលេខ * នឹងភ្លឺនៅលើអេក្រង់។

ប្រសិនបើលេខកូដត្រូវបានបញ្ចូលមិនត្រឹមត្រូវ ការបង្ហាញនឹងសរសេរ "បញ្ចូលកូដ"។ ប្រសិនបើលេខកូដត្រឹមត្រូវ សំឡេងប៊ីបនឹងបន្លឺឡើង servo នឹងបង្វិល 180° ហើយអេក្រង់នឹងអានថា "Open"។

LED ពណ៌បៃតងនឹងបើក,

ហើយពណ៌ក្រហមនឹងបិទ។ បន្ទាប់ពី 3 វិនាទី servo នឹងត្រលប់ទៅទីតាំងដំបូងរបស់វា LED ពណ៌ក្រហមនឹងបើកហើយ LED ពណ៌បៃតងនឹងរលត់ទៅអេក្រង់នឹងសរសេរថា "បិទ" ។

បន្ទាប់មកអេក្រង់នឹងសរសេរ "បញ្ចូលកូដ" ។ ឥឡូវនេះអំពីគ្រោងការណ៍។ ដំបូងយើងភ្ជាប់ Arduino ជាមួយខ្សែ ក្រុមប្រឹក្សាអភិវឌ្ឍន៍(ទំនាក់ទំនងថាមពល) ។

បន្ទាប់មកយើងភ្ជាប់ក្តារចុចម៉ាទ្រីសទៅទំនាក់ទំនង D9 - D2 ។

បន្ទាប់មក servo ។ យើងភ្ជាប់វាទៅម្ជុលលេខ 10 ។

ភ្លើង LED ក្រហម ១១.

បៃតង - ដើម្បីម្ជុល 12 ។

Buzzer - ដើម្បី pin 13.

ឥឡូវ​នេះ​ផ្ទុក​ឡើង​គំនូរ​ព្រាង។

# រួមបញ្ចូល # រួមបញ្ចូល # រួមបញ្ចូល # រួមបញ្ចូល iarduino_KB KB(9, 8, 7, 6, 5, 4, 3, 2); អេក្រង់ LCD LiquidCrystal_I2C (0x27, 16, 2); សឺវីស servo; int pass = (3, 6, 1, 8); int នៅក្នុង; int r = 11; int g = 12; void setup() ( KB.begin(KB1); pinMode(r, OUTPUT); pinMode(g, OUTPUT); lcd.init(); lcd.backlight(); digitalWrite(g, LOW); digitalWrite(r, HIGH ); servo.attach(10); lcd.setCursor(0, 0); void loop() (lcd.clear(); lcd.print("បញ្ចូលកូដ។"); while (!KB.check(KEY_DOWN)) (ពន្យាពេល(1); ) ក្នុង = KB.getNum; lcd.setCursor(0, 0); (!KB.check(KEY_DOWN)) ( delay(1); ) in = KB.getNum; lcd.print("*"); while (!KB.check(KEY_DOWN)) ( delay(1); ) in = KB.getNum("*"); ប្រសិនបើ (ក្នុង == ឆ្លងកាត់) (ប្រសិនបើ (ក្នុង == ឆ្លងកាត់) (ប្រសិនបើ (ក្នុង == ឆ្លងកាត់) (ប្រសិនបើ (ក្នុង == ឆ្លងកាត់) ( lcd.clear(); lcd.setCursor (0, 0); lcd.print("បើក។"); សម្លេង(13, 400, 750); "); tone(13, 300, 700); digitalWrite(g, LOW); delay(1000);

)))))

នោះហើយជាវា។ សូមរីករាយជាមួយការចាក់សោរួមបញ្ចូលគ្នា!

បញ្ជីនៃធាតុវិទ្យុសកម្ម ការកំណត់ ប្រភេទ និកាយ បរិមាណចំណាំហាង
បន្ទះចំណាំរបស់ខ្ញុំ អ៊ី ១

បន្ទះ Arduino

1 Arduino Nano 3.0 5V
ទៅ notepad E8, E9

រេស៊ីស្តង់

2 220 Ohm 5V
SMD អ៊ី៦

LED

1 AL102G 5V
ក្រហម អ៊ី៦

អ៊ី ៧

1 AL307G 5V
បៃតង អ៊ី ៣អេក្រង់ LCD1 ជាមួយនឹងចំណុចប្រទាក់ I2C 5V
អំពូល Backlight ពណ៌បៃតង អ៊ី ៥សឺវ៉ូ1 SG90 5V
180 ដឺក្រេ។ អ៊ី ២Arduino Nano 3.01 Buzzer 5V
ប៊ូ អ៊ី ៤ក្ដារចុច1 4X4 5V
ម៉ាទ្រីស ទេបន្ទះនំប៉័ង1 ៦៤០ ពិន្ទុ

គ្មាន soldering

វឌ្ឍនភាពមិននៅស្ងៀមទេ ហើយ "សោរឆ្លាតវៃ" កាន់តែលេចឡើងនៅលើទ្វារផ្ទះល្វែង យានដ្ឋាន និងផ្ទះ។

ការចាក់សោស្រដៀងគ្នានឹងបើកនៅពេលអ្នកចុចប៊ូតុងនៅលើស្មាតហ្វូនរបស់អ្នក។ ជាសំណាងល្អ ស្មាតហ្វូន និងថេប្លេតបានចូលក្នុងជីវិតប្រចាំថ្ងៃរបស់យើងរួចហើយ។ ក្នុងករណីខ្លះ "សោរឆ្លាតវៃ" ត្រូវបានភ្ជាប់ទៅ "សេវាកម្មពពក" ដូចជា Google Drive ហើយបានបើកពីចម្ងាយ។ លើសពីនេះទៀតជម្រើសនេះធ្វើឱ្យវាអាចធ្វើទៅបានដើម្បីផ្តល់សិទ្ធិក្នុងការបើកទ្វារដល់មនុស្សផ្សេងទៀត។ គម្រោងនេះនឹងមានកំណែ DIYសោឆ្លាតវៃ

នៅលើ Arduino ដែលអាចបញ្ជាពីចម្ងាយពីគ្រប់ទីកន្លែងនៅលើផែនដី។

លើសពីនេះ គម្រោងនេះបានបន្ថែមសមត្ថភាពក្នុងការបើកសោ បន្ទាប់ពីកំណត់អត្តសញ្ញាណស្នាមម្រាមដៃ។ ចំពោះគោលបំណងនេះ ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃនឹងត្រូវបានរួមបញ្ចូល។ ជម្រើសបើកទ្វារទាំងពីរនឹងត្រូវបានដំណើរការដោយវេទិកា Adafruit IO ។

ការចាក់សោបែបនេះអាចជាជំហានដំបូងដ៏អស្ចារ្យនៅក្នុងគម្រោង Smart Home របស់អ្នក។

ដើម្បីធ្វើការជាមួយឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ មានបណ្ណាល័យដ៏ល្អមួយសម្រាប់ Arduino ដែលជួយសម្រួលដល់ដំណើរការដំឡើងឧបករណ៍ចាប់សញ្ញា។ គម្រោងនេះប្រើ Arduino Uno ។ បន្ទះ Adafruit CC3000 ត្រូវបានប្រើដើម្បីភ្ជាប់ទៅអ៊ីនធឺណិត។

តោះចាប់ផ្តើមជាមួយការភ្ជាប់ថាមពល៖

  • ភ្ជាប់ម្ជុល 5V ពីបន្ទះ Arduino ទៅផ្លូវដែកថាមពលក្រហម។
  • ម្ជុល GND ពី Arduino ភ្ជាប់ទៅផ្លូវដែកពណ៌ខៀវនៅលើបន្ទះសៀគ្វីដែលគ្មានជាតិដែក។

ចូរបន្តទៅការភ្ជាប់ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ៖

  • ដំបូងភ្ជាប់ថាមពល។ ដើម្បីធ្វើដូចនេះខ្សែពណ៌ក្រហមត្រូវបានភ្ជាប់ទៅផ្លូវដែក +5 V ហើយខ្សែខ្មៅទៅផ្លូវដែក GND;
  • ខ្សែពណ៌សនៃឧបករណ៏ភ្ជាប់ទៅ pin 4 នៅលើ Arduino ។
  • ខ្សែពណ៌បៃតងទៅ pin 3 នៅលើ microcontroller ។

ឥឡូវនេះសូមបន្តទៅម៉ូឌុល CC3000៖

  • យើងភ្ជាប់ IRQ pin ពីបន្ទះ CC3000 ទៅ pin 2 នៅលើ Arduino ។
  • VBAT - ម្ជុល 5 ។
  • CS - ដើម្បី pin 10 ។
  • បន្ទាប់ពីនេះ អ្នកត្រូវភ្ជាប់ម្ជុល SPI ទៅ Arduino: MOSI, MISO និង CLK - ទៅ pins 11, 12 និង 13 រៀងគ្នា។

ជាការប្រសើរណាស់, នៅចុងបញ្ចប់អ្នកត្រូវផ្តល់ថាមពល: Vin - ទៅ Arduino 5V (ផ្លូវដែកក្រហមនៅលើបន្ទះសៀគ្វីរបស់អ្នក) និង GND ទៅ GND (ផ្លូវរថភ្លើងពណ៌ខៀវនៅលើក្តារបន្ទះ) ។

រូបថតនៃគម្រោងដែលបានផ្គុំយ៉ាងពេញលេញត្រូវបានបង្ហាញខាងក្រោម៖

មុនពេលបង្កើតគំនូរព្រាងដែលនឹងផ្ទុកទិន្នន័យនៅលើ Adafruit IO អ្នកត្រូវផ្ទេរទិន្នន័យអំពីស្នាមម្រាមដៃរបស់អ្នកទៅឧបករណ៍ចាប់សញ្ញា។ បើមិនដូច្នោះទេ គាត់នឹងមិនទទួលស្គាល់អ្នកនៅថ្ងៃអនាគតទេ ;) យើងសូមណែនាំឱ្យធ្វើក្រិតឧបករណ៍ចាប់ស្នាមម្រាមដៃដោយប្រើ Arduino ដាច់ដោយឡែក។ ប្រសិនបើនេះជាលើកដំបូងរបស់អ្នកដែលធ្វើការជាមួយឧបករណ៍ចាប់សញ្ញានេះ យើងសូមណែនាំឱ្យអ្នកស្គាល់ខ្លួនអ្នកជាមួយនឹងដំណើរការក្រិតតាមខ្នាត និងការណែនាំលម្អិតសម្រាប់ធ្វើការជាមួយឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ។

ប្រសិនបើអ្នកមិនទាន់បានធ្វើវាទេ សូមបង្កើតគណនីជាមួយ Adafruit IO។

បន្ទាប់ពីនេះ យើងអាចបន្តទៅដំណាក់កាលបន្ទាប់នៃការបង្កើត "សោរឆ្លាតវៃ" នៅលើ Arduino៖ ពោលគឺ ការបង្កើតគំនូរព្រាងដែលនឹងបញ្ជូនទិន្នន័យទៅ Adafruit IO ។ ដោយសារកម្មវិធីនេះមានលក្ខណៈទូលំទូលាយក្នុងអត្ថបទនេះ យើងនឹងគូសបញ្ជាក់ និងពិចារណាតែផ្នែកសំខាន់ៗរបស់វា ហើយបន្ទាប់មកយើងនឹងផ្តល់នូវតំណភ្ជាប់ទៅកាន់ GitHub ដែលអ្នកអាចទាញយករូបភាពពេញ។

គំនូរព្រាងចាប់ផ្តើមដោយផ្ទុកបណ្ណាល័យចាំបាច់ទាំងអស់៖

# រួមបញ្ចូល

# រួមបញ្ចូល

# រួមបញ្ចូល

# រួមបញ្ចូល "Adafruit_MQTT.h"

#រួមបញ្ចូល "Adafruit_MQTT_CC3000.h"

# រួមបញ្ចូល

# រួមបញ្ចូល >

បន្ទាប់ពីនេះ អ្នកត្រូវកែតម្រូវគំនូរព្រាងបន្តិច ដោយបញ្ចូលប៉ារ៉ាម៉ែត្រនៃបណ្តាញ WiFi របស់អ្នក ដោយបញ្ជាក់ SSID និងពាក្យសម្ងាត់៖

#កំណត់ WLAN_SECURITY WLAN_SEC_WPA2>

លើសពីនេះទៀត អ្នកត្រូវតែបញ្ចូលឈ្មោះ និងសោ AIO របស់អ្នក ដើម្បីចូលទៅក្នុងគណនី Adafruit IO របស់អ្នក៖

#កំណត់ AIO_SERVERPORT 1883

#កំណត់ AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

បន្ទាត់ខាងក្រោមទទួលខុសត្រូវចំពោះអន្តរកម្ម និងដំណើរការទិន្នន័យពីឧបករណ៍ចាប់ស្នាមម្រាមដៃ។ ប្រសិនបើឧបករណ៍ចាប់សញ្ញាត្រូវបានធ្វើឱ្យសកម្ម (ស្នាមម្រាមដៃត្រូវគ្នា) វានឹងមាន "1"៖

const char FINGERPRINT_FEED PROGMEM = AIO_USERNAME "/feeds/fingerprint";

Adafruit_MQTT_បោះពុម្ពស្នាមម្រាមដៃ = Adafruit_MQTT_Publish(&mqtt, FINGERPRINT_FEED);

លើសពីនេះទៀត យើងត្រូវបង្កើតវត្ថុ SoftwareSerial សម្រាប់ឧបករណ៍ចាប់សញ្ញារបស់យើង៖

SoftwareSerial mySerial(3, 4);

បន្ទាប់ពីនេះ យើងអាចបង្កើតវត្ថុមួយសម្រាប់ឧបករណ៍ចាប់សញ្ញារបស់យើង៖

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

នៅខាងក្នុងគំនូរព្រាង យើងបង្ហាញថាលេខសម្គាល់ម្រាមដៃមួយណាដែលគួរធ្វើឱ្យសោរសកម្មនាពេលអនាគត។ ឧទាហរណ៍នេះប្រើលេខ 0 ដែលត្រូវនឹងលេខសម្គាល់នៃស្នាមម្រាមដៃដំបូងដែលប្រើដោយឧបករណ៍ចាប់សញ្ញា៖

int fingerID = 0;

បន្ទាប់ពីនេះ យើងចាប់ផ្តើមបញ្ជរ និងពន្យារពេលក្នុងគម្រោងរបស់យើង។ សំខាន់យើងចង់ឱ្យសោចូលដោយស្វ័យប្រវត្តិនៅពេលបើក។ ឧទាហរណ៍នេះប្រើការពន្យាពេល 10 វិនាទី ប៉ុន្តែអ្នកអាចកែតម្រូវតម្លៃនេះឱ្យសមនឹងតម្រូវការរបស់អ្នក៖

int activationCounter = 0;

int LastActivation = 0;

int activationTime = 10 * 1000;

នៅក្នុងតួនៃមុខងារ setup() យើងចាប់ផ្តើមឧបករណ៏ស្នាមម្រាមដៃ ហើយធានាថាបន្ទះឈីប CC3000 ត្រូវបានភ្ជាប់ទៅបណ្តាញ WiFi របស់អ្នក។

នៅក្នុងតួនៃមុខងារ loop() យើងភ្ជាប់ទៅ Adafruit IO ។ បន្ទាត់ខាងក្រោមទទួលខុសត្រូវចំពោះបញ្ហានេះ៖

បន្ទាប់ពីភ្ជាប់ទៅវេទិកា Adafruit IO យើងពិនិត្យមើលស្នាមម្រាមដៃចុងក្រោយ។ ប្រសិនបើវាត្រូវគ្នា ហើយសោមិនត្រូវបានដំណើរការទេ យើងផ្ញើ "1" ទៅ Adafruit IO ដើម្បីដំណើរការ៖

ប្រសិនបើ (fingerprintID == fingerID && lockState == មិនពិត) (

Serial.println(F("ការចូលប្រើដែលបានផ្តល់!"));

lockState = ពិត;

Serial.println(F("បរាជ័យ"));

Serial.println(F("យល់ព្រម!"));

LastActivation = មីលីស();

ប្រសិនបើនៅក្នុងមុខងារ loop() ការចាក់សោត្រូវបានធ្វើឱ្យសកម្ម ហើយយើងបានឈានដល់តម្លៃពន្យារពេលដែលបានចង្អុលបង្ហាញខាងលើ យើងផ្ញើ "0"៖

ប្រសិនបើ ((activationCounter - LastActivation > activationTime) && lockState == true) (

lockState = មិនពិត;

ប្រសិនបើ (! fingerprint.publish(state)) (

Serial.println(F("បរាជ័យ"));

Serial.println(F("យល់ព្រម!"));

អ្នកអាចទាញយកកំណែចុងក្រោយបំផុតនៃកូដនៅលើ GitHub ។

ដល់ពេលសាកល្បងគម្រោងរបស់យើងហើយ! កុំភ្លេចទាញយក និងដំឡើងបណ្ណាល័យចាំបាច់ទាំងអស់សម្រាប់ Arduino!

ត្រូវប្រាកដថាអ្នកបានធ្វើការផ្លាស់ប្តូរចាំបាច់ទាំងអស់ចំពោះគំនូរព្រាង ហើយបង្ហោះវាទៅក្នុង Arduino របស់អ្នក។ បន្ទាប់ពីនោះបើកបង្អួច Serial Monitor ។

នៅពេលដែល Arduino ភ្ជាប់ទៅបណ្តាញ WiFi ឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃនឹងចាប់ផ្តើមបញ្ចេញពន្លឺពណ៌ក្រហម។ ដាក់ម្រាមដៃរបស់អ្នកនៅលើឧបករណ៍ចាប់សញ្ញា។ លេខសម្គាល់គួរតែត្រូវបានបង្ហាញនៅក្នុងបង្អួចម៉ូនីទ័រសៀរៀល។ ប្រសិនបើវាត្រូវគ្នា សារ "យល់ព្រម!" នេះមានន័យថាទិន្នន័យត្រូវបានបញ្ជូនទៅម៉ាស៊ីនមេ Adafruit IO ។

ដ្យាក្រាមនិងគំនូរព្រាងសម្រាប់ការកំណត់រចនាសម្ព័ន្ធបន្ថែមទៀតនៃសោដោយប្រើឧទាហរណ៍ LED

ឥឡូវនេះ ចូរយើងដោះស្រាយជាមួយនឹងផ្នែកនៃគម្រោងនោះ ដែលទទួលខុសត្រូវដោយផ្ទាល់សម្រាប់ការគ្រប់គ្រង សោទ្វារ. ដើម្បីភ្ជាប់ទៅបណ្តាញឥតខ្សែ និងបើក/បិទសោ អ្នកនឹងត្រូវការម៉ូឌុល Adafruit ESP8266 បន្ថែម (ម៉ូឌុល ESP8266 មិនចាំបាច់មកពី Adafruit ទេ)។ ដោយប្រើឧទាហរណ៍ខាងក្រោម អ្នកអាចវាយតម្លៃថាតើវាមានភាពងាយស្រួលក្នុងការផ្លាស់ប្តូរទិន្នន័យរវាងវេទិកាពីរ (Arduino និង ESP8266) ដោយប្រើ Adafruit IO ។

នៅក្នុងផ្នែកនេះយើងនឹងមិនដំណើរការដោយផ្ទាល់ជាមួយសោទេ។ ជំនួសមកវិញ យើងនឹងភ្ជាប់ LED ទៅម្ជុល ដែលសោនឹងត្រូវបានភ្ជាប់នៅពេលក្រោយ។ វានឹងផ្តល់ឱ្យយើងនូវឱកាសដើម្បីសាកល្បងកូដរបស់យើងដោយមិនចាំបាច់ស្វែងយល់ពីភាពជាក់លាក់នៃការរចនាសោ។

គ្រោងការណ៍គឺសាមញ្ញណាស់: ដំបូងដំឡើង ESP8266 នៅលើក្តារបន្ទះ។ បន្ទាប់ពីនេះដំឡើង LED ។ កុំភ្លេចថាជើងវែង (វិជ្ជមាន) នៃ LED ត្រូវបានភ្ជាប់តាមរយៈរេស៊ីស្តង់។ ជើងទីពីរនៃរេស៊ីស្តង់ត្រូវបានភ្ជាប់ទៅម្ជុល 5 នៅលើម៉ូឌុល ESP8266 ។ យើងភ្ជាប់ខ្សែទីពីរ (cathode) នៃ LED ទៅម្ជុល GND នៅលើ ESP8266 ។

យ៉ាងពេញលេញ សៀគ្វីប្រមូលផ្តុំបង្ហាញក្នុងរូបថតខាងក្រោម។


ឥឡូវ​នេះ​សូម​មើល​គំនូរ​ព្រាង​ដែល​យើង​កំពុង​ប្រើ​សម្រាប់​គម្រោង​នេះ។ ជាថ្មីម្តងទៀត កូដមានទំហំធំ និងស្មុគស្មាញ ដូច្នេះយើងនឹងមើលតែផ្នែកសំខាន់ៗរបស់វាប៉ុណ្ណោះ៖

យើងចាប់ផ្តើមដោយភ្ជាប់បណ្ណាល័យចាំបាច់៖

# រួមបញ្ចូល

# រួមបញ្ចូល "Adafruit_MQTT.h"

#រួមបញ្ចូល "Adafruit_MQTT_Client.h"

កំណត់ការកំណត់វ៉ាយហ្វាយ៖

#កំណត់ WLAN_SSID "your_wifi_ssid"

#កំណត់ WLAN_PASS "your_wifi_password"

#កំណត់ WLAN_SECURITY WLAN_SEC_WPA2

យើងក៏កំណត់ប៉ារ៉ាម៉ែត្រ Adafruit IO ផងដែរ។ ដូចគ្នានឹងផ្នែកមុនដែរ៖

#កំណត់ AIO_SERVER "io.adafruit.com"

#កំណត់ AIO_SERVERPORT 1883

#កំណត់ AIO_USERNAME "adafruit_io_username"

#កំណត់ AIO_KEY "adafruit_io_key"

យើងចង្អុលបង្ហាញថាតើម្ជុលមួយណាដែលយើងភ្ជាប់ LED (នៅពេលអនាគតវានឹងជាសោរឬបញ្ជូនតរបស់យើង):

int relayPin = 5;

អន្តរកម្មជាមួយឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ ដូចនៅក្នុងផ្នែកមុន៖

const char LOCK_FEED PROGMEM = AIO_USERNAME "/feeds/lock";

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe(&mqtt, LOCK_FEED);

នៅក្នុងតួនៃមុខងារ setup() យើងបង្ហាញថា pin ដែល LED ត្រូវបានភ្ជាប់គួរតែដំណើរការក្នុងរបៀប OUTPUT៖

pinMode(relayPin, OUTPUT);

នៅក្នុង loop() loop ដំបូងយើងពិនិត្យមើលថាតើយើងភ្ជាប់ទៅ Adafruit IO ដែរឬទេ៖

បន្ទាប់ពីនេះយើងពិនិត្យមើលថាតើសញ្ញាអ្វីត្រូវបានទទួល។ ប្រសិនបើ "1" ត្រូវបានបញ្ជូន នោះយើងដំណើរការម្ជុលដែលយើងបានប្រកាសមុននេះ ដែល LED របស់យើងត្រូវបានភ្ជាប់។ ប្រសិនបើយើងទទួលបាន "0" យើងផ្ទេរទំនាក់ទំនងទៅស្ថានភាព "ទាប"៖

Adafruit_MQTT_Subscribe *ជាវ;

while ((ការជាវ = mqtt.readSubscription(1000))) (

ប្រសិនបើ (ការជាវ == &lock) (

Serial.print(F("Got: "));

Serial.println((char *)lock.lastread);

// រក្សាទុកពាក្យបញ្ជាទៅទិន្នន័យខ្សែអក្សរ

ពាក្យបញ្ជាខ្សែអក្សរ = String((char *)lock.lastread);

ប្រសិនបើ (ពាក្យបញ្ជា == "0") (

digitalWrite(relayPin, ទាប);

ប្រសិនបើ (ពាក្យបញ្ជា == "1") (

digitalWrite(relayPin, HIGH);

ស្វែងរក កំណែចុងក្រោយបំផុត។អ្នកអាចស្វែងរកគំនូរព្រាងនៅលើ GitHub ។

ដល់ពេលសាកល្បងគម្រោងរបស់យើង។ កុំភ្លេចទាញយកបណ្ណាល័យដែលត្រូវការទាំងអស់សម្រាប់ Arduino របស់អ្នក ហើយពិនិត្យមើលថាតើអ្នកបានធ្វើការផ្លាស់ប្តូរត្រឹមត្រូវចំពោះគំនូរព្រាងឬអត់។

ដើម្បីសរសេរកម្មវិធីបន្ទះឈីប ESP8266 អ្នកអាចប្រើឧបករណ៍បំប្លែង USB-FTDI ធម្មតា។

បង្ហោះរូបព្រាងទៅ Arduino ហើយបើកបង្អួច Serial Monitor ។ នៅដំណាក់កាលនេះ យើងគ្រាន់តែពិនិត្យមើលថាតើយើងអាចភ្ជាប់ទៅ Adafruit IO ដែរឬទេ៖ យើងនឹងពិនិត្យមើលមុខងារដែលមានបន្ថែមទៀត។

ការសាកល្បងគម្រោង

ឥឡូវ​នេះ​យើង​ចាប់​ផ្តើ​ម​ការ​ធ្វើ​តេ​ស្ត​! ចូលទៅកាន់ម៉ឺនុយអ្នកប្រើប្រាស់ Adafruit IO របស់អ្នក នៅក្រោមម៉ឺនុយមតិព័ត៌មាន។ ពិនិត្យមើលថាតើស្នាមម្រាមដៃ និងបណ្តាញចាក់សោត្រូវបានបង្កើតឬអត់ (នៅក្នុងអេក្រង់បោះពុម្ពខាងក្រោមទាំងនេះគឺជាស្នាមម្រាមដៃ និងបន្ទាត់ចាក់សោ)៖


ប្រសិនបើពួកវាមិនមានទេ អ្នកនឹងត្រូវបង្កើតពួកវាដោយដៃ។

ឥឡូវនេះ យើងត្រូវធានាឱ្យមានការផ្លាស់ប្តូរទិន្នន័យរវាងស្នាមម្រាមដៃ និងបណ្តាញចាក់សោ។ ឆានែលចាក់សោត្រូវតែយកតម្លៃ "1" នៅពេលដែលឆានែលស្នាមម្រាមដៃយកតម្លៃ "1" និងច្រាសមកវិញ។

សម្រាប់រឿងនេះយើងប្រើខ្លាំងណាស់ ឧបករណ៍ដ៏មានឥទ្ធិពល Adafruit IO: កេះ។ គន្លឹះគឺជាលក្ខខណ្ឌសំខាន់ដែលអ្នកអាចអនុវត្តចំពោះបណ្តាញដែលបានកំណត់រចនាសម្ព័ន្ធ។ នោះគឺពួកវាអាចត្រូវបានប្រើដើម្បីភ្ជាប់បណ្តាញពីរ។

បង្កើតកេះប្រតិកម្មថ្មីពីផ្នែក Triggers នៅក្នុង Adafruit IO ។ វានឹងផ្តល់នូវសមត្ថភាពក្នុងការផ្លាស់ប្តូរទិន្នន័យរវាងឧបករណ៍ចាប់សញ្ញាស្នាមម្រាមដៃ និងបណ្តាញចាក់សោ៖


នេះជាអ្វីដែលវាគួរតែមើលទៅនៅពេលដែលកេះទាំងពីរត្រូវបានកំណត់រចនាសម្ព័ន្ធ៖

ទាំងអស់! ឥឡូវនេះយើងអាចសាកល្បងគម្រោងរបស់យើងបាន! យើងដាក់ម្រាមដៃរបស់យើងនៅលើឧបករណ៍ចាប់សញ្ញា ហើយមើលពីរបៀបដែល Arduino ចាប់ផ្តើមភ្លឺជាមួយនឹង LED ដែលត្រូវនឹងការបញ្ជូនទិន្នន័យ។ បន្ទាប់ពីនេះ LED នៅលើម៉ូឌុល ESP8266 គួរតែចាប់ផ្តើមភ្លឹបភ្លែតៗ។ នេះមានន័យថាវាបានចាប់ផ្តើមទទួលទិន្នន័យតាមរយៈ MQTT ។ LED នៅលើបន្ទះសៀគ្វីក៏គួរតែបើកនៅពេលនេះដែរ។

បន្ទាប់ពីការពន្យាពេលដែលអ្នកកំណត់ក្នុងគំនូរព្រាង (តម្លៃលំនាំដើមគឺ 10 វិនាទី) LED នឹងបិទ។ អបអរសាទរ! អ្នកអាចគ្រប់គ្រង LED ដោយប្រើស្នាមម្រាមដៃរបស់អ្នកពីគ្រប់ទីកន្លែងក្នុងពិភពលោក!

ការដំឡើងសោអេឡិចត្រូនិច

យើងបានឈានដល់ផ្នែកចុងក្រោយនៃគម្រោង៖ ការភ្ជាប់ដោយផ្ទាល់ និងការគ្រប់គ្រង។ សោអេឡិចត្រូនិចដោយប្រើ Arduino និងឧបករណ៍ចាប់ស្នាមម្រាមដៃ។ គម្រោងនេះមិនងាយស្រួលទេអ្នកអាចប្រើប្រភពទាំងអស់នៅក្នុងទម្រង់ដែលពួកគេត្រូវបានបង្ហាញខាងលើប៉ុន្តែភ្ជាប់ការបញ្ជូនតជំនួសឱ្យ LED ។

ដើម្បីភ្ជាប់សោដោយផ្ទាល់ អ្នកនឹងត្រូវការធាតុផ្សំបន្ថែម៖ ការផ្គត់ផ្គង់ថាមពល 12 V, Jack សម្រាប់ភ្ជាប់ថាមពល, ត្រង់ស៊ីស្ទ័រ (V ក្នុងឧទាហរណ៍នេះ។ IRLB8721PbF MOSFET ត្រូវបានប្រើ ប៉ុន្តែមួយទៀតអាចត្រូវបានប្រើឧទាហរណ៍ ត្រង់ស៊ីស្ទ័រ bipolar TIP102 ។ ប្រសិនបើអ្នកកំពុងប្រើ transistor bipolar អ្នកនឹងត្រូវបន្ថែម resistor ។

បង្ហាញខាងក្រោម ដ្យាក្រាមអគ្គិសនីការភ្ជាប់សមាសធាតុទាំងអស់ទៅម៉ូឌុល ESP8266៖


ចំណាំថាប្រសិនបើអ្នកកំពុងប្រើត្រង់ស៊ីស្ទ័រ MOSFET អ្នកនឹងមិនត្រូវការ resistor រវាង pin 5 នៃម៉ូឌុល ESP8266 និង transistor ទេ។

គម្រោងដែលបានជួបប្រជុំគ្នាពេញលេញត្រូវបានបង្ហាញនៅក្នុងរូបថតខាងក្រោម៖


ផ្តល់ថាមពលដល់ម៉ូឌុល ESP8266 ដោយប្រើម៉ូឌុល FTDI ហើយភ្ជាប់ការផ្គត់ផ្គង់ថាមពល 12V ទៅ Jack ។ ប្រសិនបើអ្នកបានប្រើម្ជុលដែលបានណែនាំខាងលើសម្រាប់ការតភ្ជាប់ អ្នកនឹងមិនចាំបាច់ផ្លាស់ប្តូរអ្វីនៅក្នុងគំនូរព្រាងនោះទេ។

ឥឡូវនេះអ្នកអាចដាក់ម្រាមដៃរបស់អ្នកនៅលើឧបករណ៍ចាប់សញ្ញា៖ សោគួរតែដំណើរការឆ្លើយតបទៅនឹងស្នាមម្រាមដៃរបស់អ្នក។ វីដេអូខាងក្រោមបង្ហាញពីគម្រោងចាក់សោឆ្លាតវៃដោយស្វ័យប្រវត្តិដែលកំពុងដំណើរការ៖

ការអភិវឌ្ឍន៍បន្ថែមទៀតនៃគម្រោង Smart Lock

ចេញផ្សាយនៅក្នុងគម្រោងរបស់យើង។ ការបញ្ជាពីចម្ងាយចាក់សោទ្វារដោយប្រើស្នាមម្រាមដៃរបស់អ្នក។

មានអារម្មណ៍សេរីក្នុងការពិសោធន៍ កែប្រែគំនូរព្រាង និងការចង។ ជាឧទាហរណ៍ អ្នកអាចជំនួសសោទ្វារអេឡិចត្រូនិចដោយឧបករណ៍បញ្ជូនត ដើម្បីគ្រប់គ្រងថាមពលនៃម៉ាស៊ីនបោះពុម្ព 3D របស់អ្នក ដៃមនុស្សយន្ត ឬ quadcopter...

អ្នកអាចអភិវឌ្ឍរបស់អ្នក។ ផ្ទះឆ្លាត"។ ឧទាហរណ៍ បើកដំណើរការប្រព័ន្ធធារាសាស្រ្តពីចម្ងាយនៅលើ Arduino ឬបើកភ្លើងនៅក្នុងបន្ទប់... កុំភ្លេចថាអ្នកអាចដំណើរការឧបករណ៍ស្ទើរតែគ្មានដែនកំណត់ក្នុងពេលដំណាលគ្នាដោយប្រើ Adafruit IO ។

ទុកមតិយោបល់ សំណួរ និងចែករំលែករបស់អ្នក។ បទពិសោធន៍ផ្ទាល់ខ្លួនខាងក្រោម។ គំនិត​និង​គម្រោង​ថ្មី​តែង​កើត​ឡើង​ក្នុង​ការ​ពិភាក្សា!

ចាក់សោលេខកូដ DIY នៅលើ Arduino


ផ្ទៃខាងក្រោយ

វាបានកើតឡើងដូច្នេះថានៅកន្លែងធ្វើការ យើងបានសម្រេចចិត្តដំឡើងសោរួមបញ្ចូលគ្នានៅលើទ្វាររបស់យើង ពីព្រោះយើងរត់ចូល និងក្រៅការិយាល័យជានិច្ច ទ្វារដែលគួរតែបិទជានិច្ចក្នុងករណីដែលគ្មានអ្នកកាន់កាប់។ កូនសោច្រើនតែភ្លេចនៅខាងក្នុង។ ជាទូទៅ យើងបានសម្រេចចិត្តថាការចាក់សោរួមបញ្ចូលគ្នាគឺជាដំណោះស្រាយដ៏ល្អ។

ដោយ​បាន​រអ៊ូរទាំ​តាម​ទីផ្សារ​ចៃឆ្កេ និង ebay របស់​ចិន ខ្ញុំ​មិន​បាន​រក​ឃើញ​អ្វី​ដែល​ថោក និង​ធ្ងន់ធ្ងរ​ជាង​នេះ​ទេ ហើយ​បាន​សម្រេច​ចិត្ត​បង្កើត​វា​ដោយ​ខ្លួន​ឯង។ ខ្ញុំនឹងនិយាយភ្លាមៗថាវេទិកា Arduino ត្រូវបានជ្រើសរើសសម្រាប់ភាពសាមញ្ញរបស់វា ដោយសារខ្ញុំមិនមានបទពិសោធន៍ជាមួយ microcontrollers ទាល់តែសោះ។

នៅលើទ្វារជាមួយ នៅខាងក្រៅទ្វារគួរតែមានក្តារចុចដែលពាក្យសម្ងាត់ត្រូវបានបញ្ចូល ហើយរចនាសម្ព័ន្ធដែលនៅសល់គួរតែត្រូវបានធានាសុវត្ថិភាពនៅខាងក្នុង។ កុងតាក់ Reed ត្រូវបានប្រើដើម្បីគ្រប់គ្រងការបិទទ្វារទាំងស្រុង។ នៅពេលចេញពីការិយាល័យ មនុស្សម្នាក់ចុច “*” នៅលើក្តារចុច ហើយដោយមិនរង់ចាំទ្វារបិទជិតនោះ ធ្វើអាជីវកម្មរបស់គាត់ នៅពេលដែលទ្វារបិទទាំងស្រុង កុងតាក់ Reed នឹងបិទ ហើយសោនឹងបិទ។ . ទ្វារបើកដោយបញ្ចូលលេខសម្ងាត់ 4 ខ្ទង់ ហើយចុច "#" ។

គ្រឿងបន្លាស់

Arduino UNO = 18 ដុល្លារ
Arduino protoshield + breadboard = $6
L293D = ១ ដុល្លារ
កញ្ចប់ខ្សែ 30pcs សម្រាប់ Bradboard = $4
2 រន្ធ RJ45 = $4
ឌុយ RJ45 ចំនួន 2 = 0.5 ដុល្លារ
ឧបករណ៍ចាក់សោកណ្តាល = 250 ជូត។
Reed switch = រហែកដោយសេរីពីបង្អួចចាស់។
បន្ទះដែកយក្ស = ឥតគិតថ្លៃ
លំនៅដ្ឋានពីមជ្ឈមណ្ឌល D-LINK ចាស់ធ្វើពីដែកមួយមិល្លីម៉ែត្រកន្លះ = ឥតគិតថ្លៃ
ការផ្គត់ផ្គង់ថាមពលពីមជ្ឈមណ្ឌល D-LINK ដូចគ្នាសម្រាប់ 12 និង 5V = ឥតគិតថ្លៃផងដែរ។
វីសនិងគ្រាប់សម្រាប់ភ្ជាប់វត្ថុទាំងអស់នេះទៅនឹងរាងកាយ = 100 រូប្លិ៍។
ការបញ្ជាពីចម្ងាយពី សំឡេងរោទិ៍ចោរ= ឥតគិតថ្លៃ។

សរុប: 33,5 ដុល្លារនិង 350 រូប្លិ៍។

មិន​តិច​ទេ អ្នក​នឹង​និយាយ​ហើយ​អ្នក​ច្បាស់​ជា​ត្រូវ ប៉ុន្តែ​អ្នក​ត្រូវ​ចំណាយ​ដោយ​រីករាយ! ហើយវាតែងតែល្អក្នុងការប្រមូលផ្តុំអ្វីមួយដោយដៃរបស់អ្នកផ្ទាល់។ លើសពីនេះទៀតការរចនាអាចត្រូវបានកាត់បន្ថយយ៉ាងខ្លាំងនៅក្នុងការចំណាយប្រសិនបើអ្នកប្រើ MK ទទេដោយគ្មាន Arduino ។

កំពុងរៀបចំសម្រាប់ការជួបប្រជុំគ្នា។

ខ្ញុំចង់និយាយពាក្យពីរបីអំពីការទិញធាតុសំខាន់នៃការរចនា actuator ។ ហាង​លក់​រថយន្ត​ក្នុង​ស្រុក​មួយ​បាន​ផ្តល់​ឱ្យ​ខ្ញុំ​នូវ​ឧបករណ៍​បញ្ឆេះ​ពីរ​ប្រភេទ៖ “មាន​ខ្សែ​ពីរ និង​មាន​ប្រាំ”។ បើ​តាម​ស្ត្រី​លក់​វិញ ពួកវា​គឺ​ដូចគ្នា​បេះបិទ​ទាំងស្រុង ហើយ​ភាពខុសគ្នា​នៃ​ចំនួន​ខ្សែ​គឺ​គ្មាន​ន័យ​អ្វី​ទាំងអស់​។ ទោះជាយ៉ាងណា ដូចដែលវាបានប្រែក្លាយនៅពេលក្រោយ នេះមិនមែនដូច្នោះទេ! ខ្ញុំបានជ្រើសរើសឧបករណ៍ដែលមានខ្សែពីរ វាត្រូវបានបំពាក់ដោយ 12V ។ លក្ខណៈពិសេសការរចនាខ្សែប្រាំខ្សែកំណត់ការប្តូរដើម្បីគ្រប់គ្រងចលនានៃដងថ្លឹង។ ខ្ញុំ​ដឹង​ថា​ខ្ញុំ​ទិញ​ខុស​តែ​ពេល​យក​វា​ដាច់ ហើយ​វា​យឺត​ពេល​ក្នុង​ការ​ដូរ​វា​ហើយ។ ការដាច់រលាត់នៃដងថ្លឹងប្រែជាខ្លីពេកក្នុងការដកដង្កៀបចេញបានត្រឹមត្រូវ ដូច្នេះហើយ ចាំបាច់ត្រូវកែប្រែវាបន្តិច ពោលគឺត្រូវដកឧបករណ៍លាងជ័រកៅស៊ូចំនួនពីរដែលកាត់បន្ថយការដាច់សរសៃឈាមខួរក្បាលរបស់ដងថ្លឹង។ ដើម្បីធ្វើដូច្នេះបាន សាកសពត្រូវកាត់តាមប្រវែងដោយម៉ាស៊ីនបោកគក់ធម្មតា ព្រោះម៉ាស៊ីនបោកគក់ទីពីរនៅខាងក្នុង។ កាសែតអគ្គិសនីពណ៌ខៀវដូចដែលតែងតែជួយយើងនៅពេលអនាគតនៅពេលដំឡើងវាត្រឡប់មកវិញ។

ដើម្បីគ្រប់គ្រងម៉ូទ័រ actuator យើងបានប្រើកម្មវិធីបញ្ជាម៉ូទ័រ L293D ដែលអាចទប់ទល់នឹងបន្ទុកខ្ពស់បំផុតរហូតដល់ 1200 mA នៅពេលយើងបញ្ឈប់ម៉ូទ័រ actuator បន្ទុកខ្ពស់បំផុតបានកើនឡើងត្រឹមតែ 600 mA ។

ទំនាក់ទំនងពីក្តារចុច ឧបករណ៍បំពងសម្លេង និង LEDs ពីរត្រូវបានដកចេញពីផ្ទាំងបញ្ជាការជូនដំណឹងសុវត្ថិភាព។ ឧបករណ៍បញ្ជាពីចម្ងាយ និងឧបករណ៍សំខាន់ត្រូវបានគេសន្មត់ថាត្រូវបានភ្ជាប់ដោយប្រើឧបករណ៍ភ្ជាប់ twisted pair និង RJ45

ការសរសេរកម្មវិធី។

ដូច្នេះ ខ្ញុំមិនមានបទពិសោធន៍ក្នុងការសរសេរកម្មវិធី Arduino រហូតមកដល់ពេលនេះ។ ខ្ញុំបានប្រើការងារ និងអត្ថបទរបស់អ្នកដទៃពីគេហទំព័រ arduino.cc ។ អ្នកណាចាប់អារម្មណ៍អាចមើលកូដអាក្រក់នេះ :)

រូបថត និងវីដេអូ

វាបានកើតឡើងដូច្នេះថានៅកន្លែងធ្វើការយើងបានសម្រេចចិត្តដំឡើងសោរួមបញ្ចូលគ្នានៅលើទ្វាររបស់យើងព្រោះយើងរត់ចូលជានិច្ច - យើងរត់ចេញពីការិយាល័យទ្វារដែលគួរតែត្រូវបានបិទជានិច្ចក្នុងករណីដែលគ្មានអ្នកកាន់កាប់។ កូនសោច្រើនតែភ្លេចនៅខាងក្នុង។ ជាទូទៅ យើងបានសម្រេចចិត្តថាការចាក់សោរួមបញ្ចូលគ្នាគឺជាដំណោះស្រាយដ៏ល្អ។

ដោយ​បាន​រអ៊ូរទាំ​តាម​ទីផ្សារ​ចៃឆ្កេ និង ebay របស់​ចិន ខ្ញុំ​មិន​បាន​រក​ឃើញ​អ្វី​ដែល​ថោក និង​ធ្ងន់ធ្ងរ​ជាង​នេះ​ទេ ហើយ​បាន​សម្រេច​ចិត្ត​បង្កើត​វា​ដោយ​ខ្លួន​ឯង។ ខ្ញុំនឹងនិយាយភ្លាមៗថាវេទិកា Arduino ត្រូវបានជ្រើសរើសសម្រាប់ភាពសាមញ្ញរបស់វា ដោយសារខ្ញុំមិនមានបទពិសោធន៍ជាមួយ microcontrollers ទាល់តែសោះ។

គំនិត

នៅលើទ្វារនៅខាងក្រៅទ្វារគួរតែមានក្តារចុចដែលពាក្យសម្ងាត់ត្រូវបានបញ្ចូលហើយរចនាសម្ព័ន្ធដែលនៅសល់ត្រូវបានជួសជុលនៅខាងក្នុង។ កុងតាក់ Reed ត្រូវបានប្រើដើម្បីគ្រប់គ្រងការបិទទ្វារពេញលេញ។ នៅពេលចាកចេញពីការិយាល័យ មនុស្សម្នាក់ចុច “*” នៅលើក្តារចុច ហើយដោយមិនរង់ចាំទ្វារបិទជិតនោះ ធ្វើអាជីវកម្មរបស់គាត់ នៅពេលដែលទ្វារបិទទាំងស្រុង កុងតាក់ Reed នឹងបិទ ហើយសោនឹងត្រូវបិទ។ . ទ្វារបើកដោយបញ្ចូលលេខសម្ងាត់ 4 ខ្ទង់ ហើយចុច "#" ។

គ្រឿងបន្លាស់

Arduino UNO = 18 ដុល្លារ
Arduino protoshield + breadboard = $6
L293D = ១ ដុល្លារ
កញ្ចប់ខ្សែ 30pcs សម្រាប់ Bradboard = $4
2 រន្ធ RJ45 = $4
ឌុយ RJ45 ចំនួន 2 = 0.5 ដុល្លារ
ឧបករណ៍ចាក់សោកណ្តាល = 250 ជូត។
Reed switch = រហែកដោយសេរីពីបង្អួចចាស់។
បន្ទះដែកយក្ស = ឥតគិតថ្លៃ
លំនៅដ្ឋានពីមជ្ឈមណ្ឌល D-LINK ចាស់ធ្វើពីដែកមួយមិល្លីម៉ែត្រកន្លះ = ឥតគិតថ្លៃ
ការផ្គត់ផ្គង់ថាមពលពីមជ្ឈមណ្ឌល D-LINK ដូចគ្នាសម្រាប់ 12 និង 5V = ឥតគិតថ្លៃផងដែរ។
វីសនិងគ្រាប់សម្រាប់ភ្ជាប់វត្ថុទាំងអស់នេះទៅនឹងរាងកាយ = 100 រូប្លិ៍។
ផ្ទាំងបញ្ជាការជូនដំណឹងសុវត្ថិភាព = ឥតគិតថ្លៃ។

សរុប៖$ 33.5 និង 350 rubles ។

មិន​តិច​ទេ អ្នក​នឹង​និយាយ​ហើយ​អ្នក​ច្បាស់​ជា​ត្រូវ ប៉ុន្តែ​អ្នក​ត្រូវ​ចំណាយ​ដោយ​រីករាយ! ហើយវាតែងតែល្អក្នុងការប្រមូលផ្តុំអ្វីមួយដោយដៃរបស់អ្នកផ្ទាល់។ លើសពីនេះទៀតការរចនាអាចត្រូវបានកាត់បន្ថយយ៉ាងខ្លាំងនៅក្នុងការចំណាយប្រសិនបើអ្នកប្រើ MK ទទេដោយគ្មាន Arduino ។

កំពុងរៀបចំសម្រាប់ការជួបប្រជុំគ្នា។

ខ្ញុំចង់និយាយពាក្យពីរបីអំពីការទិញធាតុសំខាន់នៃការរចនា actuator ។ ហាង​លក់​រថយន្ត​ក្នុង​ស្រុក​មួយ​បាន​ផ្តល់​ឱ្យ​ខ្ញុំ​នូវ​ឧបករណ៍​បញ្ឆេះ​ពីរ​ប្រភេទ៖ “មាន​ខ្សែ​ពីរ និង​មាន​ប្រាំ”។ បើ​តាម​ស្ត្រី​លក់​វិញ ពួកវា​គឺ​ដូចគ្នា​បេះបិទ​ទាំងស្រុង ហើយ​ភាពខុសគ្នា​នៃ​ចំនួន​ខ្សែ​គឺ​គ្មាន​ន័យ​អ្វី​ទាំងអស់​។ ទោះជាយ៉ាងណា ដូចដែលវាបានប្រែក្លាយនៅពេលក្រោយ នេះមិនមែនដូច្នោះទេ! ខ្ញុំបានជ្រើសរើសឧបករណ៍ដែលមានខ្សែពីរ វាត្រូវបានបំពាក់ដោយ 12V ។ លក្ខណៈពិសេសការរចនាខ្សែប្រាំខ្សែកំណត់ការប្តូរដើម្បីគ្រប់គ្រងចលនានៃដងថ្លឹង។ ខ្ញុំ​ដឹង​ថា​ខ្ញុំ​ទិញ​ខុស​តែ​ពេល​យក​វា​ដាច់ ហើយ​វា​យឺត​ពេល​ក្នុង​ការ​ដូរ​វា​ហើយ។ ការដាច់រលាត់នៃដងថ្លឹងប្រែជាខ្លីពេកក្នុងការដកដង្កៀបចេញបានត្រឹមត្រូវ ដូច្នេះហើយ ចាំបាច់ត្រូវកែប្រែវាបន្តិច ពោលគឺត្រូវដកឧបករណ៍លាងជ័រកៅស៊ូចំនួនពីរដែលកាត់បន្ថយការដាច់សរសៃឈាមខួរក្បាលរបស់ដងថ្លឹង។ ដើម្បីធ្វើដូច្នេះបាន សាកសពត្រូវកាត់តាមប្រវែងដោយម៉ាស៊ីនបោកគក់ធម្មតា ព្រោះម៉ាស៊ីនបោកគក់ទីពីរនៅខាងក្នុង។ កាសែតអគ្គិសនីពណ៌ខៀវដូចដែលតែងតែជួយយើងនៅពេលអនាគតនៅពេលដំឡើងវាត្រឡប់មកវិញ។
ដើម្បីគ្រប់គ្រងម៉ូទ័រ actuator យើងបានប្រើកម្មវិធីបញ្ជាម៉ូទ័រ L293D ដែលអាចទប់ទល់នឹងបន្ទុកខ្ពស់បំផុតរហូតដល់ 1200 mA នៅពេលយើងបញ្ឈប់ម៉ូទ័រ actuator បន្ទុកខ្ពស់បំផុតបានកើនឡើងត្រឹមតែ 600 mA ។
ទំនាក់ទំនងពីក្តារចុច ឧបករណ៍បំពងសម្លេង និង LEDs ពីរត្រូវបានដកចេញពីផ្ទាំងបញ្ជាការជូនដំណឹងសុវត្ថិភាព។ ឧបករណ៍បញ្ជាពីចម្ងាយ និងឧបករណ៍សំខាន់ត្រូវបានគេសន្មត់ថាត្រូវបានភ្ជាប់ដោយប្រើឧបករណ៍ភ្ជាប់ twisted pair និង RJ45

ការសរសេរកម្មវិធី។

ដូច្នេះ ខ្ញុំមិនមានបទពិសោធន៍ក្នុងការសរសេរកម្មវិធី Arduino រហូតមកដល់ពេលនេះ។ ខ្ញុំបានប្រើការងារ និងអត្ថបទរបស់អ្នកដទៃពីគេហទំព័រ arduino.cc ។ អ្នកណាចាប់អារម្មណ៍អាចមើលកូដអាក្រក់នេះ :)

រូបថត និងវីដេអូ



Arduino និង actuator


ឯកតាថាមពល


ក្ដារចុច


Espagnolette (ភ្ជាប់ជាមួយ actuator ជាមួយដែកនិយាយ និងគ្របដោយកំដៅដើម្បីភាពស្រស់ស្អាត)

វីដេអូនៃដំណើរការប្រតិបត្តិការឧបករណ៍៖