วันพฤหัสบดีที่ 27 สิงหาคม พ.ศ. 2558

week 4 (24/08/2015)

ความประทับใจ <3

       - ได้เรียนตรรกศาสตร์ ทำให้รู้สึกเหมือนกลับกลายเป็นเด็กอีกครั้ง
       - วิธีการเขียนลำดับ gray code นึกถึงวิธีการทำแพนเค้ก ส่วน K-Map ก็เหมือนโดนัท -w-
       
สิ่งที่ได้เรียนรู้ และปฏิบัติ <3
      
       - ได้เรียนรู้เรื่องวิธีการลดรูปประพจน์ผ่านการใช้ Karnaugh-Map (K-Map) วิธีที่ง่ายกว่าเดิมมาก
       - K-Map ลึก ๆ แล้วก็คือการวิเคราะห์ทางตรรกะศาสตร์แบบทั่วไป เพียงแต่ K-Map นี้จะเป็นตัวช่วยให้สามารถมองรูปประพจน์ออกมาได้ง่ายยิ่งขึ้น
       - วิธีการเขียน K-Map ทำได้โดยการเขียน metric ขนาด n + 2*(n%2)) x n เมื่อ n แทนจำนวน input (สามารถปรับเปลี่ยนขนาดได้ตามความถนัด แต่วิธีแบ่งแบบนี้มาตรฐานสุด) แล้วเขียน logic ทั้งหมดที่เป็นไปได้ของ input ตามลำดับแบบ Gray-code บนช่องต่าง ๆ จากนั้น ทำการเขียน logic 0,1 ตามพิกัดบนช่องต่าง ๆ ตามสมการของตัวเอง แล้ววงกลมล้อมรอบ logic 1 ที่ติดกัน และมีลักษณะเป็นสี่เหลี่ยมขนาด 2^k เมื่อ k เป็นจำนวนเต็มที่มีค่ามากกว่าหรือเท่ากับศูนย์ โดยยิ่งวงให้เป็นวงใหญ่ได้เท่าไหร่ การคำนวนลอจิกที่ได้ก็จะลดลงได้มากขึ้นเท่านั้น โดย K-map มีลักษณะตารางเหมือนเป็นวงโดนัท กล่าวคือ ตัวหลังสุดจะวนมาต่อกับตัวหน้าสุด ส่วนตัวล่างสุดจะวนมาต่อกับตัวบนสุด โดยการวงแต่ละครั้งต้องคำนึงถึงจุดนี้ด้วย
       - การวิเคราะห์ K-Map ทำโดยการดูธรรมชาติของ วงแต่ละวง หากมีหลายวงสามารถนำมาบวกกันได้เลย 
       - Gray-code คือการเขียนลำดับ logic เพื่อให้ง่ายต่อการส่งสัญญาณ เนื่องจากการเปลี่ยนแปลงเลขแต่ละตัวจะรับประกันได้ว่ามีลอจิกเปลี่ยนแค่อันเดียว ทำให้เกิดความผิดพลาดในการส่งสัญญาณได้น้อยกว่า และเหมาะกับการนำมาเขียนการแก้ปัญหาทาง logic แต่ไม่เหมาะกับการนำมาคำนวนผ่านวิธีการปกติซักเท่าไหร่

ปัญหาที่ได้พบ <3

       - หิว
       - ขี้เกียจเขียนแหล่งอ้างอิงตามหลักวิชาการ ไหน ๆ ก็สไลด์คณะ เพื่อการเรียนการสอนในคณะขออ้างอิงแบบเวปบล็อกทั่วไปละกันนะ -3-




***********************************




ตัวอย่างการวง และวิเคราะห์ Karnaugh-Map




ลักษณะการวนกลับเหมือนโดนัท

************************************


วันพุธที่ 19 สิงหาคม พ.ศ. 2558

week 3 (17/08/2015)

ความประทับใจ <3

       - ได้ทดลองการเปลี่ยน ic nand gate กับ nor gate ให้เป็น and gate กับ or gate แล้วนำไปทำเป็น xor gate เนื่องจากว่าลืม ic ไว้กับบอร์ด แลปรอบนี้เลยไม่มีใช้ -3-
       - ได้ใช้สกิลคณิตศาสตร์ที่ใฝ่หามานานจากค่ายต่าง ๆ และวิชาคณิตศาสตร์ที่ไม่เกี่ยวกับมนุษย์ปกติที่ต้องใช้จ่ายตลาดในชีวิตประจำวัน
       
สิ่งที่ได้เรียนรู้ และปฏิบัติ <3
      
       - ได้เรียนรู้เรื่อง Boolean Algebra แบบจริง ๆ จัง ๆ จากแต่ก่อนที่มีอะไรก็คิดเอาเองตาม truth table เช่น A or T = T, A or F = A และการตัดพจน์ที่เป็นสัจนิรันดร์ทิ้งไปเลยโดยที่ไม่เคยเขียนมาในรูปของการพิสูจน์โดยสมการ
       - ได้รู้ว่า ตรรกะศาสตร์สามารถเชื่อมกับคณิตศาสตร์แบบตัวเลขทั่วไปได้แบบไม่คาดคิดมาก่อน เช่น เอกลักษณ์การคูณ Ax0 = 0 เราสามารถจับมาดำเนินการตามแบบฉบับของตัวเลข และตัวแปรได้เลย โดยที่ไม่จำเป็นต้องคิดแบบตรรกะศาสตร์ ว่า A and F ได้ F
       - ได้เขียนการต่อ logic ในรูปแบบที่เคยเรียนมาจากค่าย plc (อย่างน้อยก็ทำให้อัคติกับการเรียน plc น้อยลงละมั้งนะ -.,-)
       - ได้เรียนเรื่อง Sum of Product และ Product of Sum โดยที่ทั้งสองเรื่องนี้เป็นเรื่องที่ช่วยในการแก้โจทย์ของตรรกะศาสตร์ที่ใช้วิธีมโนเอาเองไม่ได้ โดยเมื่อผ่านกระบวนการนี้แล้วจะได้สมการที่นำไปสู่ผลลัพท์ตาม truth table ที่กำหนดไว้ได้
       - Sum of Product และ Product of Sum เป็นการกลับคำกันอย่างคาดไม่ถึง ส่วนวิธีการของทั้งสองกระบวณการก็กลับกันตามชื่อด้วย
       - SOP คือการทำ Boolean Expression ให้อยู่ในรูปของผลบวกของการคูณ โดยจะเขียน Boolean Expression ของ input ใด ๆ ที่ให้ output เป็น T (A*B*C)+(C*D*E)
       - POS คือการทำ Boolean Expression ให้อยู่ในรูปของผลคูณของการบวก โดยจะเขียน Boolean Expression ของ input ใด ๆ ที่ให้ output เป็น F (A+B+C)*(C+D+E)
       - Product >> AND Gate, Sum >> OR Gate เนื่องจากทั้งสองมีพฤติกรรมของ logic ออกมาเหมือนกัน
       - พิสูจน์การคำนวณ xor เอง เนื่องจากตอนนั้นไม่ทันฟังที่อาจารย์พูด QwQ

ปัญหาที่ได้พบ <3

       - ตรรกะศาสตร์ที่ดีเป็นพื้นฐานของมนุษย์จนไม่รู้ว่าควรจะเขียนอะไรลงไปในบล็อก -.,-
       - ลืม ic ไว้บนบอร์ดในคาบที่แล้ว ทำให้ไม่สามารถทดลองได้ตามเป้าหมาย เลยต้องเอาไปทำรวมกับกลุ่มเพื่อน (ตอนแรกกะจะจั๊มป์เกทมาจากบอร์ดของเพื่อน แต่มันคงวุ่นวายไปหน่อย แถมเสี่ยงต่อการสายมีปัญหา -3-)
      - หลังจากพยายามเขียนให้ได้จนมีเนื้อหาบนบล็อกเกิดขึ้นมาก็พบว่า ประโยคข้อแรกของปัญหาที่ได้พบไม่เป็นความจริง





**********************************************

ความยุ่งเหยิงของการนำ Universal Gate มาต่อเป็น gate ที่ต้องการจะใช้ -.,-


บทสรุปของการทำงานที่ต้องไปทำกับกลุ่มเพื่อน -3-







วันพฤหัสบดีที่ 13 สิงหาคม พ.ศ. 2558

week 2 (10/08/2015)

ความประทับใจ <3

       - ได้เล่นกับเลขฐาน 2 (เลขบิตเดียว) รู้สึกเหมือนได้กลับมาเป็นเด็ก(?) อีกครั้ง >__<
       - สายไฟสีสวย *-*
       
สิ่งที่ได้เรียนรู้ และปฏิบัติ <3
      
       - เขียนชื่อ และประเภทของ ic ไว้บนกระดาษแล้วใส่ไว้ในกล่อง ทำให้สุขภาพจิตในการนั่งหา ic ดีขึ้นเยอะ
       - การต่อวงจรของการบวกเลข ใช้ and, xor ในการต่อแบบง่าย ๆ หรือ half adder, แต่ถ้าจะต่อแบบสมบูรณ์ขึ้นให้เพิ่ม or ขึ้นมาอีกตัวเพื่อใช้จัดการเรื่องตัวทดกลายเป็น full adder
       - วงจรการลบ ทำตามวิธีที่ง่ายที่สุดโดยการเปลี่ยนให้อยู่ในรูปของการบวก A-B >> A+(-B)
       - การเก็บข้อมูลของค่าลบ ทำได้ด้วยการทำ compliment โดยการสลับบิต(1st) แล้วบวก 1 เข้าไป(2nd) ซึ่งอธิบายในอีกแง่ได้ก็คือ การทำ 1st และ 2nd compliment ทำให้เราได้ค่าตัวเลขที่นำมาบวกกับค่าตั้งต้นได้เท่ากับศูนย์ เสมือนตัวเลขใด ๆ บวกกับค่าติดลบของตัวมันเอง (จะมีบิตเกินมาหน้าสุด 1 ตัว จึงตัดบิตที่เกินมาทิ้ง หากไม่ตัดจะมีค่าเท่ากับจำนวนฐาน) 
         --[[ e.g. 0101 >(1st)> 1010 >(2nd)> 1011 and 0101 + 1011 = 1|0000 = 0000 ]]--
       - การต่อวงจรบวก-ลบ (A+B) ทำได้ด้วยการต่อ op เข้าไป โดยการใช้หลักของการทำ 2nd compliment โดย logic ของ op จะเป็นตัวบ่งบอกว่าจะให้ค่า B เป็นบวกหรือลบ โดยถ้า 1 เป็นลบ 0 เป็นบวก แล้วนำค่าจาก op ไปบวกเข้ากับสมการ แล้วนำค่า op ไป xor กับค่า B ทำให้เมื่อเราใส่ logic ให้ op เป็น 0 (ค่าบวก) จะไม่เกิดอะไรขึ้น แต่ถ้า op เป็น 1 จะเป็นการทำให้ B กลายเป็นค่าที่ผ่านการทำ 2nd compliment มาแล้ว
       - การเชคค่าที่ overflow คือ แก้ไขโดยการทำค่า Cin มาเชคกับค่า Cout ของหลักหน้าสุดที่เป็นตัวบอกสถานะบวก-ลบ (MSB) ที่ทำการบวกกัน โดยจะเกิดการ overflow ขึ้นเมื่อสองค่านี้มีค่าต่างกัน หรือก็คือ การนำค่า Cin กับ Cout มา xor กัน

ปัญหาที่ได้พบ <3

       - ตอนแรกกำลังสับสนกับค่าทด (Cin) คืออะไรถ้าบวกเลขฐานเดียว จนสุดท้ายพอเอาไปลองถึงระลึกได้ว่า ถ้าไม่มีก็ไม่ต้องต่อให้มันมี ใส่ค่า logic 0 ไปเลย =__= 
       - ic ที่ต้องใช้มีแค่ตัวเดียว เลยต่อหลาย ๆ หลักไม่ค่อยสะใจเท่าไหร่ -3-
       - เพราะมัวแต่แคร์กับเรื่องไม่เป็นเรื่อง(สีสายไฟไม่สวย) ทำให้ต่อเล่นได้ไม่ค่อยมากเท่าที่ควร





**********************************************





การจัดเรียง ic อย่างยิ่งใหญ่ 

ความวุ่นวายของสายจากการที่มี ic ตัวเดียว (เพิ่งบวกได้หลักเดียวเอง Q__Q)

วันอังคารที่ 4 สิงหาคม พ.ศ. 2558

week 1 (03/08/2015)

ความประทับใจ <3

       - อาจารย์บอกว่าถึงไฟฟ้าตัวก่อนหน้าจะทำคะแนนได้ไม่ดี ก็ไม่ได้หมายความว่าตัวนี้จะแย่
       - มีเวลาที่ได้เล่นอุปกรณ์นาน สามารถจิ้มเล่นได้ตามใจชอบ -w-
       - บอร์ดน่ารัก 
       - เหมือนได้ย้อนยุคกลับไปสมัยบัตรเจาะรูของคอมพิวเตอร์ *-*
       
สิ่งที่ได้เรียนรู้ และปฏิบัติ <3
      
       - การปัก และแกะ IC ไม่ใช่เรื่องง่าย -.,-
       - เพิ่งรู้ว่า IC มีประเภทแยกย่อยตาม mosfet กับ transistor ด้วย และไม่ควร(บางครั้งไม่ได้)นำไปต่อรวมกัน เพราะะทำให้ logic ที่ได้ผิดพลาด
       - ได้ต่อ logic gate แบบจริง ๆ จัง ๆ หลังจากเคยได้เล่นเป็นของสำเร็จรูป
       - สัญญาณความถี่ที่ออกจาก logic gate เอาไปทำให้ลำโพงร้องได้
       - ควรกักตุน nand gate และ nor gate ไว้ให้ดี เพราะมันสามารถแปลงเป็น gate อื่นได้
       - ได้รู้ความหมายบนตัวอักษรที่อยู่ระหว่างตัวเลขของ logic gate ถึงจะยังไม่ค่อยเข้าใจว่าทำไมต้องเอามาคั่นก็เถอะ
       - เอาสัญญาณจากช่องความถี่ กับสวิตซ์ไปเป็นอินพุทของ or gate กับ nor gate แล้วให้มันกระพริบแข่งกัน (ถึงแม้ตามจริงจะใช้แค่ not gate ก็พอก็เถอะ แต่แบบนี้ดูขลังกว่า .__.)
       - ความถี่ที่สูงมาก ทำให้ลำโพงเสียงแหลมขึ้น แต่ถ้าต่ำเกินไปจะไม่ค่อยได้ยินเสียง หรือเสียงไม่น่ารัก -3-
       - ในขณะเดียวกัน การที่ความถี่ต่ำ ๆ กลับทำให้หลอดไฟกระพริบออกมามากกว่า
       - วิชาดิจิตอลนี้เหมือนได้ปลดปล่อยวิชาที่เรียนมาในเรื่องเลขฐาน 2 หลังจากที่เคยเรียนอย่างคลุ้มคลั่งมาในอดีต -.,-

ปัญหาที่ได้พบ <3

       - nor gate ขาของชุดแรก (ขาที่ 1,2,3) พัง จนทำให้เกิดการเงิบมหาศาล -__-
       - or gate มีรอบนึงร้อนมาก ๆ แต่พอถอดแล้วเสียบใหม่กลับปกติ