01204223 การปฏิบัติการทางวิศวกรรมคอมพิวเตอร์ ปีการศึกษา 2555
		
		
		
		
		
		
		ไปยังการนำทาง
		ไปยังการค้นหา
		
		
		
		
		
		
		
		
	
หน้านี้รวบรวมลิงก์ของเอกสารและวิดีโอประกอบการเรียนวิชาการปฏิบัติการทางวิศวกรรมคอมพิวเตอร์
เนื้อหา
ประกาศ
- (30 มิ.ย. 2555) คลิป TDD บน Python ตอนที่ 1, ตอนที่ 2, ตอนที่ 3
 - (23 มิ.ย. 2555) เราได้ขอเซิร์ฟเวอร์ unix มาแล้ว (อยู่ที่ 158.108.32.112) และได้สร้างบัญชีผู้ใช้ให้กับนิสิตทุกท่านแล้วนะครับ เราส่งข้อมูลให้ทางอีเมล์ b54xxxxxxxx@ku.ac.th แล้ว นิสิตสามารถเข้าใช้ได้โดยใช้โปรแกรม ssh client ทั่วไป เช่น Putty (อ่านขั้นตอนการเข้าใช้)
 
แผนการสอน
- ดาวน์โหลดไฟล์แผนการสอน (แก้ไขล่าสุด 2 ก.ค.)
 
เนื้อหา
สัปดาห์ที่ 1
- ฮาร์ดแวร์: เครื่องมือวัดและชุดทดลองวงจรดิจิทัล
- สไลด์: (เอกสาร ppt) (เอกสาร pdf)
 - วิดิทัศน์: การใช้งานชุดทดลองดิจิทัลเบื้องต้น
 - วิดิทัศน์: การเตรียมการใช้งานออสซิลโลสโคป
 - วิดิทัศน์: กลไกทริกเกอร์ของออสซิลโลสโคป
 - วิดิทัศน์: การใช้งานระบบเคอร์เซอร์
 
 - ซอฟต์แวร์: ระบบยูนิกซ์และคำสั่งพื้นฐาน เอกสารแล็บ
- เพิ่มเติม: การใช้ filename expansion (ดูคลิปตอนที่ 2 ประกอบ)
 
 
สัปดาห์ที่ 2
- ฮาร์ดแวร์: การประกอบวงจรพิมพ์
- สไลด์: การสร้างวงจรต้นแบบ (เอกสาร ppt) (เอกสาร pdf)
 - สไลด์: การบัดกรีชิ้นงานอิเล็กทรอนิกส์ (เอกสาร ppt) (เอกสาร pdf)
 - วิดิทัศน์: การบัดกรีวงจร (ไฟล์ .mkv, ซับไทย)
 - วิกิ: การบัดกรีแผงวงจรไมโครคอนโทรลเลอร์
 
 - ซอฟต์แวร์: ยูนิกส์สำหรับ geek เอกสารแล็บ
 
สัปดาห์ที่ 3
- ฮาร์ดแวร์: ไมโครคอนโทรลเลอร์และการพัฒนาเฟิร์มแวร์
- สไลด์: ไมโครคอนโทรลเลอร์เบื้องต้น (เอกสาร ppt) (เอกสาร pdf)
 - วิกิ: การพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์
 - วิกิ: การแก้ไขสิทธิการเข้าถึงพอร์ท USB ของบอร์ด MCU
 - ชุดคำสั่งของสถาปัตยกรรม AVR
 - Datasheet สำหรับไมโครคอนโทรลเลอร์เบอร์ ATMega168
 - ผังวงจรบอร์ดไมโครคอนโทรลเลอร์
 
 - ซอฟต์แวร์: Python: งูเหลือมตะลุยจักรวาล เอกสาร pdf
- เราจะใช้โปรแกรม nano เป็น editor ในการเขียนโปรแกรม ก่อนที่เราจะได้เรียน editor ตัวทีทรงพลังกว่านี้ เช่น VI อย่างไรก็ตาม เพื่อความสะดวกในการเขียนโปรแกรม Python เราได้จัดการปรับแต่ง nano ไว้บ้างแล้ว ดังนั้นถ้าไปใช้ที่เครื่องอื่น เมื่อเรียก nano แล้ว นิสิตควรกดปุ่ม Alt-I (ให้ auto indent) และ Alt-Q (ให้จัดเก็บ tab เป็น space) ก่อนทำงานด้วย นอกจากนี้ nano ยังสามารถทำ syntax highlight ได้ ถ้าเราเรียก nano ตามด้วยชื่อไฟล์นามสกุล .py แล้ว nano จะแสดง syntax highlight ให้โดยอัตโนมัติ (ควรทำเป็นอย่างยิ่ง)
 - โหลดไฟล์สำหรับทำแลบที่นี่
 - สไลด์เนื้อหาไพธอน
 
 
สัปดาห์ที่ 4
- ฮาร์ดแวร์: การประกอบวงจรต้นแบบบนบอร์ดไข่ปลา และการเขียนโปรแกรมจัดการอินพุทและเอาท์พุท
- สไลด์: แผงวงจรพ่วง (เอกสาร ppt) (เอกสาร pdf)
 - วิกิ: แผงวงจรพ่วง (Peripheral Board)
 
 - ซอฟต์แวร์: พัฒนาโปรแกรมด้วย TDD บน Python
- ดูคลิปด้านล่าง
 - ทำแลบ Python Kang Fu ใน Elab2
 - ในแลบนี้เราจะประมวลผลข้อมูลในลิสต์มากมาย ด้านล่างเป็นรายการเอกสารเพิ่มเติมเกี่ยวกับการใช้งานลิสต์:
- การใช้งานลิสต์ที่ละเอียดขึ้นจาก Python Tutorial ในเอกสารนี้ให้สังเกตความหมายของการอ้างถึงข้อมูลในลิสต์ โดยใช้ดัชนีที่เป็นบวก (นับจากหน้า) และดัชนีที่เป็นลบ (นับลำดับจากท้าย) เช่นการอ้าง a[3] หรือ a[-1] และการอ้างส่วนของลิสต์ เช่น a[1:10], a[2:] หรือ a[1:-1] เป็นต้น
 - เอกสารอ้างอิง Sequence Types และ Mutable Sequence Types (ลิสต์เป็นรายการที่เปลี่ยนได้ จึงเรียกว่าเป็น mutable sequence types)
 
 - เอกสาร doctest
 - ด้านล่างเป็นโค้ดที่ต้องเพิ่มไปตอนท้ายโปรแกรม เพื่อให้ python รัน doctest ในโมดูลของเรา
 
 
if __name__ == "__main__":
    import doctest
    doctest.testmod()
สัปดาห์ที่ 5
- ฮาร์ดแวร์: การควบคุมเอาท์พุท และการตรวจสอบอินพุทแบบดิจิทัลและแอนะล็อก
- สไลด์: ภาษาซีเบื้องต้นสำหรับไมโครคอนโทรลเลอร์ (เอกสาร ppt) (เอกสาร pdf)
 - สไลด์: แผงวงจรพ่วง (เอกสาร ppt) (เอกสาร pdf)
 - วิกิ: แผงวงจรพ่วง (Peripheral Board)
 - วิกิ: การวัดสัญญาณแอนะล็อกด้วยไมโครคอนโทรลเลอร์
 
 
สัปดาห์ที่ 6
- ซอฟต์แวร์: การจัดการกับความซับซ้อนของซอฟต์แวร์ใน Python --- โมดูล (modules) และคลาส (classes)
- คลิป OOP บน Python: ตอนที่ 1, ตอนที่ 2, ตอนที่ 3, ตอนที่ 4
 - เอกสารประกอบ: โมดูลใน Python,การโปรแกรมเชิงวัตถุแบบเต่า ๆ, การโปรแกรมเชิงวัตถุใน Python,
 
 
ตัวอย่างการเรียกใช้ __init__ จากคลาสที่เรา inherite มา
class Robot(GamePiece):
    def __init__(self,r,c,target):
        GamePiece.__init__(self,r,c)
        # ..... your other initialization code here
สัปดาห์ที่ 7
- ฮาร์ดแวร์: การจำลองบอร์ด MCU เป็นอุปกรณ์ USB
- สไลด์: การเชื่อมต่อกับบอร์ด MCU ผ่านพอร์ต USB (เอกสาร ppt) (เอกสาร pdf)
 - วิกิ: การจำลองบอร์ด MCU เป็นอุปกรณ์ USB
 
 
สัปดาห์ที่ 12
- เครื่องมือจัดการเวอร์ชัน
- สไลด์: การจัดการเวอร์ชันด้วย Mercurial (เอกสาร ppt) (เอกสาร pdf)
 - ลิ้งค์: TortoiseHG
 
 
การติดตั้ง TortoiseHG บนลินุกซ์ Mint/Ubuntu/Debian ใช้คำสั่ง
sudo apt-get install tortoisehg
รายการวิดีโอ
ฮาร์ดแวร์
- แนะนำการใช้งานชุดทดลองดิจิทัลและออสซิลโลสโคป
 
Unix
- แนะนำ path ใน unix
- ตอนที่ 1 เกริ่นนำเกี่ยวกับ shell และแนะนำแนวคิดของโครงสร้างไดเร็กทอรี
 - ตอนที่ 2 อธิบายแนวคิดของ working directory และการอ้างถึงไฟล์โดยอิงกับ working directory, ทดลองใช้คำสั่ง ls, cd, pwd และ cp
 - ตอนที่ 3 อธิบายวิธีการอ้างถึงไฟล์ในรูปแบบอื่น ๆ เช่นการอ้างแบบ absolute (/) อ้างผ่าน home (~) และการอ้างถึงตำแหน่งนั้นเอง (.) กับการอ้างถึงไดเร็กทอรีก่อนหน้า (..)
 
 
- แนะนำ unix ตอน 2: glob และการกระจายคำสั่ง
 
- แนะนำ unix ตอน 3: การใช้ redirection และ pipe
- คลิปที่ youtube (มีตอนเดียว) แนะนำการใช้งาน rediretion และ pipe พร้อมยกตัวอย่างด้วยคำสั่ง grep และ wc และแนะนำคำสั่ง tee
 
 
Python
- การเขียน Python เบื้องต้น
- ยังไม่มี
 
 - การพัฒนาแบบใช้การทดสอบผลักดัน (Test-driven development)
- TDD บน Python ตอนที่ 1, ตอนที่ 2, ตอนที่ 3
 - คลิปโดย Masterspark: ตัวอย่างการเขียนฟังก์ชัน 1, ตัวอย่างการเขียนฟังก์ชัน 2, คลิปอื่น ๆ ของ Masterspark
 
 
เอดิเตอร์ Vi และ ViM
ลิงก์ที่สำคัญ
- Group CPE,KU Practicum 2555 ใน facebook
 - E-Lab2 สำหรับส่งแล็บ
 - รวมโครงงานจากปีก่อน ๆ
 - หน้าเว็บหลักของภาคการศึกษาก่อน
 - คู่มือดูขาไอซีลอจิกเกท
 - ไฟล์วงจรและแผ่นวงจรพิมพ์ของบอร์ด Practicum เปิดด้วยโปรแกรม CadSoft EAGLE