สารบัญ:

InfoBell: 3 ขั้นตอน
InfoBell: 3 ขั้นตอน

วีดีโอ: InfoBell: 3 ขั้นตอน

วีดีโอ: InfoBell: 3 ขั้นตอน
วีดีโอ: यह स्नान का समय है - Playing with Bath Toys | Hindi Rhymes for Children | Infobells 2024, กรกฎาคม
Anonim
Image
Image
InfoBell
InfoBell
InfoBell
InfoBell

ฉันใช้เวลาส่วนใหญ่ในเวิร์กช็อปเล็กๆ ที่ปลายสวน

ฉันมีกริ่งประตูแบบไร้สายพร้อมทวนในเวิร์กช็อปของฉัน ฉันกำลังขึ้นเล็กน้อย ดังนั้นอาจใช้เวลาประมาณ 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

ด้วยเหตุผลด้านความปลอดภัย โทรศัพท์ของคุณควรขอให้คุณยืนยันว่าคุณต้องการติดตั้งแอปนี้ ในโทรศัพท์ของฉันมีการตั้งค่าที่เรียกว่า "ติดตั้งแอปที่ไม่รู้จัก"

แนะนำ: