สื่อการสอน


วิธีการใช้ Configurable Logic Cell (CLC) ใน PIC mcu ใน CCS PIC-C

Configurable Logic Cell (CLC) เป็น gate พื้นฐาน (AND, OR, ฯลฯ) ที่ PIC รุ่นใหม่ๆ เช่น 16F1705 จะมีมาให้ใช้งาน โดยมีจุดเด่นที่สามารถเชื่อมโยง output จากโมดูลต่างๆ ภายใน PIC มาเป็น input ของ logic gate ได้โดยไม่มีการลากสายภายนอกใดๆ กรณีศึกษาจากการ modulate สัญญาณเพื่อส่งข้อมูลผ่านแสงอินฟราเรด หากต้องการส่งข้อมูลผ่านสัญญาณอินฟราเรดดังแสดงในภาพวงจรข้างต้น ซึ่งมี IR LED ต่ออยู่กับ PIC ฝั่งส่ง (ซ้าย) และมี IR Receiver ความถี่ 38 kHz ต่ออยู่กับ PIC ฝั่งรับ (ขวา) สิ่งที่มักต้องทำสำหรับฝั่งส่งคือการ modulate […]


Topic 6: PCB Design การออกแบบวงจรอิเล็กทรอนิกส์

PCB Design การออกแบบวงจรพิมพ์อิเล็กทรอนิกส์ ฝึกการออกแบบแผนผังวงจรไฟฟ้า (Schematic) และ การออกแบบวงจรพิมพ์ไฟฟ้า (PCB) ด้วยโปรแกรมออกแบบ PCB online – EasyEDA   LAB 6.1 ออกแบบวงจรพิมพ์ของ PIC16F886 ให้นักศึกษาออกแบบวงจรพิมพ์ (PCB) ตาม Schematic ดังต่อไปนี้ ด้วยโปรแกรม EasyEDA   และสามารถเลือก Package(Footprint) ของแต่ละ Components ได้ดังนี้   Resources Slide : PCB Design – Embedded System Lab Schematic : PIC16F886 PCB Ex : LED Example


Lab 3.2 อ่านค่าจากโมดูลนาฬิกา

โจทย์ 1. ให้นักศึกษาอ่านค่าวันเวลาปัจจุบันจากโมดูลนาฬิกามาแสดงผลบนคอมพิวเตอร์ ตามรูปแบบนี้ 9:33:16 Wed 25/1/2017 เป็นเวลา 9 นาฬิกา 33 นาที 16 วินาที วันพุธที่ 25 มกราคม 2017 2. ให้นักศึกษาเขียนโปรแกรมแสดงค่าเวลาปัจจุบัน (นาที, วินาที) จาก I2C Clock Module ไปแสดงบน 7-segment display จุดประสงค์ เพื่อให้ได้ฝึกใช้ Bit-wise operation ร่วมกับการอ่านค่าผ่าน i2c อุปกรณ์ที่ต้องใช้ โมดูลนาฬิกา – ขอให้นำไปตั้งเวลากับ Staff ก่อนนำมาใช้งาน  ระวังอย่าให้ถ่านหลุดเพราะเวลาจะหายไปและต้องทำการตั้งเวลาใหม่ แนวทาง โมดูลนาฬิกาที่ใช้ในกิจกรรมนี้ใช้ไอซีหมายเลข DS1307 ซึ่งเป็นอุปกรณ์ i2c ที่มีรายละเอียดดังนี้ สามารถศึกษา Data […]


Lab 2.1 : เขียนโปรแกรมใช้งาน Sensor Input

LAB 2.1 เขียนโปรแกรมใช้งาน Sensor Input ประกอบ : Analog to Digital Converter Hysteresis and Low-Pass Filtering โจทย์ สร้างโคมไฟอัตโนมัติ – ให้ต่อเซ็นเซอร์แสงเข้ากับ mcu และควบคุมหลอดไฟ LED โดยให้เปิดเมื่อแสงมืด และให้ปิดเมื่อแสงสว่าง ใช้หลักการ Hysteresis ป้องกันไม่ให้ไฟติดๆ ดับๆ รัว ขณะที่ค่าเซ็นเซอร์อยู่บริเวณรอยต่อของเงื่อนไข  และใช้โปรแกรม Serial Plotter เป็นเครื่องมือแสดงค่าพฤติกรรมของเซ็นเซอร์  ใช้หลักการตัวกรอง (filter) ป้องกันไม่ให้ไฟกระพริบในกรณีที่ค่าแสงสว่างเปลี่ยนแปลงชั่วครู่  เช่น ตอนกลางคืนหากมีแสงสว่างที่เกิดเกิดฟ้าแลบฟ้าผ่า หลอดไฟไม่ควรดับ  หรือตอนกลางวันถ้ามีเงาพาดผ่านเซ็นเซอร์ทำให้แสงมืดไปชั่วขณะ หลอดไฟก็ไม่ควรติด  ขอให้ใช้โปรแกรม Serial Plotter สร้างกราฟเพื่อแสดงให้เห็นผลก่อนและหลังการใช้ filter ด้วย ทดลองใช้ Capacitor […]


Lab 5.3: ทดลองควบคุม Servo motor

Lab 5.3 – ทดลองควบคุม Servo motor โจทย์ ควบคุม servo motor เพื่อสร้าง Useless Machine อย่างง่าย กำหนดให้ใช้มื่อกดปุ่มเพื่อเปิดไฟ LED โดยพอไฟ LED ติด Servo จะหมุนมากดปุ่มอีกทีเพื่อปิดไฟ (โปรแกรมส่วน LED เขียนไว้ว่ากดเปิด กดปิด วนไปเรื่อย) สามารถใช้มือของ นศ. จับ servo เล็งให้กดปุ่มได้พอดี ตัวอย่าง แนวทาง servo เป็นมอเตอร์ชนิดหนึ่ง มีจุดเด่นที่สามารถควบคุมตำแหน่งแขนให้ชี้ไปในทิศที่ต้องการได้ ซึ่งการควบคุมตำแหน่งนี้จะใช้สัญญาณ PWM และมีคุณลักษณะดังต่อไปนี้ servo มีช่วงองศาการหมุนประมาณ 180 องศา ซึ่งควบคุมด้วย Pulse ความกว้างตั้งแต่ 1-2 ms และมีคาบของสัญญาณ PWM […]


Lab 5.2: การใช้ Hardware PWM

Lab 5.2 – การใช้ Hardware PWM โจทย์ ให้ทำ LAB 5.1 แต่เปลี่ยนไปใช้ Hardware PWM กำหนดให้ความถี่ของสัญญาณ PWM = 5 kHz แนวทาง แม้ PWM จะสร้างได้โดยใช้ Software แต่ผลที่ได้อาจมีความละเอียดหรือความถี่ไม่เพียงพอกับการใช้งานบางประเภท เช่น การหรีไฟ LED หากความถี่ไม่สูงพอ (< 60 Hz) อาจยังเห็นว่ามันกระพริบได้ เป็นต้น ไมโครคอนโทรลเลอร์โดยปกติแล้วจะมี Hardware PWM มาให้ด้วย เช่น PIC16F886 ที่ใช้ในการทดลองนี้มีมาให้สองช่องโดยมีชื่อเรียกว่า CCP (Capture, Compare, PWM Module) โมดูล CCP1 จะอยู่ขา  C2 และ CCP2 […]


Lab 5.1: เทคนิค Pulse Width Modulation (PWM)

Lab 5.1 – เทคนิค Pulse Width Modulation (PWM) โจทย์ ให้นักศึกษาเขียนโปรแกรมควบคุมความสว่างของ LED เมื่อเริ่มโปรแกรม LED จะดับอยู่ ทุกครั้งที่ผู้ใช้กดปุ่ม Run จะทำให้ LED ค่อยๆ สว่างขึ้น (มีอย่างน้อย 5 ระดับ) แนวปฏิบัติ การควบคุมพลังงานที่ส่งออกไปยังอุปกรณ์ที่ต้องการควบคุม เช่น ความแรงมอร์เตอร์ ความสว่างของไฟ LED โดยปกติหมายถึงการลดแรงดันที่ส่งออกไปยังมอร์เตอร์ แต่การลดแรงดันนั้นเป็นแนวทางที่ต้องใช้วงจรที่ซับซ้อนมีความยุ่งยากค่อนข้างมาก ดังนั้นโดยทั่วไปจึงนิยมใช้เทคนิคที่เรียกว่า Pulse Width Modulation (PWM) ซึ่งไม่ได้ลดแรงดัน หากแต่ใช้หลักการเปิด/ปิดมอร์เตอร์ด้วยความเร็วสูงๆ จนผลค่าเฉลี่ยของแรงดันที่ได้ออกมาเทียบเท่ากับการเปลียนแรงดันโดยตรง เทคนิคนี้ทำให้ไม่ต้องใช้วงจรซับซ้อน แต่การเขียนโปรแกรมจะยุ่งยากขึ้นบ้าง PWM นั้นโดยทั่วไปจะมีการสร้างลูกคลื่นสี่เหลี่ยม (Square Wave) ออกมาโดยกำหนดคาบของสัญญาณ (Period) ให้สั้นๆ ซึ่งปกติคาบจะจะมีค่าไม่เกิน 33 […]


Topic 5: Pulse Width Modulation (PWM) Programming

Pulse Width Modulation (PWM) Programming ฝึกการเขียนโปรแกรมโดยใช้ PWM ของ Microcontroller เพื่อเพิ่มประสิทธิ์ภาพการทำงานของระบบ   LAB LAB 5.1 – เทคนิค Pulse Width Modulation (PWM) LAB 5.2 – การใช้ Hardware PWM Lab 5.3 – ทดลองควบคุม Servo motor   Resources Spreadsheet คำนวณค่า Hardware PWM  


Lab 4.3 : สร้างเสียงเพลง

Lab 4.3 – สร้างเสียงเพลง โจทย์ ให้ใช้ Timer Interrupt ในการสร้างโน๊ตดนตรีออกมาให้เป็นเพลง 1 เพลง   การสร้างเสียงโน๊ตดนตรี ตารางต่อไปนี้แสดงความถี่ของตัวโน๊ตมาตรฐานต่างๆ ที่สามารถนำไปใช้สร้างเป็นเพลงได้ โน๊ต C,D,E ก็คือโน๊ด โด, เร, มี นั่นเอง โดยแนวนอนแต่ละแถวแทนหนึ่ง Octave โดย Octave ที่ 6 (สีแดง) เป็นความถี่ระดับที่ใช้ได้ดีกับลำโพง Piezo การต่อลำโพง หากใช้ลำโพงที่มีสายไฟสามเส้น (ดำ,แดง,น้ำเงิน) ให้ต่อวงจรดังนี้ Ground – สายสีดำ Square Wave Signal – สายสีแดง ต่อไปนี้เป็นตัวอย่างโน๊ตเพลงที่สามารถนำมาทดลองใช้ได้ เพลง Jin-gle Bells. เพลง Happy Birth […]