สารบัญ:
- เสบียง
- ขั้นตอนที่ 1:
- ขั้นตอนที่ 2: ทำความคุ้นเคยกับ SEMTECH SX1272
- ขั้นตอนที่ 3: การพิมพ์ 3D Enclosure
วีดีโอ: Sewer'Sway: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
กระบวนการปัจจุบันของการทำความสะอาดท่อระบายน้ำทิ้งเป็นแบบปฏิกิริยามากกว่าเชิงรุก มีการลงทะเบียนการโทรในกรณีที่ท่อน้ำทิ้งอุดตันในพื้นที่ ยิ่งไปกว่านั้น มันเป็นเรื่องยากสำหรับผู้เก็บขยะแบบแมนนวลที่จะเป็นศูนย์ในจุดที่ผิดพลาด พวกเขาใช้วิธีตีและทดลองเพื่อดำเนินการทำความสะอาดในบ่อพักหลายแห่งในพื้นที่ที่ได้รับผลกระทบ ซึ่งเสียเวลาอย่างมาก นอกจากนี้ ความเข้มข้นสูงของก๊าซพิษยังนำไปสู่อาการหงุดหงิด ปวดศีรษะ เหนื่อยล้า ไซนัสอักเสบ หลอดลมอักเสบ ปอดบวม เบื่ออาหาร ความจำไม่ดี และเวียนศีรษะ
วิธีแก้ไขคือการออกแบบต้นแบบซึ่งเป็นอุปกรณ์ขนาดเล็กที่มีรูปทรงของปากกาฝังอยู่บนฝาท่อระบายน้ำ ส่วนล่างของอุปกรณ์ที่สัมผัสกับด้านในของท่อระบายน้ำในขณะที่ปิดฝา - ประกอบด้วยเซ็นเซอร์ที่ตรวจจับระดับน้ำภายในท่อระบายน้ำและความเข้มข้นของก๊าซ ได้แก่ มีเทน คาร์บอนมอนอกไซด์ คาร์บอนไดออกไซด์ และไนโตรเจนออกไซด์. ข้อมูลจะถูกรวบรวมไปยังสถานีหลัก ซึ่งสื่อสารกับอุปกรณ์เหล่านี้ที่ติดตั้งในแต่ละบ่อพักบน LoRaWAN และส่งข้อมูลไปยังเซิร์ฟเวอร์คลาวด์ ซึ่งโฮสต์แดชบอร์ดเพื่อวัตถุประสงค์ในการตรวจสอบ นอกจากนี้ยังช่วยลดช่องว่างระหว่างหน่วยงานเทศบาลที่รับผิดชอบในการบำรุงรักษาท่อระบายน้ำและการเก็บขยะ การติดตั้งอุปกรณ์เหล่านี้ทั่วเมืองจะช่วยให้สามารถป้องกันโซลูชันเพื่อระบุและระบุตำแหน่งของท่อระบายน้ำทิ้งที่อุดตันก่อนที่น้ำเสียจะไปถึงผิวน้ำ
เสบียง
1. เซ็นเซอร์อัลตราโซนิก - HC-SR04
2. เซ็นเซอร์แก๊ส - MQ-4
3. เกตเวย์ LoRa - Raspberry pi 3
4. โมดูล LoRa - Semtech SX1272
5. NodeMCU
6. โมดูล Buzzer
7. แบตเตอรี่ Li-ion 500mAh 3.7V
ขั้นตอนที่ 1:
สำหรับต้นแบบแรก ฉันใช้ tic-tac (กล่องมินต์สด) เป็นกล่องหุ้ม การติดเซ็นเซอร์อัลตราโซนิกทำในลักษณะที่ชี้ Tx และ Rx ไปทางการไหลของน้ำทิ้ง การเชื่อมต่อกับเซ็นเซอร์อัลตราโซนิกและเซ็นเซอร์ก๊าซทำได้ง่ายมาก เพียงแค่ต้องการจ่ายไฟให้กับเซ็นเซอร์แต่ละตัว และใช้หมุดดิจิทัลทั้ง 8 ตัวที่มีอยู่ใน NodeMCU เพื่ออ่านข้อมูล ฉันได้วาดความสัมพันธ์เพื่อความเข้าใจที่ดีขึ้น
ขั้นตอนที่ 2: ทำความคุ้นเคยกับ SEMTECH SX1272
ขั้นตอนต่อไปของเราคือการติดตั้งไลบรารีบน NodeMCU ของเรา
คุณสามารถค้นหาไลบรารีของโมดูล Semtech LoRa ได้ในลิงค์นี้:
ในการติดตั้งไลบรารีนี้:
- ติดตั้งโดยใช้ตัวจัดการไลบรารี Arduino ("ร่าง" -> "รวมไลบรารี" -> "จัดการไลบรารี…") หรือ
- ดาวน์โหลด zipfile จาก github โดยใช้ปุ่ม "ดาวน์โหลด ZIP" และติดตั้งโดยใช้ IDE ("Sketch" -> "Include Library" -> "Add. ZIP Library…"
- โคลนที่เก็บ git นี้ลงในโฟลเดอร์สมุดร่าง/ไลบรารีของคุณ
เพื่อให้ไลบรารีนี้ใช้งานได้ Arduino ของคุณ (หรือบอร์ดที่เข้ากันได้กับ Arduino ที่คุณใช้) ควรเชื่อมต่อกับตัวรับส่งสัญญาณ การเชื่อมต่อที่แน่นอนนั้นขึ้นอยู่กับบอร์ดตัวรับส่งสัญญาณและ Arduino ที่ใช้อยู่เล็กน้อย ดังนั้นส่วนนี้จึงพยายามอธิบายว่าแต่ละการเชื่อมต่อมีไว้เพื่ออะไร และในกรณีใดบ้าง (ไม่จำเป็น)
โปรดทราบว่าโมดูล SX1272 ทำงานที่ 3.3V และอาจไม่ชอบ 5V บนพินของมัน (แม้ว่าแผ่นข้อมูลไม่ได้พูดอะไรเกี่ยวกับเรื่องนี้ และตัวรับส่งสัญญาณของฉันไม่แตกอย่างชัดเจนหลังจากใช้ 5V I/O โดยไม่ได้ตั้งใจเป็นเวลาสองสามชั่วโมง) เพื่อความปลอดภัย ตรวจสอบให้แน่ใจว่าได้ใช้ตัวปรับระดับหรือ Arduino ที่ทำงานที่ 3.3V บอร์ดประเมินผล Semtech มีตัวต้านทาน 100 โอห์มต่ออนุกรมพร้อมสายข้อมูลทั้งหมดที่อาจป้องกันความเสียหาย แต่ฉันจะไม่นับมัน
ตัวรับส่งสัญญาณ SX127x ต้องการแรงดันไฟฟ้าระหว่าง 1.8V ถึง 3.9V การใช้แหล่งจ่ายไฟ 3.3V เป็นเรื่องปกติ โมดูลบางตัวมีพินพลังงานเดียว (เช่น โมดูล HopeRF ที่มีป้ายกำกับ 3.3V) แต่โมดูลอื่นๆ จะแสดงพินพลังงานหลายอันสำหรับชิ้นส่วนต่างๆ (เช่น บอร์ดประเมินผล Semtech ที่มี VDD_RF, VDD_ANA และ VDD_FEM) ซึ่งสามารถเชื่อมต่อเข้าด้วยกันได้ทั้งหมด หมุด GND ใด ๆ จะต้องเชื่อมต่อกับขา Arduino GND
วิธีหลักในการสื่อสารกับตัวรับส่งสัญญาณคือผ่าน SPI (Serial Peripheral Interface) ใช้สี่พิน: MOSI, MISO, SCK และ SS สามอดีตต้องเชื่อมต่อโดยตรง: ดังนั้น MOSI ถึง MOSI, MISO ถึง MISO, SCK ถึง SCK ตำแหน่งที่หมุดเหล่านี้อยู่บน Arduino ของคุณจะแตกต่างกันไป ดูตัวอย่างส่วน "การเชื่อมต่อ" ของเอกสาร Arduino SPI การเชื่อมต่อ SS (slave select) นั้นยืดหยุ่นกว่าเล็กน้อย ที่ด้านทาส SPI (ตัวรับส่งสัญญาณ) สิ่งนี้จะต้องเชื่อมต่อกับพิน (โดยทั่วไป) ที่ติดป้าย NSS ที่ด้าน SPI master (Arduino) พินนี้สามารถเชื่อมต่อกับพิน I/O ใดก็ได้ Arduinos ส่วนใหญ่ยังมีพินที่ระบุว่า "SS" แต่สิ่งนี้เกี่ยวข้องเฉพาะเมื่อ Arduino ทำงานเป็นทาส SPI ซึ่งไม่ใช่ในกรณีนี้ ไม่ว่าคุณจะเลือกพินใดก็ตาม คุณต้องบอกไลบรารีว่าคุณใช้พินใดผ่านการแมปพิน (ดูด้านล่าง)
พิน DIO (ดิจิตอล I/O) บนบอร์ดตัวรับส่งสัญญาณสามารถกำหนดค่าสำหรับฟังก์ชันต่างๆ ได้ ไลบรารี LMIC ใช้เพื่อรับข้อมูลสถานะทันทีจากตัวรับส่งสัญญาณ ตัวอย่างเช่น เมื่อเริ่มส่งสัญญาณ LoRa พิน DIO0 จะได้รับการกำหนดค่าเป็นเอาต์พุต TxDone เมื่อการส่งเสร็จสิ้น พิน DIO0 จะถูกทำให้สูงโดยตัวรับส่งสัญญาณ ซึ่งสามารถตรวจพบได้โดยไลบรารี LMIC ไลบรารี LMIC ต้องการการเข้าถึง DIO0, DIO1 และ DIO2 เท่านั้น พิน DIOx อื่น ๆ สามารถยกเลิกการเชื่อมต่อได้ ในฝั่ง Arduino พวกเขาสามารถเชื่อมต่อกับพิน I/O ใดๆ ได้ เนื่องจากการใช้งานปัจจุบันไม่ได้ใช้การขัดจังหวะหรือคุณสมบัติพิเศษของฮาร์ดแวร์อื่น ๆ (แม้ว่าสิ่งนี้อาจถูกเพิ่มเข้าไปในคุณสมบัติ โปรดดูที่ส่วน "เวลา")
ในโหมด LoRa จะใช้พิน DIO ดังนี้:
- DIO0: TxDone และ RxDone
- DIO1: RxTimeoutIn
โหมด FSK จะใช้ดังนี้::
- DIO0: PayloadReady และ PacketSent
- DIO2: หมดเวลา
ทั้งสองโหมดต้องการเพียง 2 พิน แต่ทรานเซฟเวอร์ไม่อนุญาตให้ทำการแมปในลักษณะที่ขัดจังหวะทั้งหมดจะจับคู่กับ 2 พินเดียวกัน ดังนั้น หากใช้ทั้งโหมด LoRa และ FSK จะต้องเชื่อมต่อทั้งสามพิน พินที่ใช้ด้าน Arduino ควรได้รับการกำหนดค่าในการแมปพินในแบบร่างของคุณ (ดูด้านล่าง) รีเซ็ต ตัวรับส่งสัญญาณมีพินรีเซ็ตที่สามารถใช้รีเซ็ตได้อย่างชัดเจน ไลบรารี LMIC ใช้สิ่งนี้เพื่อให้แน่ใจว่าชิปอยู่ในสถานะที่สอดคล้องกันเมื่อเริ่มต้น ในทางปฏิบัติ พินนี้สามารถยกเลิกการเชื่อมต่อได้ เนื่องจากตัวรับส่งสัญญาณจะอยู่ในสถานะปกติเมื่อเปิดเครื่อง แต่การเชื่อมต่ออาจป้องกันปัญหาได้ในบางกรณี ทางฝั่ง Arduino สามารถใช้พิน I/O ใดก็ได้ ต้องกำหนดค่าหมายเลขพินที่ใช้ในการแมปพิน (ดูด้านล่าง)
ตัวรับส่งสัญญาณมีการเชื่อมต่อเสาอากาศแยกกันสองจุด: หนึ่งสำหรับ RX และอีกอันสำหรับ TX บอร์ดตัวรับส่งสัญญาณทั่วไปมีชิปสวิตช์เสาอากาศ ซึ่งช่วยให้สามารถสลับเสาอากาศเดียวระหว่างการเชื่อมต่อ RX และ TX เหล่านี้ได้ โดยทั่วไปแล้วตัวสลับเสาอากาศดังกล่าวสามารถบอกได้ว่าควรอยู่ในตำแหน่งใดผ่านพินอินพุต ซึ่งมักมีข้อความว่า RXTX วิธีที่ง่ายที่สุดในการควบคุมสวิตช์เสาอากาศคือการใช้พิน RXTX บนตัวรับส่งสัญญาณ SX127x พินนี้ถูกตั้งค่าให้สูงโดยอัตโนมัติระหว่าง TX และต่ำระหว่าง RX ตัวอย่างเช่น บอร์ด HopeRF ดูเหมือนจะมีการเชื่อมต่อนี้ ดังนั้นจึงไม่เปิดเผยพิน RXTX ใดๆ และสามารถทำเครื่องหมายพินว่าไม่ได้ใช้ในการแมปพิน บอร์ดบางรุ่นมีหมุดสลับเสาอากาศ และบางครั้งก็มีพิน SX127x RXTX ด้วย ตัวอย่างเช่น บอร์ดประเมินผล SX1272 เรียก FEM_CTX รุ่นก่อนและรุ่นหลัง RXTX อีกครั้งเพียงแค่เชื่อมต่อสิ่งเหล่านี้เข้าด้วยกันด้วยสายจัมเปอร์เป็นวิธีที่ง่ายที่สุด หรือหากไม่มีพิน SX127x RXTX คุณสามารถกำหนดค่า LMIC เพื่อควบคุมสวิตช์เสาอากาศได้ เชื่อมต่อพินควบคุมสวิตช์เสาอากาศ (เช่น FEM_CTX บนบอร์ดประเมินผล Semtech) กับพิน I/O ด้าน Arduino และกำหนดค่าพินที่ใช้ในแผนที่พิน (ดูด้านล่าง) ยังไม่ชัดเจนว่าเหตุใดจึงไม่ต้องการให้ตัวรับส่งสัญญาณควบคุมเสาอากาศโดยตรง
ขั้นตอนที่ 3: การพิมพ์ 3D Enclosure
เมื่อทุกอย่างพร้อมและใช้งานได้แล้ว ฉันตัดสินใจพิมพ์เคส 3 มิติสำหรับโมดูลเพื่อการออกแบบที่ดูดีขึ้น
ด้วยผลิตภัณฑ์ขั้นสุดท้ายในมือ การติดตั้งใน man-hole และการได้รับผลลัพธ์แบบเรียลไทม์บนแดชบอร์ดจึงเป็นเรื่องง่าย ค่าความเข้มข้นของก๊าซแบบเรียลไทม์พร้อมตัวบ่งชี้ระดับน้ำช่วยให้เจ้าหน้าที่สามารถใช้แนวทางเชิงรุกควบคู่ไปกับวิธีการแก้ไขปัญหาที่ปลอดภัยยิ่งขึ้น
แนะนำ:
การออกแบบเกมในการสะบัดใน 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++)
สร้าง Sway Bar แบบ Mini-LST ของคุณเอง: 11 ขั้นตอน
สร้างแถบโคลง Mini-LST ของคุณเอง: นี่เป็นวิธีที่รวดเร็วและง่ายดายในการประหยัดเงินไม่กี่เหรียญเพื่อสร้างแถบโคลง Mini-LST ของคุณเอง นอกจากนี้ยังสามารถใช้เพื่อสร้างแท่งแกว่งสำหรับ rc อื่นๆ ได้อีกด้วย สิ่งที่ต้องมี: ไม้แขวนเสื้อ (แท่งบางชนิดที่ใช้งานได้) คีมจมูกเข็ม ชิ้นส่วน s