01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
หน้านี้รวบรวมลิงก์ของเอกสารและวิดีโอประกอบการเรียนวิชาการ 01204223 ปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ (Practicum for Computer Engineering) ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์
ประกาศ
- ยินดีต้อนรับสู่วิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
- เจอกันใน facebook
- และระบบ E-labsheet
แผนการสอน
เนื้อหา
สัปดาห์ที่ 1
- ซอฟต์แวร์: รู้จักกับระบบยูนิกซ์
- ชีตแล็บ: ระบบยูนิกซ์และคำสั่งพื้นฐาน
- ชีตแล็บ: การใช้ filename expansion
- วีดีทัศน์: พาธในยูนิกซ์
- ตอนที่ 1 เกริ่นนำเกี่ยวกับ shell และแนะนำแนวคิดของโครงสร้างไดเร็กทอรี
- ตอนที่ 2 อธิบายแนวคิดของ working directory และการอ้างถึงไฟล์โดยอิงกับ working directory, ทดลองใช้คำสั่ง ls, cd, pwd และ cp
- ตอนที่ 3 อธิบายวิธีการอ้างถึงไฟล์ในรูปแบบอื่น ๆ เช่นการอ้างแบบ absolute (/) อ้างผ่าน home (~) และการอ้างถึงตำแหน่งนั้นเอง (.) กับการอ้างถึงไดเร็กทอรีก่อนหน้า (..)
- วีดีทัศน์: glob และการกระจายคำสั่ง
สัปดาห์ที่ 2
- ซอฟต์แวร์: การใช้งานรีไดเร็กชันและไปป์
- วีดีทัศน์: คลิปที่ youtube (มีตอนเดียว) แนะนำการใช้งาน redirection และ pipe พร้อมยกตัวอย่างด้วยคำสั่ง grep และ wc และแนะนำคำสั่ง tee
- ชีตแล็บ: ยูนิกส์สำหรับ geek
- ไฟล์ทดสอบ: 01204223/unix-lab-files
สัปดาห์ที่ 3
- ฮาร์ดแวร์: การสร้างวงจรต้นแบบ
- สไลด์: การสร้างวงจรต้นแบบ (เอกสาร ppt) (เอกสาร pdf)
- สไลด์: การบัดกรีชิ้นงานอิเล็กทรอนิกส์ (เอกสาร ppt) (เอกสาร pdf)
- วิกิ: การบัดกรีแผงวงจรพ่วง
- วีดีทัศน์: การบัดกรีวงจร (ไฟล์ .mkv, ซับไทย)
สัปดาห์ที่ 4
- ฮาร์ดแวร์: เครื่องมือวัดและชุดทดลองวงจรดิจิทัล
- สไลด์: เครื่องมือวัด (เอกสาร ppt) (เอกสาร pdf)
- วีดีทัศน์
- ฮาร์ดแวร์: การสร้างและทดสอบวงจรต้นแบบ
- วิกิ: การบัดกรีแผงวงจรพ่วง
- วีดีทัศน์
- ซิมูเลชัน: การทำงานของบอร์ดวงจรพ่วง (ใช้เบราเซอร์ที่รองรับ Java Applet เช่น Firefox)
สัปดาห์ที่ 5
- ฮาร์ดแวร์: การประกอบบอร์ดไมโครคอนโทรลเลอร์
- วิกิ
- สไลด์
- ไมโครคอนโทรลเลอร์เบื้องต้น (เอกสาร ppt) (เอกสาร pdf)
- ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ (เอกสาร ppt) (เอกสาร pdf)
- วีดีทัศน์
สัปดาห์ที่ 6
- ฮาร์ดแวร์: การพัฒนาเฟิร์มแวร์ไมโครคอนโทรลเลอร์เบื้องต้น
- วิกิ
- สไลด์
- ไมโครคอนโทรลเลอร์เบื้องต้น (เอกสาร ppt) (เอกสาร pdf)
- ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ (เอกสาร ppt) (เอกสาร pdf)
- แผงวงจรพ่วง (เอกสาร ppt) (เอกสาร pdf)
- วีดีทัศน์
- ซิมูเลชัน: การทำงานของบอร์ดวงจรพ่วง (ใช้เบราเซอร์ที่รองรับ Java Plugin)
- ลิ้งค์อื่น ๆ
สัปดาห์ที่ 7
- ฮาร์ดแวร์: การตรวจสอบสถานะสวิตช์และการอ่านสัญญาณแอนะล็อก
- วิกิ
- สไลด์
- ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ (เอกสาร ppt) (เอกสาร pdf)
- แผงวงจรพ่วง (เอกสาร ppt) (เอกสาร pdf)
- ซิมูเลชัน
สัปดาห์ที่ 8
- หัวข้อ: การสื่อสารผ่านพอร์ทอนุกรม
- บัดกรีคอนเน็คเตอร์สำหรับพอร์ท D (ห้อง 606)
- (กลับมาห้อง 603) ศึกษาวิกิ การสื่อสารผ่านพอร์ทอนุกรม
- ทดลองทำตัวอย่าง 1: Hello, Serial
- ส่งงาน แบบฝึกหัด 1: แสดงสถานะแสงและสวิตช์ผ่านพอร์ทอนุกรม
- หัวข้อ: การทำมัลติทาสกิ้งบนไมโครคอนโทรลเลอร์
- ศึกษาวิกิ มัลติทาสกิ้งบนไมโครคอนโทรลเลอร์ และ มัลติทาสกิ้งด้วยไลบรารี Protothreads
- ทดลองทำตัวอย่าง 2: ไฟกระพริบสองดวงอิสระ
- ส่งงาน แบบฝึกหัด 2: ไฟกระพริบสองดวงอิสระพร้อมสวิตช์สลับไฟ
สัปดาห์ที่ 9
- หัวข้อ: ไพทอนแบบเร่งรัด
- ศึกษาวิกิ Python Programming โดยข้ามหัวข้อ
Objects,Classes และ Inheritance ไปก่อน (หมายเหตุ: ไพทอนที่มีอยู่ใน Ubuntu และ MacOS สามารถใช้งานได้อยู่แล้ว ไม่จำเป็นต้องลงเพิ่มเติม) - ส่งงาน ทำโจทย์ใน elab เรื่อง ไพทอนจานด่วน
- ศึกษาวิกิ Python Programming โดยข้ามหัวข้อ
- หัวข้อ: การเตรียมสภาพแวดล้อมสำหรับพัฒนาเฟิร์มแวร์ USB
- ศึกษาและปฏิบัติตามขั้นตอนในวิกิ การใช้ Arduino Makefile
- ศึกษาและปฏิบัติตามขั้นตอนในวิกิ การติดตั้งไลบรารี V-USB สำหรับ Arduino
- ศึกษาและปฏิบัติตามขั้นตอนในวิกิ การติดตั้งไลบรารี PyUSB
- ส่งงาน สาธิตให้เห็นว่าได้ติดตั้งไลบรารี V-USB และ PyUSB ในสองขั้นตอนที่แล้วเสร็จสมบูรณ์
สัปดาห์ที่ 10
- หัวข้อ: การติดต่อกับบอร์ด MCU ผ่านพอร์ท USB
- ศึกษาวิกิ การติดต่อกับบอร์ด MCU ผ่าน USB ด้วย Arduino มาก่อนล่วงหน้า
- ฟังบรรยายตามสไลด์ การสื่อสารกับบอร์ด MCU ผ่านพอร์ต USB (เอกสาร pptx) (เอกสาร pdf)
- งานส่งในคาบ แก้ไขเฟิร์มแวร์ usb_generic และโมดูลไพทอน peri.py ให้สมบูรณ์ เพื่อให้รันโปรแกรมทดสอบ test-usb.py ได้อย่างถูกต้อง
- หัวข้อ: การเตรียมตัวทำโครงงาน
- จับกลุ่มเพื่อทำโครงงานกลุ่มละ 2 คน สมาชิกในกลุ่มควรเป็นผู้ที่ลงทะเบียนเรียนหมู่เดียวกัน
- งานส่งในคาบ ให้สมาชิกคนใดคนหนึ่งกรอกข้อมูลสมาชิกกลุ่มผ่านระบบ e-labsheet ที่ https://cloud3.cpe.ku.ac.th/elab2/lab/12/57/
- งานส่งก่อนคาบเรียนถัดไป ปรึกษากันกับสมาชิกกลุ่มเพื่อตั้งชื่อทีม ชื่อโครงงาน และรายละเอียดโครงงานคร่าว ๆ จากนั้นให้สมาชิกคนใดคนหนึ่งกรอกข้อมูลลงในฟอร์ม https://cloud3.cpe.ku.ac.th/elab2/lab/12/57/
สัปดาห์ที่ 11
- หัวข้อ: การสร้างเกมอย่างง่าย
- ศึกษาและปฏิบัติตามขั้นตอนในวิกิ สร้างเกมด้วย Pygame
- งานส่งในคาบ (เป็นกลุ่ม) เกมสควอชที่แก้ไขเสร็จสิ้นตามขั้นตอนทั้งหมดในวิกิเป็นอย่างน้อย
- หัวข้อ: การเตรียมตัวทำโครงงาน
- หารือกันเรื่องโครงงานปลายภาค และอัพเดตข้อมูลใน E-labsheet https://cloud3.cpe.ku.ac.th/elab2/lab/12/57/
รวบรวมลิ้งค์สำหรับเอกสารและสื่อการสอน
วิกิ
- การบัดกรีแผงวงจรไมโครคอนโทรลเลอร์
- การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์
- การติดตั้ง Arduino IDE และเครื่องมือที่เกี่ยวข้อง
- การบัดกรีแผงวงจรพ่วง
- แผงวงจรพ่วง (Peripheral Board)
- การวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์
- การแก้ไขสิทธิการเข้าถึงพอร์ท USB ของบอร์ด MCU
- การสื่อสารผ่านพอร์ทอนุกรม
- มัลติทาสกิ้งบนไมโครคอนโทรลเลอร์
- มัลติทาสกิ้งด้วยไลบรารี Protothreads
- การใช้ Arduino Makefile
- การติดตั้งไลบรารี V-USB สำหรับ Arduino
- การติดตั้งไลบรารี PyUSB
- การติดต่อกับบอร์ด MCU ผ่าน USB ด้วย Arduino
- ตัวอย่างโปรแกรมสำหรับไมโครคอนโทรลเลอร์
- Python Programming
- สร้างเกมด้วย Pygame
สไลด์
- การสร้างวงจรต้นแบบ (เอกสาร ppt) (เอกสาร pdf)
- การบัดกรีชิ้นงานอิเล็กทรอนิกส์ (เอกสาร ppt) (เอกสาร pdf)
- เครื่องมือวัด (เอกสาร ppt) (เอกสาร pdf)
- ไมโครคอนโทรลเลอร์เบื้องต้น (เอกสาร pptx) (เอกสาร pdf)
- แผงวงจรพ่วง (เอกสาร ppt) (เอกสาร pdf)
- ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ (เอกสาร ppt) (เอกสาร pdf)
- การสื่อสารกับบอร์ด MCU ผ่านพอร์ต USB (เอกสาร pptx) (เอกสาร pdf)
- การจัดการเวอร์ชันด้วย Mercurial (เอกสาร ppt) (เอกสาร pdf)
- การทำโครงงานปลายภาค (เอกสาร ppt) (เอกสาร pdf)
วีดีทัศน์
- พาธในยูนิกซ์ ตอนที่ 1 เกริ่นนำเกี่ยวกับ shell และแนะนำแนวคิดของโครงสร้างไดเร็กทอรี
- พาธในยูนิกซ์ ตอนที่ 2 อธิบายแนวคิดของ working directory และการอ้างถึงไฟล์โดยอิงกับ working directory, ทดลองใช้คำสั่ง ls, cd, pwd และ cp
- พาธในยูนิกซ์ ตอนที่ 3 อธิบายวิธีการอ้างถึงไฟล์ในรูปแบบอื่น ๆ เช่นการอ้างแบบ absolute (/) อ้างผ่าน home (~) และการอ้างถึงตำแหน่งนั้นเอง (.) กับการอ้างถึงไดเร็กทอรีก่อนหน้า (..)
- glob และการกระจายคำสั่ง ตอนที่ 1 ยกตัวอย่างการใช้ pattern เพื่อแทนชื่อไฟล์ และอธิบายการทำงานของ command expansion/substitution
- glob และการกระจายคำสั่ง ตอนที่ 2 แนะนำการใช้ *, ?, และ [..] ในการทำ filename expansion ใน shell
- แนะนำการใช้งาน redirection และ pipe พร้อมยกตัวอย่างด้วยคำสั่ง grep และ wc และแนะนำคำสั่ง tee
- การใช้งานชุดทดลองดิจิทัลเบื้องต้น
- การใช้งานออสซิลโลสโคป
- การบัดกรีวงจร (ไฟล์ .mkv, ซับไทย)
- การทำสายแพ
- การตรวจเช็คแผงวงจรพ่วง
- แนะนำไมโครคอนโทรลเลอร์และแผงวงจรหลัก
- การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์
- การพัฒนาเฟิร์มแวร์ด้วย Arduino IDE
ชีตแล็บ
- ระบบยูนิกซ์และคำสั่งพื้นฐาน
- การใช้ filename expansion
- ยูนิกส์สำหรับ geek
- Python: งูเหลือมตะลุยจักรวาล
ซิมูเลชัน
ซิมูเลชันจำลองวงจรไฟฟ้า (ใช้เบราเซอร์ที่รองรับ Java plugin)
ซิมูเลชันสาธิตการทำงานของบอร์ดไมโครคอนโทรลเลอร์ (ใช้เบราเซอร์ที่รองรับ HTML5)
เอกสารและไฟล์อื่น ๆ
- Datasheet สำหรับไมโครคอนโทรลเลอร์เบอร์ ATMega168
- ผังวงจรบอร์ดไมโครคอนโทรลเลอร์
- ไฟล์วงจรและแผ่นวงจรพิมพ์ของบอร์ด Practicum เปิดด้วยโปรแกรม CadSoft EAGLE
- ดาวน์โหลด Arduino IDE
- เอกสารอธิบายการใช้งานไลบรารีของ Arduino