Saturday, July 4, 2015

MiniProject: LED อัตโนมัติ

        สำหรับมินิโปรเจคที่กลุ่มของข้าพเจ้าได้ทำคือ LED อัตโนมัติ ซึ่งเป็นการใช้งานบอร์ด STM32F4 Discovery ในการควบคุมการทำงานของ led ให้ติดหรือดับตามเวลาที่ต้องการ โดยได้ใช้ RTC Module ET-MINI DS1307 เป็นตัวในการตั้งเวลา สำหรับครั้งแรกของการใช้งานจะต้องตั้งเวลาให้กับ RTC Module ก่อน จากนั้นจึงตั้งให้เวลาให้กับ led

สำหรับรายละเอียดของมินิโปรเจคนี้ เช่น วัตถุประสงค์ ขอบเขตของการทำงาน สามารถดูได้จากลิงค์นี้   http://embededlab.blogspot.com/2015/05/mini-project.html

สำหรับการทำงานทั้งหมดของโปรเจคแบ่งได้เป็น 6 ส่วนดังนี้


ส่วนที่ 1: การใช้งาน 16X2 LCD Display กับบอร์ด STM32F4-Discovery


ภาพ Wiring Diagram


ภาพการต่อวงจรจริง

        สำหรับในส่วนนี้จะเป็นการเชื่อมต่อ 16X2 LCD Display เข้ากับ STM32F4 Discovery ซึ่งจะมีการระบุพินนี้คืออะไร ต่อเข้ากับพินไหนบนบอร์ด นอกจากนี้ยังมีโค้ดตัวอย่างสำหรับในการทดลองซึ่งมีทั้งแบบ Standard Library และแบบ HAL Library โดยสามารถดูรายละเอียดได้จากลิงค์ต่อไปนี้ http://embededlab.blogspot.com/2015/06/16x2-lcd-display-stm32f4-discovery.html

ส่วนที่ 2: การใช้ ET-MINI DS1307 (RTC Module) กับบอร์ด STM32F4-discovery


ภาพ Wiring Diagram


ภาพการต่อวงจรจริง

        สำหรับในส่วนนี้จะเป็นการใช้งาน RTC Module กับบอร์ด STM32F4 Discovery ซึ่งจะมีรายละเอียดเกี่ยวกับพินต่างๆของโมดูลว่าคือพินอะไร ไว้ใช้ทำอะไร และพินที่ต่อเข้ากับ STM32F4 Discovery ในการรับส่งข้อมูลระหว่าง RTC Module กับบอร์ด STM32F4 Discovery จะใช้การส่งแบบ I2C โดยที่บอร์ด STM32F4 จะเป็น Master ทั้งในการรับและการส่งข้อมูล ส่วน RTC Module จะทำหน้าที่เป็น Slave รายละเอียดเพิ่มเติมสามารถดูได้จากลิงค์นี้ http://embededlab.blogspot.com/2015/06/ds1307-rtc-stm32f4-discovery.html

ส่วนที่ 3: โค้ดที่ใช้ในการทดลอง RTC Module
        สำหรับโค้ดที่ใช้ในการทดลอง RTC Module นั้นแบ่งเป็น 2 ส่วนด้วยกันคือ
  • ส่วนแรก จะเป็นการเขียนโค้ดโดยใช้ Standard Library ซึ่งเป็นไลบรารี่ที่ใช้งานกันทั่วไปจึงทำให้มีตัวอย่างการใช้งานค่อนข้างหลากหลาย โดยสามารถดูรายละเอียดฟังก์ชันในการทำงานเพิ่มเติมได้ที่ลิงค์นี้  http://embededlab.blogspot.com/2015/06/ds1307-rtc.html
  • ส่วนที่ 2 จะเป็นการเขียนโค้ดโดยใช้ HAL Library ซึ่งเป็นไลบรารี่ที่มาใหม่ โดยทำให้ง่ายต่อการเชื่อมต่อฮาร์ดแวร์ได้มากขึ้น ยังไม่ค่อยมีคนใช้ จึงหาตัวอย่างการใช้งานได้ค่อยข้างยาก โดยโค้ดที่ใช้ในการทดลองแบบ HAL Library สามารถดูได้จากลิงค์นี้ http://embededlab.blogspot.com/2015/06/miniproject-5-ds1307-hal.html

ส่วนที่ 4: ส่วนของการตั้งเวลา LED ติด/ดับ อัตโนมัติ
        สำหรับในส่วนนี้จะเป็นการตั้งเวลาเปิดปิด led อัตโนมัติโดยใช้ ET-Mini DS1307 RTC Module เป็นตัวในการตั้งเวลา โดยในการตั้งเวลาที่ทดลองจะให้ไฟ led toggle ทุกๆ 5 วินาที สำหรับรายละเอียดต่างๆสามารถดูได้จากลิงค์นี้ http://embededlab.blogspot.com/2015/06/miniproject-4-led.html

ส่วนที่ 5: การทดลองการใช้งาน SPI
        สำหรับในส่วนนี้จะเป็นการทดสอบการใช้งาน SPI บนบอร์ด STM32F4 Discover ได้ทำการทดสอบโดยใช้ Oscilloscope วัดค่าสัญญาณที่ออกมาจากพิน SCK (ในที่นี้ใช้พิน PB13) กับพิน CS (ในที่นี้ใช้พิน PC5) โดยทำการส่งค่าออกไปที่ขา SPI ซึ่งรายละเอียดต่างๆสามารถดูได้จากลิงค์นี้ http://embededlab.blogspot.com/2015/07/miniproject-6-spi.html

ส่วนที่ 6: การใช้งาน ENC28J60 Ethernet Module กับบอร์ด STM32F4 Discovery
        สำหรับในส่วนนี้จะเป็นการทดสอบการใช้งาน ENC28J60 Ethernet Module กับบอร์ด STM32F4 Discovery

No comments:

Post a Comment