
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

ในส่วนแรกของคำแนะนำนี้ ฉันสาธิตวิธีตั้งโปรแกรม PIC12F1822 โดยใช้คอมไพเลอร์ MPLAB IDE และ XC8 เพื่อส่งสตริงอย่างง่ายแบบไร้สายโดยใช้โมดูล TX/RX 433MHz ราคาถูก
โมดูลตัวรับสัญญาณเชื่อมต่อผ่านอะแดปเตอร์สายเคเบิล USB กับ UART TTL กับพีซี และข้อมูลที่ได้รับจะแสดงบน RealTerm การสื่อสารดำเนินการที่ 1200 บอด และช่วงสูงสุดที่ทำได้คือประมาณ 20 เมตรผ่านผนัง การทดสอบของฉันแสดงให้เห็นว่าสำหรับแอปพลิเคชันที่ไม่ต้องการอัตราข้อมูลสูงและระยะไกล และสำหรับการส่งข้อมูลอย่างต่อเนื่อง โมดูลเหล่านี้ทำงานได้ดีเป็นพิเศษ
ส่วนที่สองของโครงการนี้สาธิตวิธีการเพิ่มไมโครคอนโทรลเลอร์ PIC16F887 และโมดูล LCD ขนาด 16 × 2 อักขระบนเครื่องรับ ยิ่งไปกว่านั้น บนตัวส่งสัญญาณ โปรโตคอลอย่างง่ายจะถูกตามด้วยการเพิ่มตัวอย่างไบต์สองสามตัวอย่าง ไบต์เหล่านี้จำเป็นสำหรับโมดูล RX เพื่อปรับอัตราขยายก่อนที่จะรับน้ำหนักบรรทุกจริง ที่ฝั่งผู้รับ PIC มีหน้าที่รับและตรวจสอบข้อมูลที่แสดงบนหน้าจอ LCD
ขั้นตอนที่ 1: การปรับเปลี่ยนเครื่องส่งสัญญาณ



ในส่วนแรก ตัวส่งกำลังส่งสตริงอย่างง่ายทุกๆ สองสาม ms โดยใช้บิตข้อมูล 8 บิต บิตเริ่มต้น และบิตหยุดที่ 1200 บิตต่อวินาที เนื่องจากการรับส่งข้อมูลเกือบจะต่อเนื่อง ผู้รับจึงไม่มีปัญหาในการปรับการรับข้อมูลที่ได้รับ ในส่วนที่สอง เฟิร์มแวร์จะได้รับการแก้ไขเพื่อให้ส่งได้ทุกๆ 2.3 วินาที สิ่งนี้ทำได้โดยใช้การขัดจังหวะตัวจับเวลาจ้องจับผิด (ตั้งค่าเป็น 2.3 วินาที) เพื่อปลุกไมโครคอนโทรลเลอร์ ซึ่งอยู่ในโหมดสลีประหว่างการส่งแต่ละครั้ง
เพื่อให้ผู้รับมีเวลาปรับแต่งค่าเกน ไบต์นำสองสามไบต์ที่มีเวลา LO สั้น ๆ "(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xfa)" จะถูกส่งก่อนข้อมูลจริง จากนั้นเพย์โหลดจะถูกระบุด้วยไบต์เริ่มต้น '&' และไบต์หยุด '*'
ดังนั้น โปรโตคอลอย่างง่ายจึงมีคำอธิบายดังนี้:
(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xfa)&สวัสดี InstWorld!*
นอกจากนี้ ตัวเก็บประจุแทนทาลัมตัวแยกส่วน 10uF ยังถูกเพิ่มระหว่าง V+ และ GND ของโมดูล RF เพื่อกำจัดการกระเพื่อมที่เกิดจากโมดูลสเต็ปอัพ dc-dc
อัตราบอดยังคงเท่าเดิม แต่การทดสอบของฉันพบว่าที่ 2400 บอด การส่งก็มีประสิทธิภาพเช่นกัน
ขั้นตอนที่ 2: การปรับเปลี่ยนตัวรับสัญญาณ: การเพิ่ม PIC16F887 และ HD44780 LCD



การออกแบบเครื่องรับมีพื้นฐานมาจาก PIC16F887 แต่คุณสามารถใช้ PIC อื่นได้โดยมีการดัดแปลงเล็กน้อย ในโครงการของฉัน ฉันใช้ μC 40 พินนี้ เนื่องจากฉันต้องการหมุดเพิ่มเติมสำหรับโครงการในอนาคตตามการออกแบบนี้ เอาต์พุตของโมดูล RF เชื่อมต่อกับพิน UART rx ในขณะที่ LCD อักขระ 16x2 (HD44780) เชื่อมต่อผ่านพิน PORTB b2-b7 เพื่อแสดงข้อมูลที่ได้รับ
เช่นเดียวกับส่วนที่ 1 ข้อมูลที่ได้รับจะแสดงบน RealTerm ด้วย ทำได้โดยใช้พิน UART tx ซึ่งเชื่อมต่อผ่านอะแดปเตอร์สายเคเบิล USB เป็น UART TTL กับพีซี
เมื่อพิจารณาถึงเฟิร์มแวร์ เมื่อมีการขัดจังหวะ UART โปรแกรมจะตรวจสอบว่าไบต์ที่ได้รับเป็นไบต์เริ่มต้น ('&') หรือไม่ ถ้าใช่ จะเริ่มบันทึกไบต์ถัดไป จนกว่าจะตรวจพบไบต์หยุด ('*') ทันทีที่ได้รับทั้งประโยค และหากเป็นไปตามโปรโตคอลอย่างง่ายที่อธิบายไว้ก่อนหน้านี้ ประโยคนั้นจะถูกส่งไปยังหน้าจอ LCD เช่นเดียวกับพอร์ต UART tx
ก่อนรับไบต์เริ่มต้น ผู้รับได้ปรับอัตราขยายแล้วโดยใช้ไบต์คำนำหน้า สิ่งเหล่านี้มีความสำคัญต่อการทำงานที่ราบรื่นของเครื่องรับ มีการตรวจสอบข้อผิดพลาดการบุกรุกและการจัดเฟรมอย่างง่าย อย่างไรก็ตาม นี่เป็นเพียงการใช้งานการจัดการข้อผิดพลาด UART พื้นฐานเท่านั้น
ในส่วนของฮาร์ดแวร์ ตัวรับจำเป็นต้องมีส่วนประกอบบางส่วน:
1 x PIC16F887
1 x HD44780
1 x โมดูล RF Rx 433Mhz
ตัวเก็บประจุแทนทาลัม 1 x 10 μF (ดีคัปปลิ้ง)
ทริมเมอร์ 1 x 10 K (ความสว่างแบบอักษร LCD)
ตัวต้านทาน 1 x 220 Ω 1/4 W (แสงไฟ LCD)
1 x 1 KΩ 1/4 W
1 x เสาอากาศ 433Mhz, 3dbi
ในทางปฏิบัติ เครื่องรับทำงานได้ดีเป็นพิเศษในระยะสูงสุด 20 เมตรผ่านผนัง
ขั้นตอนที่ 3: ข้อมูลอ้างอิงบางส่วน…
มีบล็อกมากมายบนเว็บที่ให้คำแนะนำเกี่ยวกับการเขียนโปรแกรม PIC และการแก้ไขปัญหานอกเหนือจากเว็บไซต์ทางการของ Microschip ฉันพบว่าสิ่งต่อไปนี้มีประโยชน์มาก:
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
ขั้นตอนที่ 4: บทสรุปและงานในอนาคต
ฉันหวังว่าคำแนะนำนี้จะช่วยให้คุณเข้าใจวิธีใช้โมดูล RF และไมโครคอนโทรลเลอร์ Pic คุณสามารถปรับเฟิร์มแวร์ให้เข้ากับความต้องการของคุณเอง รวมทั้ง CRC และการเข้ารหัส หากคุณต้องการทำให้การออกแบบของคุณซับซ้อนยิ่งขึ้น คุณอาจใช้เทคโนโลยี Keeloq ของ Microschip ในกรณีที่แอปพลิเคชันของคุณต้องการข้อมูลแบบสองทิศทาง คุณจะต้องมี TX/RX หนึ่งคู่ที่ไมโครคอนโทรลเลอร์ทั้งสอง หรือคุณสามารถใช้ตัวรับส่งสัญญาณที่มีความซับซ้อนมากขึ้น โมดูล อย่างไรก็ตาม การใช้โมดูล 433MHz ราคาถูกประเภทนี้ การสื่อสารแบบ half duplex เท่านั้นที่สามารถทำได้ นอกจากนี้ เพื่อให้การสื่อสารมีความน่าเชื่อถือมากขึ้น คุณจะต้องมีการจับมือกันระหว่าง TX และ RX
ในคำแนะนำถัดไป ฉันจะแสดงแอปพลิเคชันที่ใช้งานได้จริงซึ่งมีการเพิ่มเซ็นเซอร์สิ่งแวดล้อมพร้อมอุณหภูมิ ความดันบรรยากาศ และความชื้นบนเครื่องส่งสัญญาณ ที่นี่ข้อมูลที่ส่งจะรวม crc และจะมีการเข้ารหัสพื้นฐาน
เซ็นเซอร์จะใช้พอร์ต i2c ของ PIC12F1822 ในขณะที่การใช้งานทั้งตัวส่งและตัวรับจะถูกเปิดเผยผ่านไฟล์แผนผังและ pcb ขอบคุณที่อ่าน
แนะนำ:
ปีกคอสเพลย์ที่เปิดใช้งานการเคลื่อนไหวโดยใช้ Circuit Playground Express - ตอนที่ 1: 7 ขั้นตอน (พร้อมรูปภาพ)

Motion Activated Cosplay Wings โดยใช้ Circuit Playground Express - ตอนที่ 1: นี่เป็นส่วนหนึ่งของโปรเจ็กต์สองส่วน ซึ่งผมจะแสดงให้คุณเห็นขั้นตอนในการทำปีกนางฟ้าอัตโนมัติ ส่วนแรกของโปรเจ็กต์คือ กลไกของปีก และส่วนที่สองทำให้สวมใส่ได้ และเพิ่มปีก
หุ่นยนต์ Telepresence: แพลตฟอร์มพื้นฐาน (ตอนที่ 1): 23 ขั้นตอน (พร้อมรูปภาพ)

หุ่นยนต์ Telepresence: แพลตฟอร์มพื้นฐาน (ตอนที่ 1): หุ่นยนต์ telepresence เป็นหุ่นยนต์ประเภทหนึ่งที่สามารถควบคุมจากระยะไกลผ่านทางอินเทอร์เน็ตและทำหน้าที่เป็นตัวแทนของคนอื่นได้ ตัวอย่างเช่น หากคุณอยู่ในนิวยอร์ก แต่ต้องการมีปฏิสัมพันธ์ทางกายภาพกับทีมผู้คนในแคลิฟอร์เนีย
ทำให้เรือนกระจกอัตโนมัติด้วย LoRa! (ตอนที่ 2) -- ที่เปิดหน้าต่างแบบใช้มอเตอร์: 6 ขั้นตอน (พร้อมรูปภาพ)

ทำให้เรือนกระจกอัตโนมัติด้วย LoRa! (ตอนที่ 2) || ที่เปิดหน้าต่างแบบใช้มอเตอร์: ในโครงการนี้ ฉันจะแสดงให้คุณเห็นว่าฉันสร้างที่เปิดหน้าต่างแบบใช้มอเตอร์สำหรับเรือนกระจกของฉันได้อย่างไร นั่นหมายความว่าฉันจะแสดงให้คุณเห็นว่าฉันใช้มอเตอร์อะไร ออกแบบระบบกลไกจริงอย่างไร ฉันขับมอเตอร์อย่างไร และสุดท้ายฉันใช้ Arduino LoRa อย่างไร
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน

การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E | การสร้างการควบคุมระยะไกล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างรีโมทคอนโทรล RADIO โดยใช้โมดูลตัวรับส่งสัญญาณ 433mhz พร้อมการเข้ารหัส HT12E & IC ถอดรหัส HT12D ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้ส่วนประกอบราคาถูกมาก เช่น HT
โมดูล RF 433MHZ - ทำเครื่องรับและส่งสัญญาณจากโมดูล RF 433MHZ โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์: 5 ขั้นตอน

โมดูล RF 433MHZ | ทำเครื่องรับและส่งสัญญาณจากโมดูล RF 433MHZ โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์: คุณต้องการส่งข้อมูลไร้สายหรือไม่? อย่างง่ายดายและไม่จำเป็นต้องใช้ไมโครคอนโทรลเลอร์ ไปเลย ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นตัวส่งและรับสัญญาณ rf ขั้นพื้นฐานของ mi ที่พร้อมใช้งาน! ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้เวอร์ชัน