วันพุธที่ 16 พฤศจิกายน พ.ศ. 2559

LAB : 5

Lab : 5
 เชื่อมต่อ Nucleo เข้ากับ I2C EEPROM เพื่อเก็บและอ่านข้อมูล โดยไห้ทำงานได้ 2 โหมด คือ เมื่อ
สวิตส์ d7 on จะเป็นการ บันทึกค่า ตามคลิปวิดีโอเมื่อกดปุ่ม toggle switch จะทำไห้มันบันทึกค้า จากนั้นเมื่อเลื่อน switch d7 ลงเป็น off เมื่อกด toggle switch จะทำไห้ led แสดงผลตามที่บันทึกค่าไว้ บนบอร์ด NX100  led0=d0 led=d1 จนถึง led6=d6  ใช้การเขียนโคตในการควบคุม กระบวนการต่างๆ


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

Assignment2

Assignment 2 A9
 ต่อเนื่องจาก lab 3 โดยทางอาจารย์ได้เพิ่มความยากขึ้นมาอีกจากที่แสดงผลในคอมพิวเตอร์ เปลี่ยนมาเป็นแสดงผลใน smart phone โดย ใช้ BT HC-05 กับ nucleo เพื่อเชื่อมต่อกับ smart phone และ จากที่เมื่อ ส่ง s แล้ว จะออกจากโหมดกลายเป็น เมื่อ ส่ง s แล้วจะทำไห้ LED หยุดทำงาน แต่ยังค้างอยู่ใน mode 1 ให้ส่ง x แทนจึงจะออกจาก mode 1 ไปที่ menu หลัก เพิ่ม mode 3 ขึ้นมา ทำหน้าที่ไห้ smart phone แสดงผลค่า VR จาก บอร์ด Nx100


LAB : 3

Lab : 3

     ในแลป 3 นั้น จะเป็นการเชื่อมต่อ Nucleo เข้ากับ คอมพิวเตอร์  โดยมีเอ้าพุตเป็น serial moniter ใน คอมพิวเตอร์และ LED บนบอร์ด NNX100 โดยใช้ Nucleo เป็นตัวควบคุม logic ต่างๆที่ได้เขียนไปใน CODE
เชิญรับชมคลิป



           input 1 = mode 1 LED pattern 
           input a =  LED pattern 1
           input b =  LED pattern 2
           input s =  EXIT  
           input 2 = mode 2 check logic switch


serial moniter
input ตรง ช่องข้างบนแล้วกด send

    


                                                                 CODE LAB3 A9                                  

LAB : 2

Lab : 2
โจทย์
      ให้ input ค่า analog จาก VR บนบอร์ด NX100 ตั้งแต่ 0-3.3v แล้วไปแสดงผลในรูปแบบต่างๆดังนี้
1.แสดงผลระดับแรงดันด้วยหลอดไฟ LED บนบอร์ด NX100
2. เมื่อกดปุ่ม toggle switch แล้วจะเปลี่ยนโหมดจากแสดงผลด้วย LED เป็นแสดงผลด้วย 7-segment แทน
3.แสดงผลระดับแรงดันด้วย 7-segment บนบอร์ด NX100


7-segment
จากโจทย์ไห้แสดงผลเป็นตัวเลข2หลักแรก 

toggle switch
เมื่อกดปุ่มเล็กๆสีดำที่อยู่ข้างล่างแล้วจะเปลี่ยนโหมด

VR
เป็นตัวปรับแรงดัน ใน lab นี้ จะปรับได้แค่จาก 0 -3.3 v





      โดยตัวควบคุมการทำงานทุกๆอย่างนั้น คือ Nucleo ซึ่งจะเป็นตัวหลักที่จะเชื่อมตัว input , toggle switch และ output ไว้ด้วยกัน และใช้การเขียนโคตในการ ควบคุม










วันพฤหัสบดีที่ 10 พฤศจิกายน พ.ศ. 2559

LAB : 4

Lab :4 สร้างสัญญาณตามที่โจทย์กำหนด



จากโจทย์เราต้องสร้างสัญญาณไห้ได้ตามรูปแบบที่โจทย์กำหนด

รูปแบบสัญญาณที่ต้องสร้าง

โดยสัญญาณที่เราสร้างนั้นต้องมีความถี่เท่ากับหรือใกล้เคียงกับเลขกลุ่มของกลุ่มเราโดยเลขกลุ่มของเราคือ 9 เพราะฉะนั้นเราต้องทำการสร้างสัญญาณที่มีความถี่ 9 Hz. 

ในแลปนี่เราต้องใช้ ic ก้คือ  MCP 4922 ต่อเข้ากับ nucleo และใช้ ตัว hantek ในการจับสัญญาณ
โดยการสร้างสัญญาณนั้นใช้การเขียนโคตใน mbed เป็นตัวควบคุม 
ข้อควรระวัง:เช็คสายทุกเส้นว่าชำรุดหรือต่อผิดหรือเปล่า 








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

Lab:01

Lab : 1
          โจทย์ : ไห้ออกแบบการทำงานและพัฒนา controller โดยรับอินพุตจาก switch 3 ตัว แล้วทำไห้เกิดความแตกต่างในการทำงานของ led จำนวน 8 ดวง ในลักษณะที่แตกต่างกัน 3รูปแบบ

หลักการทำงาน
           จากโจทย์นั้นเราสิ่งที่เราต้องทำคือเมื่อเราทำการต่อบอร์ด nucleo กับบอร์ด nx100 เข้าด้วยกันแล้ว เมื่อเราดัน switch  ของบอร์ด nx100 ขึ้นแล้ว led จะทำงานตามโปรแกรมที่เราเขียนไว้ ไปเรื่อยๆจนกว่าเราจะดัน switch ลงถ้ายังไม่จบกระบวนการจะต้องรอไห้ดำเนินการต่อจนเสร็จแล้วถึงจะเปิด switch ถัดไปได้ ต้องทำไฟทั้ง 3 รูปแบบ
ไห้การติดของ led ทั้ง 3 รูปแบบ นั้นแตกต่างกัน

การต่อ nx100 กับ บอร์ด nucleo
   1.เราจะทำการต่อ ground ของบอร์ด nx100 และ บอร์ด nucleo เข้าด้วยกัน
   2.เราจะทำการต่อ input ของระบบ หรือ ก็คือ switch ของ nx100 เข้ากับ port ของบอร์ด nucleo โดยกลุ่มของเราจะใช้  port D3,D4,D5 ของบอร์ด nucleo ต่อกับ switch ช่อง D1,D2,D3 ของบอร์ด nx100 ตามลำดับ
   3.เราจะทำการต่อ output  ของ ระบบ หรือคือ led ที่เราไว้ใช้แสดงผลทัง 8 ดวง ของบอร์ด nx100 เข้ากับ port ของบอร์ด nucleo โดย กลุ่มเราจะใช้ port D6,D7,D8,D9,D10,D11,D12,D13 ต่อกับ led ช่อง D0,D1,D2,D3,D4,D5,D6,D7 ของบอร์ด nx100 ตามลำดับ
   4.เชื่อมสาย usb กับบอร์ด nucleo เข้าด้วยกัยลงโปรแกรม และ ลองใช้งานโปรแกรมที่เขียน

วิธีการลงโปรแกรม
    กลุ่มของเรานั้นใช้เวปของ mbed เพื่อ เขียนโปรแกรมและ compile
   1.เข้าเวปไซต์ของทาง mbed loginเข้าไปเขียนโปรแกรม
   2.เมื่อเขียนเสร็จแล้วกดที่ compile จะดาว์นโหลดไฟลล์ไปยังเตรื่องของเรา
   3.ลากไฟล์ที่โหลดมาแล้วไปไว้ใน usb port ของ nucleo
   4.เมื่อลากลงแล้ว ตัว nucleo จะส่งข้อมูลโปรแกรมที่เราเขียนไว้ไปอัตโนมัติ
   5.ลองทดลอง โปรแกรมที่เขียนมา



วันศุกร์ที่ 14 ตุลาคม พ.ศ. 2559

LJ5 : DESIGNING SEQUENTIAL CIRCUITS

DESIGNING SEQUENTIAL CIRCUITS

Combination & Sequential Logic

-Combination
Output ขึ้นกับ Input ขณะนั้น
-Sequential Logic

Output ขึ้นกับ 1.Input ขณะนั้น
                        2.Input ก่อนหน้า
                           3.Output ก่อนหน้า
    
*อุปกรณ์พื้นฐานทาง Combination logic คือ Logic gates
*อุปกรณ์พื้นฐานทาง Sequential Logic คือ Flip‐flop

J,K Flip-Flop


J,K = Input          Q,Qbar = Output          Clk = Clock

*เมื่อใส่ Input เข้าไปแล้ว Output จะยังไม่เปลี่ยนต้องมีสัญญาณ Clock เข้ามาก่อน Output จึงจะเปลี่ยน
*Rbar คือ ขา Reset ที่เป็น Active Low ถ้าเป็น 0V. แล้วขา Reset จะทำงานตลอดเวลา


D-Type Flip-Flop


*สามารถใช้ J,K Flip-Flop มาแปลงเป็น D-Type Flip-Flop ได้
*Input 1 = set , Input 0 = Reset

T-Type Flip-Flop


*สามารถใช้ J,K Flip-Flop มาแปลงเป็น T-Type Flip-Flop ได้
*Input 1 = Toggle , Input 0 = No Change

SR Flip-Flop


*SR Flip-Flop ไม่มีขา Clock ทำไห้สลับสถานะไวมาก
*ไม่เป็นที่นิยมใช้