วันอังคารที่ 3 พฤศจิกายน พ.ศ. 2558

Digital week 12 (05/11/2015)

LAB 5 : I2C ทำการต่อ eeprom เพื่อให้ memory ค่าที่เราต้องการ และแสดงผลผ่าน led บน NX-100 โดยสามารถเลือกโหมดได้ ว่าต้องการจะให้เก็บค่า หรือ แสดงค่าที่เก็บไว้

***แต่ผมพยายามทำแลปนี้แล้วครับ ทำยังไงมันก็ไม่ออกซักที T^T  เท่าที่สังเกตคือ eeprom ไม่ทำการเก็บค่าที่บันทึกลงไป จึงไม่มีการแสดงค่า ทำได้เพียงบันทึกและแสดงค่าที่เก็บได้ในรอบแรกเท่านั้น



วันอาทิตย์ที่ 1 พฤศจิกายน พ.ศ. 2558

Digital week 11 (29/10/2015)

LAB 4 : Sine wave สร้างคลื่น Sine wave ขึ้นมาจากสมการ Sine แล้วกำหนดแอพลิจูดของกลุ่มผมคือ 1250 จากนั้นใช้ Scope จับคลื่นเพื่อดูรูปของคลื่นและแอมพลิจูด





Digital week 10 (22/10/2015)

1.) สิ่งที่ได้จากการเรียนรู้

serial-communication คืออะไร?
     คือการส่งข้อมูลที่เป็น bitsต่างๆ ซึ่งการส่งข้อมูลนั้น แบบได้ 2 ประเภทใหญ่ คือการส่งข้อมูลแบบ serial และ parellel

  • Serial คือการส่งข้อมูลแบบทีละบิตในหนึ่งช่วงเวลา ผ่านสายเพียงเส้นเดียว
  • Parallel คือการส่งข้อมูลจำนวนหลายๆบิต พร้อมกันในหนึ่งช่วงเวลา ผ่านสายหลายๆเส้น


ในหนึ่งหน่วยเวลา คืออะไร ?
     คือการเทียบระยะเวลาระหว่างตัวส่งข้อมูลและตัวรับข้อมูล มี2แบบ คือ Asynchronous และ Synchronous

  • Asynchronous : คือการส่งข้อมูลโดยไม่เทียบกับหน่วยเวลา แต่จะเทียบกับโปรโตคอลอื่นๆ เพื่อให้ทราบข้อมูลในบรรทัดฐานเดียวกันทั้งตัวส่งและตัวรับ
  • Synchronous : คือการส่งข้อมูลโดยเทียบกับเวลาในหน่วยเดียวกัน
จากการที่การส่งข้อมูลแบบ Asynchronous นั้นจะต้องมี Protocol เดียวกันเพื่อให้การส่งข้อมูลนั้นอยู่ในบรรทัดฐานเดียวกัน สิ่งที่นิยมใช้กันอย่างแพร่หลายมาก คือ Baud Rate คือค่าที่บอกถึงความเร็วในการส่งข้อมูล นิยมใช้กันในหน่วย Bits per second (บิตต่อวินาที) ซึ่งมาตรฐานความเร็วที่ใช้นั้นจะมีให้เลือกใช้ได้หลายแบบเช่น 1200 , 2400 , 4800 , 9600 , 19200 , 38400 , 57600 , และ 115200 bps แต่ที่นิยมใช้กันเป็นมาตรฐานที่สุดคือ 9600 bps เนื่องจากเป็นช่วงเวลาที่เสถียรมากในการรับส่งข้อมูล แต่ทั้งนี้ทั้งนั้นก็อยู่ที่ปัจจัยอีกหลายอย่างเช่นกัน สำหรับการเลือก ช่วงของ Baud Rate ต่างๆ



LAB 3  : เชื่อมต่อ Nucleo ให้สื่อสารกับ Computer โดยใช้ Comport โดยให้ Nucleo ส่งเมนูสำหรับสั่งงานขึ้นที่หน้าจอ Serial Monitor (เป็นรูปแบบการต่อแบบ SPI ทำการเชื่อมต่อ TX , RX เพื่อแลกเปลี่ยนข้อมูลกันระหว่างตัวรับส่ง 2 ตัว)



  • Menu ที่ 1 กดเพื่อเข้าสู่การทำงาน Mode ที่ 1 การสั่งงานไฟวิ้ง LED 8 ดวง
  • Menu ที่ 2 กดเพื่อเข้าสู่การทำงาน Mode ที่ 2 อ่านสถานะ Switch Logic 1 bits

วันอังคารที่ 13 ตุลาคม พ.ศ. 2558

Digital week 9 (13/10/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- Microcontroller คืออะไร??? 

     Microcontroller เปรียบเสมือน ตัวประมวลผลกลางระหว่าง Sensors และ Actuators เพื่อตัดสินใจการทำงานว่าจะให้ไปทำอะไร ทิศทางใด หรืออะไรทำงาน
โครงสร้างโดยทั่วไป ของไมโครคอนโทรลเลอร์นั้น สามารถแบ่งออกมาได้เป็น 5 ส่วนใหญ่ๆ ดังต่อไปนี้
  1. หน่วยประมวลผลกลางหรือซีพียู
  2. หน่วยความจำสามารถแบ่งออกเป็น 2 ส่วน คือ หน่วยความจำที่มีไว้สำหรับเก็บโปรแกรมหลัก (Program Memory) เปรียบเสมือนฮาร์ดดิสก์ของเครื่องคอมพิวเตอร์ตั้งโต๊ะ คือข้อมูลใดๆ ที่ถูกเก็บไว้ในนี้จะไม่สูญหายไปแม้ไม่มีไฟเลี้ยง อีกส่วนหนึ่งคือหน่วยความจำข้อมูล (Data Memory) ใช้เป็นเหมือนกกระดาษทดในการคำนวณของซีพียู และเป็นที่พักข้อมูลชั่วคราวขณะทำงาน สำหรับไมโครคอนโทรลเลอร์สมัยใหม่ หน่วยความจำข้อมูลจะมีทั้งที่เป็นหน่วยความจำแรม ซึ่งข้อมูลจะหายไปเมื่อไม่มีไฟเลี้ยง และเป็นอีอีพรอมซึ่งสามารถเก็บข้อมูลได้แม้ไม่มีไฟเลี้ยงก็ตาม
  3. ส่วนติดต่อกับอุปกรณ์ภายนอก หรือพอร์ตมี 2 ลักษณะคือ พอร์ตอินพุตและพอร์ตส่งสัญญาณหรือพอร์ตเอาต์พุตส่วนนี้จะใช้ในการเชื่อมต่อกับอุปกรณ์ภายนอก ถือว่าเป็นส่วนที่สำคัญมาก ใช้ร่วมกันระหว่างพอร์ตอินพุต เพื่อรับสัญญาณ อาจจะด้วยการกดสวิตช์ เพื่อนำไปประมวลผลและส่งไปพอร์ตเอาต์พุต เพื่อแสดงผลเช่น การติดสว่างของหลอดไฟ
  4. ช่องทางเดินของสัญญาณ หรือบัส (BUS) คือเส้นทางการแลกเปลี่ยนสัญญาณข้อมูลระหว่าง ซีพียู หน่วยความจำและพอร์ต เป็นลักษณะของสายสัญญาณ จำนวนมากอยู่ภายในตัวไมโครคอนโทรลเลอร์ โดยแบ่งเป็นบัสข้อมูล, บัสแอดเดรสและบัสควบคุ
  5. วงจรกำเนิดสัญญาณนาฬิกา นับเป็นส่วนประกอบที่สำคัญมากอีกส่วนหนึ่ง เนื่องจากการทำงานที่เกิดขึ้นในตัวไมโครคอนโทรลเลอร์ จะขึ้นอยู่กับการกำหนดจังหวะ หากสัญญาณนาฬิกามีความถี่สูง จังหวะการทำงานก็จะสามารถทำได้ถี่ขึ้นส่งผลให้ไมโครคอนโทรลเลอร์ตัวนั้น มีความเร็วในการประมวลผลสูงตามไปด้วย

ซึ่งบอร์ดที่เราจะใช้นั่นคือ...



LAB 1  : ปรับค่าแรงดันขาเข้าตั้งแต่ 0-3.3 V และทำการแสดงผลผ่านหลอดไฟLED 8 ดวง (รูปแบบการต่อแบบ A2D)


LAB 2 : ปรับค่าแรงดันขาเข้าตั้งแต่ 0-3.3 V และทำการแสดงผลผ่าน 7-Segment จำนวน 2 ตัว (ใช้คำสั่ง BusOut จะสามารถแปลงจากเลขฐาน2 กลายเป็นเลขฐาน16 และสามารถแสดงบน 7-segment ได้เลย)



LAB 0 : ต่อ Input 3 ตัว และทำการแสดงผลผ่านหลอดไฟ LED 8 ดวง โดยสามารถสลับรูปแบบการทำงานได้ 3 รูปแบบ(ใช้รูปแบบการต่อ GPIO)


Digital week 7 (08/09/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- การออกแบบ Sequential Logic 

  1. คิดว่าการทำงานนั้นต้องการให้ออกมาเป็นแบบไหน
  2. ทำการคิด State diagram โดย ทฤษฎีของ Moore and Mealy Machines
  3. สร้าง State Table จากข้างต้นที่ได้คิดไว้
  4. เลือกใช้ Flip-Flop ว่าจะใช้ประเภทใด
  5. ใช้ ทฤษฏี Boolean หาสมการและลดรูป ในการต่อ Flip-Flop
  6. ใช้ ทฤษฎี Boolean หาสมการและลดรูป ในการเชื่อม Output
  7. เมื่อได้สมการมาแล้ว นำมาสร้างเป็นวงจร Logic Gate สำหรับต่อวงจรจริงๆ
ผมขออนุญาติใส่รูปจาก Mini project ที่กลุ่มผมได้ทำนะครับ






2.) ปัญหาที่ได้ - ไม่มีครับ ส่วนตัวผมชอบอะไรที่ได้ลองทำได้ลงมือทำจริงๆ ชอบมากครับบ จะได้ทราบว่าตนไม่รู้อะไร และถามอาจารย์ได้เลย ขอบคุณครับ



วันจันทร์ที่ 7 กันยายน พ.ศ. 2558

Digital week 6 (08/09/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- หลักการทำงานของ Filp-Flop ต่างๆ

Flip-Flop คืออะไร ? 
   Filp-Flop คือ วงจรทางอิเล็กทรอนิกส์ ซึ่งมี output อยู่ 2 สถานะ คือ  Q  และ \overline{Q} นั้นคือจะมีค่าทางลอจิกตรงกันข้ามเช่นถ้า Q = 1 , \overline{Q} = 0 และยังเป็น gate ที่มีหน่วยความจำหนึ่งบิตใช้เก็บค่า 0 หรือ 1 (ที่เป็นเลขฐาน2) คุณลักษณะอีกอย่างหนึ่งของฟลิปฟล็อปที่แตกต่างกับ gate คือ สามารถรักษาหรือเปลี่ยนแปลงสถานะของเอาต์พุตได้โดยใช้สัญญาณอินพุต

- Clock Pulse คืออะไร?


Clock Pulse 
     เป็นวิธีการที่ทำให้ฟลิปฟล็อปแต่ละตัวสามารถเปลี่ยนสภาวะไปพร้อมๆ กันได้โดยต้องมีการให้สัญญาณการเปลี่ยนสถาวะ ซึ่งสัญญาณนี้เรียกว่า Clock pulse(CK)ส่วนนี้เองที่ทำให้ไม่ต้องใช้
ฟลิปฟล็อปต่อร่วมกันหลายๆอัน หรือหากต้องการแยกการ Clock ของ Flip-Flop ก็สามารถทำได้เช่นกัน


- Ship Register คืออะไร?
Ship Register คือ รูปแบบหนึ่งของวงจร Sequential Logic เพื่อใช้ในการจัดเก็บหรือส่งข้อมูลในรูปแบบเลขฐานสอง โดยการนำ D Type Filp-Flop มาต่อเรียงกัน

2.) ปัญหาที่พบ

-ยังสับสนสำหรับการต่อแบบ Parallel , Serail ว่าควรจะต่อกับ Debounce Switch ขอบขาใด ขาใดของICที่ต้องต่อกับDebounce Switchบ้าง







Digital week 5 (31/08/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- หลักการทำงานของ 7-Segment
   ส่วนตัวผมรู้สึกชอบมากหากมีการเรียนรู้ในห้องเรียน และได้ทดลองต่อวงจรของจริง มันสามารถทำให้ผม ได้ทราบว่าผมไม่ทราบอะไรบ้าง มีข้อสงสัยตรงไหน

เริ่มด้วย หลักการทำงานของ 7-sement

-สังเกตได้ว่า LED ใน 7-sement นั้น จะมีอยู่ทั้งหมด 7 ดวง (หากนับที่จุดด้วยจะมี 8)
-ซึ่งหลักการง่ายๆคือ การถอดรหัสของ input ว่าเข้ามาจำนวนเท่าใด แล้วoutputจะต้อง on LED ตรงที่ใดบ้าง
-และโดยทั่วไปแล้ว เราจะใช้เลขฐาน2 จำนวน 4 bit เพื่อเข้ารหัสผ่าน 7-Sement Decoder ในการ On 7-Sement ว่ารหัสที่ 0000 , 0001 , 0010 ต้อง On LED ที่ตำแหน่งใด

หากต้องการตัวเลข 2 หลัก หรือมากกว่านั้น ???
สามารถทำได้โดยการแปลง เลขฐาน2 เป็น เลขแบบBCD
-เลข BCD มีหลักมาจากว่า คนเรามักจำเลขฐาน2จำนวน 4bit ได้ เราจึงแยกเลขฐาน2 จำนวน 4 bit เป็น 2ชุด ชุดแรก แทนหลักสิบ ชุดหลังแทนหลักหน่วย และทำการต่อผ่าน 7-Sement Decoder แยกหลักสิบและหลักหน่วย

และทางกลุ่มเราก็ได้ลองทำการจำลองต่อดูครับ (แต่ไม่สำเร็จเพราะงงสาย><'')


2.) ปัญหาที่ได้ - ไม่มีครับ มีแต่ความประทับใจ
ผมชอบที่จะได้ลองทำ ลองเล่นลองต่อจริงๆ ถึงมันไม่สำเร็จ แต่เราก็รู้ว่าในครั้งต่อๆไปเราควรทำอย่างไรเพื่อไปสู่ความสำเร็จ ขอบคุณครับ