ส่วนประกอบงานวิชา เขียนโปรแกรม ตัวอย่างงานที่ 15
โครงงานเครื่องนับจำนวนรถยนต์
เนื่องจากปัจจุบันมีการใช้รถยนต์ส่วนบุคคลเป็นจำนวนมากในการเดินทางไปในสถานที่ต่างๆ เช่น ห้างสรรพสินค้า สถานที่ท่องเที่ยว เป็นต้น ทำให้เกิดปัญหาในการหาสถานที่จอดรถซึ่งผู้ขับขี่รถยนต์ไม่สามารถทราบได้ว่าสถานที่จอดรถที่นั้นมีรถเต็มแล้วหรือไม่ ซึ่งจะทำให้เกิดปัญหาการจราจรติดขัดบริเวณทางเข้า– ออกลานจอดรถ และเป็นผลให้สิ้นเปลืองเชื้อเพลิงโดยไม่จำเป็น
ดังนั้น เพื่อไม่ให้ผู้ขับขี่รถเสียเวลาในการวนหาที่จอดรถ จึงได้ทำการออกแบบเครื่องจำลองการนับจานวนรถ เข้า – ออก ที่มีต้นทุนการผลิตต่ำสามารถทำงานได้อย่างมีประสิทธิภาพ และสามารถดูข้อมูลการนับจำนวนรถที่เข้ามาจอดในลานจอดรถผ่านทางจอแสดงผล LCD เพื่อสามารถนำไปประยุกต์ใช้งานในสถานที่จอดรถจริง โดยสามารถแสดงข้อมูลจานวนรถที่อยู่ในสถานที่จอดรถ ทำให้ผู้ที่ใช้บริการลานจอดรถสามารถรับรู้ปริมาณจำนวนรถภายในลานจอดรถได้และนำข้อมูลการใช้บริการอยู่มาเก็บสถิติการใช้บริการจอดรถ
เนื่องจากปัจจุบันมีการใช้รถยนต์ส่วนบุคคลเป็นจำนวนมากในการเดินทางไปในสถานที่ต่างๆ เช่น ห้างสรรพสินค้า สถานที่ท่องเที่ยว เป็นต้น ทำให้เกิดปัญหาในการหาสถานที่จอดรถซึ่งผู้ขับขี่รถยนต์ไม่สามารถทราบได้ว่าสถานที่จอดรถที่นั้นมีรถเต็มแล้วหรือไม่ ซึ่งจะทำให้เกิดปัญหาการจราจรติดขัดบริเวณทางเข้า– ออกลานจอดรถ และเป็นผลให้สิ้นเปลืองเชื้อเพลิงโดยไม่จำเป็น
ดังนั้น เพื่อไม่ให้ผู้ขับขี่รถเสียเวลาในการวนหาที่จอดรถ จึงได้ทำการออกแบบเครื่องจำลองการนับจานวนรถ เข้า – ออก ที่มีต้นทุนการผลิตต่ำสามารถทำงานได้อย่างมีประสิทธิภาพ และสามารถดูข้อมูลการนับจำนวนรถที่เข้ามาจอดในลานจอดรถผ่านทางจอแสดงผล LCD เพื่อสามารถนำไปประยุกต์ใช้งานในสถานที่จอดรถจริง โดยสามารถแสดงข้อมูลจานวนรถที่อยู่ในสถานที่จอดรถ ทำให้ผู้ที่ใช้บริการลานจอดรถสามารถรับรู้ปริมาณจำนวนรถภายในลานจอดรถได้และนำข้อมูลการใช้บริการอยู่มาเก็บสถิติการใช้บริการจอดรถ
คุณสมบัติการทำงานของเครื่องนับจำนวนรถยนต์
- สามารถนับรถยนต์เข้า-ออกได้
- สามารถเพิ่มจำนวนรถยนต์สูงสุดในโรงรถได้
- มีการบอกสถานะว่าที่จอดรถยนต์เต็มหรือไม่เต็ม
- มีหน้าจอแสดงข้อมูลจานวนรถยนต์และสถานะที่จอดรถยนต์
- สามารถนับรถยนต์เข้า-ออกได้
- สามารถเพิ่มจำนวนรถยนต์สูงสุดในโรงรถได้
- มีการบอกสถานะว่าที่จอดรถยนต์เต็มหรือไม่เต็ม
- มีหน้าจอแสดงข้อมูลจานวนรถยนต์และสถานะที่จอดรถยนต์
การต่อวงจรสำหรับวงจรเครื่องนับจำนวนรถยนต์
ส่วนประกอบของวงจร
ประกอบไปด้วย
- บอร์ด STM32F4
- ชุดเปรียบเทียบแรงดัน R-OPAMP
- สวิตซ์กดติด-ปล่อยดับ
- โฟโตทรานซิสเตอร์และหลอดอินฟาเรด
การต่อการใช้งานของวงจรจะประกอบไปด้วยชุดเซนเซอร์ 2 ชุด โดยแต่ละชุดจะต่อ Output เข้าบอร์ด STM32F4 ขา PA2และ PA3 ตามลำดับ และต่อชุดสวิตซ์ Up – Down โดยขาของสวิตซ์ขาหนึ่งจะต่อกับไฟตรง 3V และอีกข้างต่อกับบอร์ด STM32F4 ขา PC3 และ PA4 ตามลำดับและ จอ LCD การต่อเข้าบอร์ด STM32F4 จะต่อตามรูปที่ 1
ประกอบไปด้วย
- บอร์ด STM32F4
- ชุดเปรียบเทียบแรงดัน R-OPAMP
- สวิตซ์กดติด-ปล่อยดับ
- โฟโตทรานซิสเตอร์และหลอดอินฟาเรด
การต่อการใช้งานของวงจรจะประกอบไปด้วยชุดเซนเซอร์ 2 ชุด โดยแต่ละชุดจะต่อ Output เข้าบอร์ด STM32F4 ขา PA2และ PA3 ตามลำดับ และต่อชุดสวิตซ์ Up – Down โดยขาของสวิตซ์ขาหนึ่งจะต่อกับไฟตรง 3V และอีกข้างต่อกับบอร์ด STM32F4 ขา PC3 และ PA4 ตามลำดับและ จอ LCD การต่อเข้าบอร์ด STM32F4 จะต่อตามรูปที่ 1
โปรแกรม Simulink ของเครื่องนับจำนวนรถยนต์
การเขียนโปรแกรมจะเป็นการรับค่าจากเซนเซอร์ 2 ชุดโดยชุดแรกรับเข้าขา PA2 และอีกชุดเข้าขา PA3 โดยรับเป็นสัญญาณ Digital เพื่อรับค่า 0 และ 1 เข้ามาใน Chart ของ Stateflow เพื่อมาเข้าเงื่อนไขการนับรถเข้า – ออก โดยเมื่อรถเข้าจะส่งสัญญาณ Digital เป็น 1 ออก out และเมื่อรถออก out2 จะเป็น 1 เพื่อส่งไปยังบล๊อก Function3 เพื่อเข้าเงื่อนไขการนับจานวนรถยนต์
ต่อมาส่วนของการเพิ่มจานวนรถสูงสุดจะเป็นการกดสวิตซ์ Up – Down โดยสัญญาณการกดสวิตซ์สองตัวโดยจะส่งเข้าขา PC3 เป็น Up และขา PA4 เป็น Down โดยสัญญาณส่งออกมาเป็น Digital เนื่องจากเป็นการเปิด-ปิดสวิตซ์เมื่อการสวิตซ์แล้วสัญญาณจะถูกส่งเข้าบล๊อก Function1 เพื่อเข้าเงื่อนไขการนับโดยสัญญาณ Out ของ Function1 จะถูกส่งไปเก็บค่าในตัวแปร cn2 เพื่อส่งค่าสัญญาณไปยังบล๊อก Function3 เพื่อเข้าเงื่อนไขการตรวจสอบสถานะการเต็มของจำนวนรถยนต์ระหว่างค่าจำนวนรถยนต์เข้า-ออกและจำนวนรถยนต์สูงสุด เพื่อส่งสัญญาณให้บล๊อก Switch ทำงานเมื่อมีค่าสัญญาณ 1 เข้ามา เมื่อมีค่าสัญญาณ 1 เข้ามาในบล๊อก Switch จะทำให้เกิดการเปลี่ยนทางการทำงานโดยเมื่อรถยนต์เต็ม บล๊อก Function3 จะส่งค่า 1 ออกมาเพื่อให้ Switch ทำงานเพื่อโชว์สถานะโรงรถยนต์ “FULL” บนจอ LCD แต่ถ้าในโรงรถยนต์ยังมีที่ว่าง บล๊อก Function3 จะส่งค่า 0 ออกมา Switch จะไม่ทำงานสถานะโรงรถยนต์ “NOT FULL” บนจอ LCD โดยบนจอ LCD ในบรรทัดที่ 1 จะโชว์ค่าจำนวนรถยนต์สูงสุด “MAX CAR : . . . . . ” และในบรรทักที่ 2 จะโชว์ค่าจำนวนรถยนต์เข้า – ออก “CAR : . . . . . ” และบรรทัดที่ 3 จะโชว์สถานะของโรงรถยนต์
การเขียนโปรแกรมจะเป็นการรับค่าจากเซนเซอร์ 2 ชุดโดยชุดแรกรับเข้าขา PA2 และอีกชุดเข้าขา PA3 โดยรับเป็นสัญญาณ Digital เพื่อรับค่า 0 และ 1 เข้ามาใน Chart ของ Stateflow เพื่อมาเข้าเงื่อนไขการนับรถเข้า – ออก โดยเมื่อรถเข้าจะส่งสัญญาณ Digital เป็น 1 ออก out และเมื่อรถออก out2 จะเป็น 1 เพื่อส่งไปยังบล๊อก Function3 เพื่อเข้าเงื่อนไขการนับจานวนรถยนต์
ต่อมาส่วนของการเพิ่มจานวนรถสูงสุดจะเป็นการกดสวิตซ์ Up – Down โดยสัญญาณการกดสวิตซ์สองตัวโดยจะส่งเข้าขา PC3 เป็น Up และขา PA4 เป็น Down โดยสัญญาณส่งออกมาเป็น Digital เนื่องจากเป็นการเปิด-ปิดสวิตซ์เมื่อการสวิตซ์แล้วสัญญาณจะถูกส่งเข้าบล๊อก Function1 เพื่อเข้าเงื่อนไขการนับโดยสัญญาณ Out ของ Function1 จะถูกส่งไปเก็บค่าในตัวแปร cn2 เพื่อส่งค่าสัญญาณไปยังบล๊อก Function3 เพื่อเข้าเงื่อนไขการตรวจสอบสถานะการเต็มของจำนวนรถยนต์ระหว่างค่าจำนวนรถยนต์เข้า-ออกและจำนวนรถยนต์สูงสุด เพื่อส่งสัญญาณให้บล๊อก Switch ทำงานเมื่อมีค่าสัญญาณ 1 เข้ามา เมื่อมีค่าสัญญาณ 1 เข้ามาในบล๊อก Switch จะทำให้เกิดการเปลี่ยนทางการทำงานโดยเมื่อรถยนต์เต็ม บล๊อก Function3 จะส่งค่า 1 ออกมาเพื่อให้ Switch ทำงานเพื่อโชว์สถานะโรงรถยนต์ “FULL” บนจอ LCD แต่ถ้าในโรงรถยนต์ยังมีที่ว่าง บล๊อก Function3 จะส่งค่า 0 ออกมา Switch จะไม่ทำงานสถานะโรงรถยนต์ “NOT FULL” บนจอ LCD โดยบนจอ LCD ในบรรทัดที่ 1 จะโชว์ค่าจำนวนรถยนต์สูงสุด “MAX CAR : . . . . . ” และในบรรทักที่ 2 จะโชว์ค่าจำนวนรถยนต์เข้า – ออก “CAR : . . . . . ” และบรรทัดที่ 3 จะโชว์สถานะของโรงรถยนต์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น