หัวข้อ

ram transistor zener diode กราวนด์ดิจิตอล (Digital Ground) คืออะไร? การคำนวณเลขฐาน การต่อสัญญาณแบบบาลานซ์(Balanced System) การทำงานเครื่องขยายเสียงคลาสดี การนำไมโครคอนโทรลเลอร์ไปใช้งาน การประยุกต์ใช้ ESP32 และ ESP8266: ก้าวสู่โลก IoT การเข้าโหมดเซอร์วิส การเปลี่ยนฐานของระบบเลข การเลือกลำโพง การเลือกแอมป์ให้กับลำโพง การใช้งาน Arduino Uno ร่วมกับ เซอร์โวมอเตอร์ การ์ดแสดงผล กำลังวัตต์กับความดัง คลาสต่างๆ ความเปลี่ยนแปลงของเครื่องเสียงยุคดิจิตอล ค่าความเพี้ยนกับค่าS/N จอมอนิเตอร์ ซีดีทรานสปอร์ต(CD TRANSPORT) ตัวต้านทานปรับค่าได้(Variable Resistor) ตัวต้านทานและการใช้งาน ตัวเก็บประจุ(Capacitor ทรานซิสเตอร์ ทำไม?แรมบางรุ่นถึงแพงกว่าเมนบอร์ด ทิศทางการเติบโตตลาด AMD ในปัจจุบัน ทีวีสี ภาคต่างๆของเครื่องขยายเสียง รหัสไบนารี่(Binary Codes) ระบบควบคุมการชาร์จแบตเตอรี่จากโซลาร์เซลล์ ระบบเลขฐาน ระบบโซลาร์เซลล์ ระบบโซลาร์เซลล์แบบ Off-Grid และ On-Grid อินเวอร์เตอร์ที่ใช้ในระบบโซลาร์เซลล์ อิเล็กทรอนิกส์ อุปกรณ์ระบายความร้อนในคอมพิวเตอร์ อุปกรณ์อิเล็กทรอนิกส์ ฮาร์ดดิสก์ หรือ SSD เขียนโปรแกรม Arduino ด้วยภาษาซี เขียนโปรแกรม Arduino ด้วยภาษาซี 2 เขียนโปรแกรม Arduino ด้วยภาษาซี 3 เขียนโปรแกรม Arduino ด้วยภาษาซี คำสั่งพื้นฐานที่ควรเรียนรู้ เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 5 เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 6 เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 7 เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 8 เขียนโปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่1 เครื่องขยายเสียงคลาสดี(Class D) เบอร์แทน เพาเวอร์ซัพพลาย เพาเวอร์แบงค์บอกค่าความจุจริงหรือเฟค เมนบอร์ด (Motherboard) แนะนำ CPU และ GPU ราคาประหยัด ใช้งานได้ถึงปี 2030 แนะนำ ซีพียู งาน AI ฝั่ง RED Team แนะนำ ซีพียูสาย AI รุ่นท็อปขายดี แอลอีดี(LED) โครงสร้างไมโครคอนโทรลเลอร์ ตระกูล PIC โปรแกรม Arduino ด้วยภาษาซี ตัวอย่างที่ 4 โวลลุ่มคอนโทรลแบบ AAVA ไดโอด ไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์ในปี 2025 ไอซี ไอซีตั้งเวลา LM555
แสดงเพิ่มเติม

การใช้งาน Arduino Uno ร่วมกับ เซอร์โวมอเตอร์

 ในการใช้งาน arduino uno ร่วมกับ เซอร์โวมอเตอร์ ตัวอย่างนี้จะใช้เอาท์พุตดิจิตอลธรรมดา แต่สัญญาณ PWM จะสร้างขึ้นจากฟังก์ชั่นที่อ้างอิงจากไฟล์ Servo.h และรูปแบบใช้งานคำสั่งก็คือ Servo myservo;   คือ การประกาศฟังก์ชั่น myservo.attach(9); คือ การกำหนดขาเอาท์พุต myservo.write(pos); คือ เขียนข้อมูลออก ในที่นี้ใช้ตัวแปร pos ในการเก็บค่า ต่อวงจรตามภาพ เขียนโปรแกรมดังนี้ #include <Servo.h> Servo myservo;  // ประกาศใช้งานฟังก์ชั่นเซอร์โว จากไฟล์ servo.h int pos = 0;    // กำหนดตัวแปรเก็บค่าตำแหน่งเซอร์โว void setup() {   myservo.attach(9);  // กำหนดขาใช้งานในบอร์ด คือ ขา9 void loop() {   for (pos = 0; pos <= 180; pos += 1) { // ใส่ค่าตำแหน่งเริ่มจาก 0 ถึง 180 องศา โดยเพิ่มค่าทีละ 1 องศา       myservo.write(pos);              // เขียนคำสั่งจากค่าตัวแปรเก็บตำแหน่ง เพื่อส่งค่าออกเอาท์พุต     delay(15);            ...

การเปลี่ยนฐานของระบบเลข


การเปลี่ยนฐานของระบบเลข
ในกระบวนการทางดิจิตอลนั้น การติดต่อสื่อสารทางตัวเลข บางครั้ง เมื่อต่างระบบ ค่าตัวเลขก็อาจต่างกัน ระบบหนึ่งอาจใช้เลขฐานสิบ อีกระบบอาจใช้เลขฐานสองในการทำงานในระบบ ดังนั้นจึงจำเป็นที่จะต้องมีการเปลี่ยนเลขฐานเพื่อการติดต่อสื่อสารให้ทั้ง สองระบบเข้าใจกัน  ดังนั้นจึงควรรู้วิธีการเปลี่ยนระบบเลขฐาน เพื่อเป็นความรู้พื้นฐานสำหรับการทำการเข้าใจเกี่ยวกับการทำงานของระบบ ดิจิตอลในคอมพิวเตอร์

สิ่งสำคัญในการเปลี่ยนฐานนั้น คือ ค่าประจำตำแหน่งของตัวเลขในแต่ละฐาน ซึ่งจะบอกให้เราทราบว่า ผลรวมจากค่าประจำตำแหน่งเป็นค่าจริงเท่าไหร่เมื่อเทียบกับค่าเลขในฐานอื่น ซึ่งค่าประจำตำแหน่งจะเขียนให้อยู่ในเลขยกกำลัง ได้ดังนี้
                      
ตารางเทียบค่าเลขยกกำลัง


                               รูปที่1.ตารางบอกค่าประจำตำแหน่งเลขฐาน ตารางจากตัวอย่างนี้มีประโยชน์เมื่อต้องการเปลี่ยนเลขฐานต่างๆเป็นฐานสิบ เช่น หากต้องการเปลี่ยนเลขฐานแปด คือ142(8) เป็นฐานสิบ  สามารถเปลี่ยนโดย
วิธีทำ  142(8) = 1x(82) + 4x(81) + 2x(80)
                  = (1x64) + (4x8) + (2x1)
                  = 98(10)
และ ในเลขฐานอื่นๆก็ใช้วิธีเดียวกันในการเปลี่ยนฐานไปเป็นเลขฐานสิบ โดยใช้สูตรจากตารางรูปแบบของเลขนั้นๆ เช่น การเปลี่ยนเลขฐานสิบหกเป็นฐานสิบ คือ 356(16)
วิธีทำ  356(16) = 3x(162) + 5x(161) + 6x(160)
                   =  768     +     80     +    6
                   =  854(10)



จากข้างต้นการเปลี่ยนฐานนั้นมีวิธีแปลงที่อยู่ในรูปของการบวกของผลคูณ แต่ในการเปลี่ยนจากเลขฐานสิบเป็นเลขฐานต่างๆจะต้องใช้วิธีหารดังต่อไปนี้
 ทำ โดยการเอาเลขที่ต้องการเปลี่ยน หารด้วยเลขฐานที่ต้องการ แล้วเอาผลหาร(ไม่คิดเศษ) มาหารด้วยเลขฐานที่ต้องการ ไปเรื่อยๆจนได้ 0 เศษที่ได้แต่ละครั้งจะเป็นค่าเลขฐานที่ต้องการ
 เช่น ต้องการแปลง 26(10) เป็นเลขฐานสอง

วิธีทำ
       2|26        เศษ 0     LSB    มีนัยสำคัญน้อย
              2|13        เศษ 1       .
              2| 6         เศษ 0       .
              2| 3         เศษ 1       .
              2| 1         เศษ 1     MSB   มีนัยสำคัญมาก
                   0
คำตอบคือ   26(10)  = 11010(2)
ใน การแปลงเลขฐานสิบเป็นฐานอื่นๆก็ใช้วิธีเดียวกัน เช่นถ้าต้องการแปลงเป็นเลขฐานแปด เลขที่นำมาหารให้เปลี่ยนจาก 2 ไปเป็น 8 เท่านั้น ดังตัวอย่าง การแปลง 49(10) 
 วิธีทำ   8|49        
               8|6         เศษ 1     LSB    มีนัยสำคัญน้อย
                   0        เศษ 6     MSB   มีนัยสำคัญมาก

คำตอบคือ   49(10)  = 61(8)

ในการเปลี่ยนเลขฐานสองเป็นเลขฐานสิบหกและเลขฐานแปด สามารถแปลงได้โดยการจัดชุดเลขฐานสองออกเป็นชุดๆ โดยหากเป็นการแปลงไปเป็นเลขฐานแปดให้จัดชุดเป็นขนาด 3 บิต และหากเป็นการแปลงไปเป็นเลขฐานสิบหกให้จัดชุดเป็นขนาด 4 บิต  เมื่อจัดชุดได้แล้วก็แทนค่าเป็นเลขฐานที่ต้องการ โดยเทียบจากค่าดังต่อไปนี้
การเทียบค่าเลขฐานแปด กับเลขฐานสอง
  0     000
  1     001
  2     010
  3     011
  4    100
  5    101
  6    110
  7    111
การเทียบค่าเลขฐานสิบหก กับเลขฐานสอง
  0     0000
  1     0001
  2     0010
  3     0011
  4     0100
  5     0101
  6     0110
  7     0111
  8    1000
  9    1001
  A    1010
  B    1011
  C    1100
  D    1101
  E    1110
  F    1111
ตัวอย่าง  จงแปลงเลขฐาน 1100001010110(2) เป็นเลขฐานแปด
       วิธีทำ    
                 1100001010110(2)  =     1  100  001  010  110
                                                 = 001  100  001  010  110
                                                 =  1        4      1      2     6
                                                 =  14126(8)
       
               จงแปลงเลขฐาน 1100001010110(2) เป็นเลขฐานสิบหก
      วิธีทำ
                 1100001010110(2)  =       1  1000  0101  0110 
                                                 = 0001  1000  0101  0110
                                                 =    1        8        5         6
                                                 =  1856(16)
ส่วนในการแปลงค่าเลขฐานแปดและเลขฐานสิบหกเป็นเลขฐานสอง ก็สามารถแปลงได้โดยการทำกลับกัน เช่น แปลงค่าเลขต่อไปนี้  6543(8),53F4(16) เป็นฐานสอง
    วิธีทำ             6543(8)    =       6        5        4        3
             แทนค่าเป็น 3 บิต  =    110    101    100   011
                                           =   110101100011(2)

    วิธีทำ             53F4(16)    =      5        3        F        4
            แทนค่าเป็น 4 บิต              =       0101      0011      1111      0100
                                  =    101001111110100(2)

การเปลี่ยนเลขฐานระหว่างเลขฐานสิบหก กับ เลขฐานแปด  การเปลี่ยนระหว่างสองเลขฐานนี้จะต้องแปลงจากเลขฐานเดิมให้เป็นเลขฐานสองเสีย ก่อน แล้วค่อย แปลงค่าเลขฐานสองนั้นไปเป็นเลขฐานที่ต้องการ




โพสต์ยอดนิยมจากบล็อกนี้

คลาสต่างๆของวงจรขยายเสียง

เฟต(FET)