01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
รุ่นแก้ไขเมื่อ 17:11, 10 ตุลาคม 2558 โดย Chaiporn (คุย | มีส่วนร่วม) (→สัปดาห์ที่ 8 การสื่อสารผ่านพอร์ท USB และการสร้างเกมด้วย VPython)
หน้านี้รวบรวมลิงก์ของเอกสารและวิดีโอประกอบการเรียนวิชาการ 01204223 ปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ (Practicum for Computer Engineering) ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์ ภาคต้น ปีการศึกษา 2558
เนื้อหา
- 1 ประกาศ
- 2 เนื้อหาและปฏิบัติการ
- 2.1 สัปดาห์ที่ 1 ระบบยูนิกซ์ เทอร์มินัล และเชลล์
- 2.2 สัปดาห์ที่ 2 รีไดเรคชันและไปป์
- 2.3 สัปดาห์ที่ 3 การบัดกรีวงจร
- 2.4 สัปดาห์ที่ 4 การพัฒนาเฟิร์มแวร์และการออกแบบวงจร
- 2.5 สัปดาห์ที่ 5 แผงวงจรพ่วงและเอาท์พุทแบบดิจิทัล
- 2.6 สัปดาห์ที่ 6 พอร์ทอนุกรมและการรับอินพุท
- 2.7 สัปดาห์ที่ 7 ภาษาไพทอนเบื้องต้น
- 2.8 สัปดาห์ที่ 8 การสื่อสารผ่านพอร์ท USB และการสร้างเกมด้วย VPython
- 3 รวบรวมลิ้งค์สำหรับเอกสารและสื่อการสอน
- 4 ลิ้งค์อื่น ๆ
ประกาศ
- ยินดีต้อนรับสู่วิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
- เจอกันใน Facebook
- และระบบ E-labsheet
- ดาวน์โหลดแผนการสอนที่นี่
เนื้อหาและปฏิบัติการ
สัปดาห์ที่ 1 ระบบยูนิกซ์ เทอร์มินัล และเชลล์
- ห้องเรียน: 603
- หัวข้อ: ระบบยูนิกซ์เบื้องต้น
- ฟังบรรยาย: ยูนิกซ์ เทอร์มินัล และเชลล์ (สไลด์ประกอบ)
- ศึกษาวีดีทัศน์: พาธในยูนิกซ์
- ตอนที่ 1 เกริ่นนำเกี่ยวกับเชลล์และแนะนำแนวคิดของโครงสร้างไดเร็กทอรี
- ตอนที่ 2 อธิบายแนวคิดของ working directory และการอ้างถึงไฟล์โดยอิงกับ working directory, ทดลองใช้คำสั่ง ls, cd, pwd และ cp
- ตอนที่ 3 อธิบายวิธีการอ้างถึงไฟล์ในรูปแบบอื่น ๆ เช่นการอ้างแบบ absolute (/) อ้างผ่าน home (~) และการอ้างถึงตำแหน่งนั้นเอง (.) กับการอ้างถึงไดเร็กทอรีก่อนหน้า (..)
- ศึกษาวิกิ: การใช้ filename expansion
- ศึกษาวีดีทัศน์: glob และการกระจายคำสั่ง
- ดาวน์โหลดและปฏิบัติตามขั้นตอนในชีตแล็บ: ระบบยูนิกซ์และคำสั่งพื้นฐาน โดยส่งงานผ่านระบบ E-Labsheet
สัปดาห์ที่ 2 รีไดเรคชันและไปป์
- ห้องเรียน: 603
- หัวข้อ: การผันทิศทางอินพุท/เอาท์พุท และการเชื่อมต่อคำสั่งโดยใช้ไปป์
- ศึกษาวีดีทัศน์: แนะนำการใช้งานรีไดเรคชันและไปป์ พร้อมยกตัวอย่างด้วยคำสั่ง grep และ wc และแนะนำคำสั่ง tee
- ฟังบรรยาย (สไลด์ประกอบ)
- ดาวน์โหลดชีตแล็บ: ยูนิกส์สำหรับ geek
- ส่งแบบฝึกหัดผ่านระบบ E-Labsheet:
- แบบฝึกหัด 2.1 ยูนิกซ์สำหรับ Geek (ตามโจทย์ในชีตแล็บ)
- แบบฝึกหัด 2.2 วิเคราะห์ log file
สัปดาห์ที่ 3 การบัดกรีวงจร
- ห้องเรียน: 606
- หัวข้อ: การสร้างวงจรต้นแบบ
- ฟังบรรยาย: การสร้างวงจรต้นแบบ (เอกสาร ppt) (เอกสาร pdf)
- หัวข้อ: การบัดกรีบอร์ดไมโครคอนโทรลเลอร์
- ศึกษาวีดีทัศน์ การบัดกรีวงจร (ซับไทย)
- ฟังบรรยาย: การบัดกรีชิ้นงานอิเล็กทรอนิกส์ (เอกสาร ppt) (เอกสาร pdf)
- ประกอบวงจรบอร์ดไมโครคอนโทรลเลอร์ ตามขั้นตอนในวิกิ การบัดกรีแผงวงจรไมโครคอนโทรลเลอร์
- ตรวจสอบความถูกต้องของชิ้นงานตามขั้นตอนในวีดีทัศน์ การประกอบบอร์ดไมโครคอนโทรลเลอร์และการตรวจสอบความถูกต้อง
- ส่งงานโดยการสาธิตความถูกต้อง
สัปดาห์ที่ 4 การพัฒนาเฟิร์มแวร์และการออกแบบวงจร
- ห้องเรียน: 603
- หัวข้อ: การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์
- ผู้ทีใช้เครื่องคอมพิวเตอร์ส่วนตัว ให้ติดตั้งซอฟต์แวร์ที่จำเป็นมาก่อนล่วงหน้า โดยดูขั้นตอนจากหัวข้อแรกของวิกิ การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์
- ชมวีดีทัศน์
- ศึกษาวิกิ การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์
- ฟังบรรยายและทดลองปฏิบัติตาม
- ไมโครคอนโทรลเลอร์เบื้องต้น (เอกสาร pptx) (เอกสาร pdf)
- ผังวงจรบอร์ดไมโครคอนโทรลเลอร์
- ส่งงาน "LED กระพริบ" ตามตัวอย่าง
- หัวข้อ: การออกแบบแผงวงจรพ่วง
- ผู้ทีใช้เครื่องคอมพิวเตอร์ส่วนตัว ให้ติดตั้งซอฟต์แวร์ CadSoft EAGLE มาก่อนล่วงหน้า โดยดาวน์โหลดจากเว็บ CadSoftUSA
- ศึกษาวิกิ การออกแบบและสร้างแผ่นวงจรพิมพ์
- ฟังบรรยายเรื่อง แผงวงจรพ่วง (เอกสาร pptx) (เอกสาร pdf)
- ออกแบบแผงวงจรพ่วงโดยปฏิบัติตามขั้นตอนในวีดีทัศน์
- ตอนที่ 1 การเตรียมตัว
- ตอนที่ 2 การวาดแผนผังวงจร (schematic)
- ตอนที่ 3 การออกแบบแผ่นวงจรพิมพ์ (PCB)
- ส่งงานโดยการสร้างไฟล์ zip ชื่อ
peripheral.zip
เพื่อบรรจุไฟล์peripheral.sch
และperipheral.brd
เอาไว้ แล้วอัพโหลดไฟล์ผ่านระบบ MaxLearn
สัปดาห์ที่ 5 แผงวงจรพ่วงและเอาท์พุทแบบดิจิทัล
- หัวข้อ: การบัดกรีแผงวงจรพ่วงและทำสายแพ
- ห้องเรียน: 606
- ศึกษาวิธีการใช้งานออสซิลโลสโคปและการทำสายแพจากวีดีทัศน์
- การใช้งานออสซิลโลสโคป (มี 3 ตอน)
- การเตรียมสายแพ
- บัดกรีแผงวงจรพ่วงและทำสายแพคนละหนึ่งเส้น
- ตรวจสอบความถูกต้องของแผงวงจรพ่วง ตามวีดีทัศน์ การตรวจเช็คแผงวงจรพ่วง (มี 4 ตอน)
- ส่งงานโดยการสาธิตความถูกต้องผ่านชุดทดลองดิจิทัลและออสซิลโลสโคป
- หัวข้อ: การควบคุมเอาท์พุทแบบดิจิทัล
- ห้องเรียน: 603
- เตรียมสภาพแวดล้อมในการพัฒนาเฟิร์มแวร์ด้วย Arduino IDE โดยทำตามขั้นตอนในวิกิ การพัฒนาเฟิร์มแวร์ด้วย Arduino IDE
- ฟังบรรยายเรื่องแผงวงจรพ่วงและการแสดงเอาท์พุทแบบดิจิทัลด้วย LED
- สไลด์บรรยาย: แผงวงจรพ่วง (เอกสาร ppt) (เอกสาร pdf)
- ส่งงาน "ไฟวิ่งสามสี" ตามตัวอย่าง
สัปดาห์ที่ 6 พอร์ทอนุกรมและการรับอินพุท
- ห้องเรียน 603
- หัวข้อ: การใช้งานพอร์ทอนุกรมและ Serial Monitor
- ศึกษาวิกิ การสื่อสารผ่านพอร์ทอนุกรม
- ทดลองทำตัวอย่าง Hello, Serial
- หัวข้อ: สวิตช์และการรับอินพุทแบบดิจิทัล
- ฟังบรรยายเรื่องสวิตช์และการรับอินพุทแบบดิจิทัล
- สไลด์บรรยาย: แผงวงจรพ่วง (เอกสาร pptx) (เอกสาร pdf)
- ส่งงาน "กดกี่ครั้ง"
- ส่งงาน "กดกี่ครั้งx10"
- ฟังบรรยายเรื่องสวิตช์และการรับอินพุทแบบดิจิทัล
- หัวข้อ: ตัววัดแสง การรับอินพุทแบบแอนะล็อก และภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์
- ฟังบรรยายเรื่องตัววัดแสงและการรับอินพุทแบบแอนะล็อก
- สไลด์บรรยาย: แผงวงจรพ่วง (เอกสาร pptx) (เอกสาร pdf)
- วิกิ: การวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์
- ส่งงาน "แสงสามระดับ"
- ฟังบรรยายเรื่องภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ ในหัวข้อการดำเนินการระดับบิต
- สไลด์บรรยาย: ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ (เอกสาร pptx) (เอกสาร pdf)
- ส่งงาน "แสงแปดระดับ"
- ฟังบรรยายเรื่องตัววัดแสงและการรับอินพุทแบบแอนะล็อก
สัปดาห์ที่ 7 ภาษาไพทอนเบื้องต้น
- หัวข้อ: ไพทอนแบบเร่งรัด
- ผู้ทีใช้เครื่องคอมพิวเตอร์ส่วนตัว ให้ติดตั้งซอฟต์แวร์ Anaconda Scientific Python Distribution มาก่อนล่วงหน้า โดยดูขั้นตอนจากวิกิ Python Programming/Setting Up Python
- ศึกษาวิกิ Python Programming
- ส่งงาน ทำโจทย์ใน elab
สัปดาห์ที่ 8 การสื่อสารผ่านพอร์ท USB และการสร้างเกมด้วย VPython
- ผู้ทีใช้เครื่องคอมพิวเตอร์ส่วนตัว ขอให้ติดตั้งซอฟต์แวร์เหล่านี้มาก่อนล่วงหน้า
- Anaconda Scientific Python Distribution - ดูขั้นตอนจากวิกิ Python Programming/Setting Up Python
- ไลบรารี PyUSB - ดูขั้นตอนจากวิกิ การติดตั้งไลบรารี PyUSB
- ไลบรารี Visual (VPython) - ดูขั้นตอนจากวิกิ การติดตั้งไลบรารี Visual
- หัวข้อ: การติดต่อกับบอร์ดไมโครคอนโทรลเลอร์ผ่านพอร์ท USB
- ศึกษาวิกิ การติดต่อกับบอร์ดไมโครคอนโทรลเลอร์ผ่านพอร์ท USB ด้วย Arduino
- ฟังบรรยาย
- สไลด์บรรยาย: การสื่อสารกับบอร์ด MCU ผ่านพอร์ต USB (เอกสาร pptx) (เอกสาร pdf)
- สไลด์บรรยาย: ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ (เอกสาร pptx) (เอกสาร pdf)
- งานส่งในคาบ แก้ไขเฟิร์มแวร์ usb-generic และโมดูลไพทอน peri.py ให้สมบูรณ์ เพื่อให้รันโปรแกรมทดสอบ test-usb.py ได้อย่างถูกต้อง
- หัวข้อ: การสร้างเกมด้วย VPython
- ศึกษาวิกิ จำลองการเคลื่อนที่ด้วยคณิตศาสตร์แบบเวกเตอร์ใน VPython
- ดาวน์โหลดสคริปต์ตัวอย่างและศึกษาการทำงาน
- แก้ไขสคริปต์เพื่อสร้างเป็นเกม เดาะตระกร้อ ที่ควบคุมด้วยบอร์ดไมโครคอนโทรลเลอร์
รวบรวมลิ้งค์สำหรับเอกสารและสื่อการสอน
วิกิ
สไลด์บรรยาย
วีดีทัศน์
- พาธในยูนิกซ์ ตอนที่ 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
- แนะนำการใช้งานรีไดเรคชันและไปป์ พร้อมยกตัวอย่างด้วยคำสั่ง grep และ wc และแนะนำคำสั่ง tee
ชีตแล็บ
เอกสารและไฟล์อื่น ๆ
- Datasheet สำหรับไมโครคอนโทรลเลอร์เบอร์ ATMega168
- บอร์ด Practicum v3
- ดาวน์โหลด Arduino IDE
- เอกสารอธิบายการใช้งานไลบรารีของ Arduino