01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ ปีการศึกษา 2557
รุ่นแก้ไขเมื่อ 05:29, 8 พฤศจิกายน 2558 โดย Chaiporn (คุย | มีส่วนร่วม) (ย้อนการแก้ไขรุ่น 56366 โดย Chaiporn (พูดคุย))
หน้านี้รวบรวมลิงก์ของเอกสารและวิดีโอประกอบการเรียนวิชาการ 01204223 ปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ (Practicum for Computer Engineering) ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์ ปีการศึกษา 2557
เนื้อหา
- 1 ประกาศ
- 2 แผนการสอน
- 3 เนื้อหา
- 3.1 สัปดาห์ที่ 1 ระบบยูนิกซ์
- 3.2 สัปดาห์ที่ 2 รีไดเร็กชันและไปป์
- 3.3 สัปดาห์ที่ 3 การสร้างวงจรต้นแบบ
- 3.4 สัปดาห์ที่ 4 เครื่องมือวัดและการทดสอบวงจร
- 3.5 สัปดาห์ที่ 5 การบัดกรีวงจรบนแผ่นวงจรพิมพ์
- 3.6 สัปดาห์ที่ 6 การพัฒนาเฟิร์มแวร์
- 3.7 สัปดาห์ที่ 7 การอ่านอินพุทแบบดิจิทัลและแอนะล็อก
- 3.8 สัปดาห์ที่ 8 พอร์ทอนุกรมและมัลติทาสกิ้งบนไมโครคอนโทรลเลอร์
- 3.9 สัปดาห์ที่ 9 ภาษาไพทอนเบื้องต้น
- 3.10 สัปดาห์ที่ 10 การสื่อสารผ่านพอร์ท USB
- 3.11 สัปดาห์ที่ 11 การสร้างเกมด้วย Pygame
- 3.12 สัปดาห์ที่ 12 โครงงานปลายภาค
- 3.13 สัปดาห์สุดท้าย นำเสนอโครงงาน
- 4 รวบรวมลิ้งค์สำหรับเอกสารและสื่อการสอน
- 5 ลิ้งค์อื่น ๆ
ประกาศ
- ยินดีต้อนรับสู่วิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
- เจอกันใน 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 การสื่อสารผ่านพอร์ท USB
- หัวข้อ: การติดต่อกับบอร์ด 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
- หัวข้อ: การสร้างเกมอย่างง่าย
- ศึกษาและปฏิบัติตามขั้นตอนในวิกิ สร้างเกมด้วย Pygame
- งานส่งในคาบ (เป็นกลุ่ม) เกมสควอชที่แก้ไขเสร็จสิ้นตามขั้นตอนทั้งหมดในวิกิเป็นอย่างน้อย
- หัวข้อ: การเตรียมตัวทำโครงงาน
- หารือกันเรื่องโครงงานปลายภาค และอัพเดตข้อมูลผ่านระบบจัดเก็บโปรเจ็คตามลิ้งค์ https://ecourse.cpe.ku.ac.th/tpm/project/practicum-57f (ยกเลิกการอัพเดตข้อมูลผ่านระบบ elab)
- ดูข้อมูลเพิ่มเติมจากสไลด์ การทำโครงงานปลายภาค
สัปดาห์ที่ 12 โครงงานปลายภาค
- หัวข้อ: การทำโครงงาน
- หารือกันเรื่องโครงงานปลายภาค และอัพเดตข้อมูลผ่านระบบจัดเก็บโปรเจ็คตามลิ้งค์ https://ecourse.cpe.ku.ac.th/tpm/project/practicum-57f/status (ยกเลิกการอัพเดตข้อมูลผ่านระบบ elab)
- ตรวจสอบความถูกต้องของข้อมูลโครงงานกลุ่มตนเอง และดูรายละเอียดโครงงานของกลุ่มอื่นได้จาก https://ecourse.cpe.ku.ac.th/tpm/project/practicum-57f
- นำเสนองานสั้น ๆ: เตรียมนำเสนองานตัวเองไม่เกิน 1 นาที เน้นที่ฟีเจอร์ของงานโดยไม่ต้องลงรายละเอียดว่าทำได้อย่างไร
- ดูข้อมูลเพิ่มเติมจากสไลด์ การทำโครงงานปลายภาค
สัปดาห์สุดท้าย นำเสนอโครงงาน
- หัวข้อ: การนำเสนอโครงงาน
- แต่ละกลุ่มนำเสนอผลงานในรูปการสาธิตการทำงานกลุ่มละไม่เกิน 6 นาที เกณฑ์การให้คะแนนประกอบไปด้วย
- เทคนิค/ความซับซ้อน 10 คะแนน
- การนำเสนอ 10 คะแนน
- ภาพรวม 10 คะแนน
- อัพเดทข้อมูลและนำส่งโครงงานที่เว็บ http://ecourse.cpe.ku.ac.th/tpm/project/practicum-57f/status
- อัดคลิปวีดีโอลง Youtube ความยาวไม่เกิน 5 นาที
- อัพเดทโครงงานให้แล้วเสร็จภายในวันที่ 20 ธ.ค. 2557
- ดูข้อมูลเพิ่มเติมจากสไลด์ การทำโครงงานปลายภาค
- ดูข้อมูลโครงงานทั้งหมดได้จาก http://ecourse.cpe.ku.ac.th/tpm/project/practicum-57f
- แต่ละกลุ่มนำเสนอผลงานในรูปการสาธิตการทำงานกลุ่มละไม่เกิน 6 นาที เกณฑ์การให้คะแนนประกอบไปด้วย
รวบรวมลิ้งค์สำหรับเอกสารและสื่อการสอน
วิกิ
- การบัดกรีแผงวงจรไมโครคอนโทรลเลอร์
- การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์
- การติดตั้ง 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)
- การทำโครงงานปลายภาค (เอกสาร 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