สารบัญ:

Arduino Remote/wireless Programming และ Power Bank Homemade: 12 ขั้นตอน (พร้อมรูปภาพ)
Arduino Remote/wireless Programming และ Power Bank Homemade: 12 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Remote/wireless Programming และ Power Bank Homemade: 12 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Remote/wireless Programming และ Power Bank Homemade: 12 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to use QIACHIP universal wireless remote control switch(RF433M 12V 1 Channel) 2024, กรกฎาคม
Anonim
Image
Image
ส่วนประกอบเพิ่มเติม
ส่วนประกอบเพิ่มเติม

ปัญหา.

ฉันพัฒนาภาพร่างใกล้กับพีซี และฉันใช้ usb และซีเรียลเพื่อ "ดีบั๊ก" ในกรณีนี้ ฉันสร้าง lib สำหรับ DHT12 ฉันส่งเวอร์ชันบน github ของไลบรารี

แต่มาถึงปัญหา: "เมื่ออุณหภูมิต่ำกว่า 0 ค่าที่อ่านไม่ถูกต้อง"

ตอนนี้ฉันต้องทดสอบปัญหาในช่องแช่แข็งของฉัน (:P) และฉันไม่ต้องการเขียนภาพร่างใหม่และใช้ WIFI สำหรับสถานการณ์ง่ายๆ เช่นนั้น

ดังนั้นโดยไม่ต้องเขียนสเก็ตช์ใหม่ ฉันต้องการเขียนโปรแกรมต่อไปเหมือนก่อนหน้านี้ แต่ Arduino ของฉันต้องอยู่ในช่องแช่แข็ง

ฉันต้องการ 2 สิ่ง อย่างแรกคือแบตเตอรี่ แต่ฉันไม่รู้ว่าต้องทำการทดสอบกี่ครั้ง ฉันจึงต้องใช้แบตเตอรี่แบบชาร์จไฟได้ และอะแดปเตอร์เพื่อทำงานกับไมโครคอนโทรลเลอร์จากระยะไกล เช่น Bluetooth

อ้างถึงเว็บไซต์ mi สำหรับรุ่นอัพเกรด

ขั้นตอนที่ 1: ส่วนประกอบเพิ่มเติม

ส่วนประกอบเพิ่มเติม
ส่วนประกอบเพิ่มเติม
ส่วนประกอบเพิ่มเติม
ส่วนประกอบเพิ่มเติม

สำหรับการเชื่อมต่อระยะไกลฉันจะใช้:

  1. อะแดปเตอร์ Bluetooth เช่น:

    1. HC-05 (ทดสอบเพียงบางส่วนเท่านั้น)
    2. SPP C (eBay) (หากคุณค้นหาคุณสามารถค้นหาได้ที่ 1.5$)
    3. ตัวเก็บประจุ 0.1uf (สำหรับ HC-05)

สำหรับแหล่งจ่ายไฟฉันจะใช้ (คุณสามารถใช้แบตเตอรี่ 9v แบบง่ายสำหรับ Arduino แต่ไม่สามารถชาร์จใหม่ได้และฉันไม่รู้ว่าต้องการทดสอบมากแค่ไหน) ชุดไฟแบบชาร์จไฟขนาดเล็ก:

  1. TP4056 โมดูลเครื่องชาร์จแบตเตอรี่ลิเธียม (eBay)
  2. 0.9V-5V ถึง 5V DC-DC USB ตัวแปลงแรงดันไฟฟ้า Step Up Booster Power Supply Module (eBay) มีเอาต์พุตเพียง 600mha หากคุณต้องการสิ่งที่เป็นมืออาชีพมากขึ้น> 1A คุณต้องไปที่นี่ (Digi-key)
  3. 18560 ที่ใส่แบตเตอรี่ (Digi-Key) (SparkFun)
  4. 18560 แบตเตอรี่ (SparkFun) (Digi-Key) ซื้อจากที่นี่ ฉันสร้างตัวตรวจสอบความจุของแบตเตอรี่และฉันเห็นว่าแบตเตอรี่ 18650 ส่วนใหญ่บนเน็ตมีความจุปลอม (แบตเตอรี่ที่ทดสอบคือ 4500mha ประกาศและจริง 1100mha)
  5. สวิตช์ 2 ตำแหน่ง (อีเบย์)

หากคุณต้องการทั้งหมดในโมดูลเดียวคุณสามารถดูสิ่งนี้ (Digi-key)

ขั้นตอนที่ 2: พาวเวอร์ซัพพลาย (Power Bank หรือ UPS แบบธรรมดา)

พาวเวอร์ซัพพลาย (Power Bank หรือ UPS แบบธรรมดา)
พาวเวอร์ซัพพลาย (Power Bank หรือ UPS แบบธรรมดา)
พาวเวอร์ซัพพลาย (Power Bank หรือ UPS แบบธรรมดา)
พาวเวอร์ซัพพลาย (Power Bank หรือ UPS แบบธรรมดา)
พาวเวอร์ซัพพลาย (Power Bank หรือ UPS แบบธรรมดา)
พาวเวอร์ซัพพลาย (Power Bank หรือ UPS แบบธรรมดา)

ในห้องแล็บของฉัน ฉันมีอุปกรณ์หลายอย่าง (ซื้อเพื่อสร้างบางอย่าง) แต่ฉันคิดว่าชุดจ่ายไฟ/แบตเตอรี่แบบชาร์จซ้ำได้ฉุกเฉินแบบ USB นั้นมีประโยชน์ ดังนั้นด้วย 2 องค์ประกอบง่ายๆ เราจะสร้างมันขึ้นมา

ฉันซื้อโมดูลเครื่องชาร์จแบตเตอรี่ลิเธียม TP4056 เพื่อสร้างสถานีตรวจอากาศพลังงานแสงอาทิตย์ของฉัน

และฉันมีโมดูล usb 5 ขั้นเพื่อชาร์จโทรศัพท์ของฉันด้วยแบตเตอรี่ต่างๆ มันแปลงแรงดันไฟฟ้าจาก 0.9-5v เป็น 5v คงที่

ในสคีมาการเชื่อมต่อ คุณจะเห็นว่าเราต้องเพิ่มสวิตช์ก่อนเพิ่มโมดูล เพราะเพื่อให้ได้ 5v มันระบายกระแสไฟอย่างต่อเนื่อง

สามารถใช้เป็น power bank หรือ UPS โมดูลชาร์จสามารถชาร์จและจ่ายไฟได้ในเวลาเดียวกัน

การเชื่อมต่อทำได้ง่าย, เอาต์พุตแบตเตอรี่ TP4056 ไปที่แบตเตอรี่, เอาต์พุต TPR056 ไปที่โมดูล USB สเต็ปอัพ, บนสายบวกต้องเพิ่มสวิตช์ 2 ตำแหน่ง

ขั้นตอนที่ 3: Power Bank: ที่ทำงาน

Image
Image

วิดีโอขั้นต่ำของการใช้งานมาตรฐานของพาวเวอร์แบงค์/UPS นี้

ขั้นตอนที่ 4: การเชื่อมต่อระยะไกล

เชื่อมต่ออะแดปเตอร์ Bluetooth กับ Arduino เพื่อใช้เป็นการเชื่อมต่อแบบอนุกรม
เชื่อมต่ออะแดปเตอร์ Bluetooth กับ Arduino เพื่อใช้เป็นการเชื่อมต่อแบบอนุกรม

ในการสร้างการเชื่อมต่อระยะไกลโดยไม่ใช้สาย USB ฉันต้องการใช้โมดูลบลูทู ธ เป็นการส่งผ่านข้อมูลแบบอนุกรม

กว่าที่เราต้องเชื่อมต่อและตั้งโปรแกรมกับ Arduino ของเรา สคีมาการเชื่อมต่อใช้สำหรับตั้งโปรแกรมอะแดปเตอร์บลูทูธ

ในห้องแล็บของฉัน ฉันมี HC-05 และ SPP C 2 โมดูล

แต่ฉันใช้ HC-05 เพื่อเชื่อมต่อแบบไร้สายกับเราเตอร์ CNC ของฉัน แต่ SPP C ราคาประหยัดก็เพียงพอแล้ว

โดยปกติฉันใช้อัตราบอด 115200 สำหรับการส่งข้อมูลแบบอนุกรม ดังนั้นฉันจึงกำหนดค่าโมดูลบลูทูธของฉันเป็นอัตรานั้น

ขั้นตอนที่ 5: กำหนดค่าโมดูล Bluetooth: HC-05 Clone

สำหรับ HC-05 ฉันใช้รหัสนั้นเพื่อกำหนดค่าสำหรับ cnc ของฉัน

ตั้งค่าอัตรารับส่งข้อมูลแบบอนุกรมที่นี่:

#กำหนด SERIAL_SPEED 115200

อัตราบอดการสื่อสาร Bluetooth ที่นี่:

#define BLUETOOTH_SPEED 38400

ครั้งแรก คุณต้องตั้งค่าให้กำหนดค่าบลูทูธเป็น 9600 ถึงอุปกรณ์ HC-06, อุปกรณ์ 38400 ถึง HC-05

กว่าตั้งค่าบลูทู ธ baudrate เพื่อตั้งค่า:

#define SET_BLUETOOTH_SPEED 115200

คุณสามารถตั้งชื่ออุปกรณ์ใหม่:

#define BT_NAME "ทดสอบ-แนวปะการัง"

แต่โมดูลบลูทู ธ HC ค่อนข้างสะอาดและเป็นมาตรฐาน แต่รหัสนั้นใช้ไม่ได้กับ SPPC

ขั้นตอนที่ 6: กำหนดค่าโมดูล Bluetooth: HC-05 (zs-040)

โมดูลนี้แตกต่างจากโมดูลอื่น การเชื่อมต่อเหมือนกัน

ก่อนอื่นคุณต้องให้ความสนใจว่าปุ่มนั้นมีอยู่หรือไม่ (เพื่อไปยังโหมดการกำหนดค่าให้กดปุ่มนั้นแทน แต่ให้กดพิน 9 ของร่างสูง) เมื่อไฟ LED กะพริบช้าๆ (ทุกๆ 2 วินาที) คุณอยู่ในโหมดการกำหนดค่า โหมดการกำหนดค่าจะทำให้อุปกรณ์อยู่ที่ 38400 baudrate ดังนั้นคุณต้องใส่ซีเรียลและซอฟต์แวร์ซีเรียลไปที่ boudrate นั้น กว่าใส่คำสั่งนี้:

ที่

AT+ORGL AT+POLAR=1, 0 AT+NAME=ทดสอบ-แนวปะการัง AT+UART=115200, 0, 0 AT+INIT

ให้ความสนใจกับอุปกรณ์รีเซ็ตATèORGL

AT+INIT สามารถให้ Error(17) ได้ แต่ไม่ต้องกังวล แสดงว่าอยู่ในโหมดนั้นแล้ว

ขั้นตอนที่ 7: กำหนดค่าโมดูล Bluetooth: SPP C

รหัสสำหรับ SPP C นั้นไม่สะอาดเท่า HC-05 แต่ผลลัพธ์ยังคงเหมือนเดิม

ตั้งค่าอัตรารับส่งข้อมูลแบบอนุกรมที่นี่:

#กำหนด SERIAL_SPEED 115200

อัตราบอดการสื่อสาร Bluetooth ที่นี่:

#define BLUETOOTH_SPEED 38400

ครั้งแรก คุณต้องตั้งค่าให้กำหนดค่าบลูทูธเป็น 9600 ถึงอุปกรณ์ HC-06, อุปกรณ์ 38400 ถึง HC-05

กว่าตั้งค่าบลูทู ธ baudrate เพื่อตั้งค่า:

#define SET_BLUETOOTH_SPEED 115200

คุณสามารถตั้งชื่ออุปกรณ์ใหม่:

#define BT_NAME "ทดสอบ-แนวปะการัง"

ขั้นตอนที่ 8: เชื่อมต่ออะแดปเตอร์ Bluetooth กับ Arduino เพื่อใช้เป็นการเชื่อมต่อแบบอนุกรม

เชื่อมต่ออะแดปเตอร์ Bluetooth กับ Arduino เพื่อใช้เป็นการเชื่อมต่อแบบอนุกรม
เชื่อมต่ออะแดปเตอร์ Bluetooth กับ Arduino เพื่อใช้เป็นการเชื่อมต่อแบบอนุกรม
เชื่อมต่ออะแดปเตอร์ Bluetooth กับ Arduino เพื่อใช้เป็นการเชื่อมต่อแบบอนุกรม
เชื่อมต่ออะแดปเตอร์ Bluetooth กับ Arduino เพื่อใช้เป็นการเชื่อมต่อแบบอนุกรม

สำหรับ HC05 สิ่งเดียวที่ควรทราบคือตัวเก็บประจุแบบขายาว (+) กำลังถูกรีเซ็ต ค่าลบไปที่ DTR (หรือ MCU-INT หรือสถานะ) ของอะแดปเตอร์บลูทูธ คุณสามารถใช้ตัวเก็บประจุเซรามิก 0.1uf ได้เช่นกัน

ฉันไม่ได้ทดสอบ HC-05 ในฐานะโปรแกรมเมอร์ แต่ใช้แทนสาย USB สำหรับการสื่อสารแบบอนุกรมเท่านั้น ดังนั้นฉันจะแสดงโมดูล SPP-C

โมดูล SPP-C ในกรณีของฉันไม่ทำงานถ้าฉันเพิ่มตัวเก็บประจุ แต่ทำงานได้ดีหากไม่มี:D

rx ของอะแดปเตอร์บลูทู ธ ต่อสายบน tx ของไมโครคอนโทรลเลอร์และ tx ถึง rx มากกว่าที่คุณต้องเชื่อมต่อ VCC และ GND และ DTR หรือ MCU-INT หรือสถานะของอะแดปเตอร์บลูทู ธ เพื่อรีเซ็ตไมโครคอนโทรลเลอร์

เพื่อความเสถียรที่ดีกว่า ควรทำตัวแบ่งแรงดันไฟเทียบกับพินบลูทูธ RX เหมือนในรูปเพราะแรงดันถ่ายโอน 3.3v ไม่ใช่ 5v

ขั้นตอนที่ 9: Simple Sketch และอัพโหลดผ่าน USB

ฉันสร้างภาพสเก็ตช์ง่ายๆ เพื่ออัปโหลด โดยจะเขียนเลขโปรเกรสซีฟบนซีเรียลทุก 1,500 มิลลิวินาทีเท่านั้น

ในวิดีโอแสดงการใช้งานมาตรฐานผ่านสาย USB

ขั้นตอนที่ 10: การอัปโหลด Sketch Simple แบบเดียวกันผ่าน Bluetooth

Image
Image

ในวิดีโอนี้ ภาพสเก็ตช์ก่อนหน้านี้จะอัปโหลดจากระยะไกลผ่าน Bluetooth โดยไม่ต้องเปลี่ยนรหัส

ขั้นตอนที่ 11: การทดสอบจริง

การทดสอบจริง
การทดสอบจริง
การทดสอบจริง
การทดสอบจริง
การทดสอบจริง
การทดสอบจริง

ตอนนี้ฉันต้องการคำตอบจากช่องแช่แข็ง

จากช่องแช่แข็งส่วนลึก ใกล้กับไส้กรอก การทดสอบระยะไกลบอกฉันว่า (บัดซบ) มีข้อบกพร่องในไลบรารี DHT12 ของฉันเมื่อต่ำกว่า 0

ขั้นตอนที่ 12: ขอบคุณ

แก้ไขข้อบกพร่องใน DHT12 lib แล้ว

แนะนำ: