สารบัญ:
- ขั้นตอนที่ 1: ปัญหาที่ต้องเอาชนะ
- ขั้นตอนที่ 2: ส่วนประกอบ การสร้าง และวิธีการทำงาน
- ขั้นตอนที่ 3: ซอฟต์แวร์
วีดีโอ: InfoBell: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ฉันใช้เวลาส่วนใหญ่ในเวิร์กช็อปเล็กๆ ที่ปลายสวน
ฉันมีกริ่งประตูแบบไร้สายพร้อมทวนในเวิร์กช็อปของฉัน ฉันกำลังขึ้นเล็กน้อย ดังนั้นอาจใช้เวลาประมาณ 30 วินาทีเพื่อไปที่ประตูหน้า ถ้ามีคนกดกริ่ง เมื่อฉันไปถึงที่นั่น คนส่งของกำลังเคาะประตูบ้านเพื่อนบ้านเพื่อไปส่งพัสดุและรับลายเซ็น
InfoBell ของฉันบอกผู้โทรว่าฉันจะอยู่กับพวกเขาภายใน 30 วินาที (ผู้ใช้สามารถกำหนดค่าเองได้) หรือแจ้งให้พวกเขาทราบว่าฉันมีส่วนร่วม/ไม่อยู่หรือไม่!
ฉันต้องการให้กริ่งประตูทำงานด้วยแบตเตอรี่และอยู่ในตัวเองโดยสมบูรณ์ ข้อความที่แสดงจะต้องสามารถกำหนดค่าได้โดยผู้ใช้และเปลี่ยนจากข้อความเข้าเป็นออกได้ง่ายมาก
ฉันใช้บลูทูธกับแอพโทรศัพท์ Android ของนักประดิษฐ์ MIT App เพื่อตั้งโปรแกรมข้อความ
ปุ่มสำหรับเริ่มต้นการสื่อสาร Bluetooth และตั้งค่าข้อความ IN / OUT จะอยู่ที่ด้านล่างของอุปกรณ์ เลือกฟังก์ชันที่ต้องการได้โดยการกดปุ่มที่เกี่ยวข้องและกดปุ่มกริ่งประตูหลัก
ปุ่มเหล่านี้ใช้งานได้เมื่อเปิดประตูเท่านั้น ! ไม่ว่าประตูจะเปิดหรือปิดก็ตามนั้นพิจารณาจากการใช้เข็มทิศดิจิตอล (QMC5883) และตรีโกณมิติบางส่วน ฉันต้องสารภาพว่าฉันต้องใช้ Google เพื่อขอความช่วยเหลือที่นี่มานานแล้ว (ประมาณ 46 ปี) ตั้งแต่ฉันนั่งอยู่ในห้องเรียน!
ฉันสามารถเข้ารหัสการอ่านจาก QMC5883 ได้ยาก แต่ฉันคิดว่าถ้ามีคนตัดสินใจทำโปรเจ็กต์นี้ โอกาสที่ประตูของพวกเขาจะหันไปทางเดียวกับของฉันก็ค่อนข้างบางพอสมควร!
ปุ่มเดียวที่ทำงานถ้าปิดประตูคือปุ่มที่กำหนดข้อมูล 'ประตูปิด'
ขั้นตอนที่ 1: ปัญหาที่ต้องเอาชนะ
ฉันมีปัญหาสามประการ
อย่างแรกคือการซิงโครไนซ์การกดกระดิ่งจริงและปุ่มเพื่อเริ่มต้น Arduino และแสดงผล
ฉันลองใช้สวิตช์ 2 ตัวและไมโครสวิตช์หลายวิธีแล้ว แต่ไม่น่าเชื่อถือ ในที่สุดฉันก็เลือกใช้รีเลย์ DP
ปัญหาต่อมาคือกริ่งประตูไร้สายเอง มันใช้งานได้ดีโดยไม่มีหลังบนกล่องพิมพ์ 3 มิติ แต่ไม่ต้องการให้ความร่วมมือเมื่อติดตั้งที่ประตูหน้า! วิธีแก้ปัญหาของฉันคือการมีส่วนของฝาหลังหนาประมาณ 1 มม. - นั่นเป็นเคล็ดลับ!
ปัญหาสุดท้ายที่ต้องเอาชนะคือการบีบส่วนประกอบทั้งหมดลงในกล่องขนาดที่เหมาะสม !
ขั้นตอนที่ 2: ส่วนประกอบ การสร้าง และวิธีการทำงาน
สำหรับอุปกรณ์ง่ายๆ แบบนี้ ผมได้ใช้สิ่งต่อไปนี้ !!
กล่องและปุ่มพิมพ์ 3 มิติ
1 x SSD1306 จอแสดงผล OLED
1 x QMC5883
1 x โล่บลูทูธ
1 x รีเลย์สองขั้ว
1 x รีเลย์ล็อคตัวเอง
สวิตช์สัมผัสแบบติด PCB 5 x
แบตเตอรี่ 2 x 3v
1 x กริ่งประตูเดิม
1 x ไดโอด
1 x pnp ทรานซิสเตอร์
ฉันต้อง 'รังนก' สายไฟเพื่อให้แน่ใจว่ามีพื้นที่เพียงพอที่จะบีบส่วนประกอบทั้งหมดลงในกล่อง - ไม่ใช่โครงการที่ประณีตที่สุดที่ฉันเคยทำ!
ฉันใช้แบตเตอรี่ 2 x 3v กับไดโอดเพื่อลดการจ่ายไฟลงเล็กน้อย
กริ่งประตูเดิมมาพร้อมกับแบตเตอรี่ 12v
เมื่อกดปุ่มกริ่งประตู หน้าสัมผัสรีเลย์จะปิดและใช้งานกริ่งประตูเดิมพร้อมกันเพื่อตั้งค่ารีเลย์ล็อคตัวเองซึ่งจะจ่ายไฟ 5v ให้กับ Arduino, Bluetooth shield และ QMC5883
เมื่อ Arduino ทำงานเสร็จแล้ว พิน 12 จะถูกพัลส์ต่ำซึ่งจะรีเซ็ตรีเลย์ล็อค (ผ่านทรานซิสเตอร์) เพื่อถอดแหล่งจ่ายออก
เมื่อต่ออุปกรณ์เข้ากับประตูที่ปิดในครั้งแรก จะมีการกดปุ่มที่เชื่อมต่อกับ Arduino pin 4 ในขณะที่กดปุ่มกริ่งประตู สิ่งนี้จ่ายพลังงานให้กับ Arduino และอ่านทิศทางของ QMC5883 และเก็บค่าไว้ใน eeprom ดูหน้าซอฟต์แวร์และภาพร่าง Arduino สำหรับวิธีการทำงาน
ตอนนี้ปุ่มอีก 3 ปุ่มจะทำงานเมื่อประตูไม่อยู่ในตำแหน่งนี้เท่านั้น นั่นคือปิด
ในการตั้งค่าข้อความและตัวนับเวลาถอยหลัง ปุ่มที่เชื่อมต่อกับพิน 7 จะถูกกดในขณะที่กดกระดิ่งหลักและประตูเปิดอยู่ ซึ่งเป็นการเริ่มต้นกิจวัตรบลูทูธ การตั้งค่าถูกป้อนผ่านแอพ Mit App Inventer แอปจะบันทึกรายละเอียดโดยอัตโนมัติและเก็บรายละเอียดไว้ใน Arduino eeprom
ในการตั้งค่าข้อความ IN / OUT ให้กดปุ่มที่เชื่อมต่อกับหมุด Arduino 5 หรือ 6 ขณะที่กดปุ่มกริ่งประตูหลักและประตูเปิดอยู่
ขึ้นอยู่กับการกดปุ่ม ที่อยู่ eeprom 0 ถูกตั้งค่าหรือรีเซ็ต มีการจำกัดจำนวนการอ่าน/เขียนที่ Arduino eeprom จะยอมรับได้ ตามข้อมูลอ้างอิงส่วนใหญ่ ขีดจำกัดอยู่ที่ประมาณ 100, 000 ซึ่งหมายความว่า หาก eeprom เขียนถึง 4 ครั้งต่อวัน ควรใช้เวลาประมาณ 55 ปีหรือมากกว่านั้นก่อนที่ปัญหาจะเกิดขึ้น
ขั้นตอนที่ 3: ซอฟต์แวร์
ซอฟต์แวร์สำหรับสเก็ตช์ Ardiuno ได้รับการจัดทำเป็นเอกสารไว้อย่างดีตามมาตรฐานของฉัน !
เพื่อให้แน่ใจว่ามีข้อมูลที่สมเหตุสมผลใน eeprom ให้ยกเลิกความคิดเห็นต่อไปนี้และคอมไพล์
หลังจากคอมไพล์แล้ว ให้ใช้ตัวทำเครื่องหมายความคิดเห็นอีกครั้งและคอมไพล์ใหม่อีกครั้ง
EEPROM.begin(); /*
outone="0";
outtwo="1";
outthree="2";
outfour="3)";
inone="0";
intwo="1";
สาม=10;
*/
เมื่อติดตั้งโปรเจ็กต์เสร็จแล้วที่ประตู โดยที่ประตูปิดอยู่ ให้กดปุ่มที่เชื่อมต่อกับ Arduino pin 4 ค้างไว้แล้วกดกริ่ง ข้อความจะยืนยันการกระทำของคุณ
เก็บค่าที่อ่านจากเข็มทิศดิจิตอลใน Arduino eeprom
ฟังก์ชัน 'diffy' กำหนดว่าประตูเปิดหรือปิด
โมฆะ diffy (int froma, int toa)
{
ความแตกต่างภายใน;
diff=froma - toa;
ดิฟ=(ดิฟ+180)%360;
ถ้า (แตกต่าง <=0)
{
ต่าง+=180;
}
อื่น
{
ต่าง -=180;
}
ถัดไปโหลดบลูทูธ. APK บนโทรศัพท์มือถือ เมื่อเปิดประตูให้กดปุ่มที่เชื่อมต่อกับ Arduino pin 7 ค้างไว้แล้วกดกระดิ่ง เครื่องจะเปิดเครื่องในโหมดบลูทูธ จับคู่โมดูล BT กับโทรศัพท์ของคุณ กรอกข้อมูลที่จำเป็น และส่งไปที่กริ่งประตู
กริ่งประตูจะยังคงเปิดอยู่จนกว่าจะได้รับข้อมูลบางอย่างจากโทรศัพท์
เมื่อข้อมูลถูกส่งไปยังกริ่งประตูแล้ว แอพจะเก็บข้อมูลไว้ ดังนั้น หากคุณต้องการแก้ไขใดๆ คุณไม่จำเป็นต้องป้อนข้อความใหม่ทั้งหมด
APK สามารถพบได้ตามที่อยู่ต่อไปนี้
ai2.appinventor.mit.edu/#5902371463495680
ด้วยเหตุผลด้านความปลอดภัย โทรศัพท์ของคุณควรขอให้คุณยืนยันว่าคุณต้องการติดตั้งแอปนี้ ในโทรศัพท์ของฉันมีการตั้งค่าที่เรียกว่า "ติดตั้งแอปที่ไม่รู้จัก"
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง