หัวข้อ

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);            ...

การคำนวณเลขฐาน

การคำนวณทางเลขฐานในระบบคอมพิวเตอร์ไม่ว่าจะรันโปรแกรมใดๆโดย ส่วนใหญ่หลักพื้นฐานจะต้องมีการคำนวณทางคณิตศาตร์เข้ามาเกี่ยวข้อง ดังนั้นพื้นฐานทางคณิตศาตร์ในระบบดิจิตอลมีความจำเป็นมาก ไม่ว่าจะเป็นการ บวก ลบ คูณ หาร เลขฐานที่เกี่ยวข้องที่จำเป็นได้แก่ เลขไบนารี่ หรือเลขฐานสอง และเลขฐานสิบหก เป็นต้น
ก่อนอื่น ต้องเข้าใจหลักเกณฑ์ในการ บวก ลบ คูณ หาร เลขไบนารี่เสียก่อน ดังนี้


การบวกเลขฐานสองมีเกณฑ์เพียง 4 กรณีดังนี้
1. 0+0=0
2. 0+1=1
3. 1+0=1
4. 1+1=0  
( ทดหลักต่อไป 1) , 1+1 = 2 ผลลัพธ์ที่ได้เกินเลขพื้นฐานของเลขฐานสอง จะต้องลบด้วย2 จึงต้องใส่ค่าเป็น 0 แล้วทด 1
การลบเลขฐานสอง
มีเกณฑ์เพียง 4 กรณีดังนี้
1. 0-0=0
2. 1-0=1
3. 1-1=0
4. 0-1=1
(ยืม จากบิตที่มีน้ำหนักมากกว่ามา 1) ,การมีหลักเกณฑ์ คือ ตัวที่ให้ยืมมีค่าลดไป 1 ค่า ,และค่าที่ยืมมา 1นั้น(ในเลขฐานสองมีค่าเท่ากับ2)ให้นำไปบวกกับตัวที่ยืมแล้วทำการลบได้เลย
การคูณเลขฐานสอง
มีเกณฑ์เพียง 4 กรณีดังนี้
1. 0x0=0
2. 0x1=0
3. 1x0=0
4. 1x1=1
การหารเลขฐานสอง
มีวิธีการเหมือนกับเลขฐานสิบ คือ
 0/1=0
 1/1=1

หลัก การข้างต้นเป็นแค่พื้นฐานขั้นแรก แต่ยังมีการคำนวณเลขที่เป็นเลขติดค่าลบ หรือเป็นเลขที่มีเครื่องหมายเข้ามาเกี่ยวข้องนั่นเอง เลขประเภทนี้จะต้องมีวิธีการแตกต่างออกไปจากข้างต้น โดยจะต้องมีบิตแสดงเครื่องหมายเพิ่มขึ้นมา เราเรียกว่า sign bit แต่วิธีดังกล่าวจะทำให้เกิดความยุ่งยากทางฮาร์ดแวร์จึงต้องมีวิธีการหนึ่ง เข้ามาช่วย เรียกว่าการคอมพลิเมนต์เลขไบนารี่
การคอมพลีเมนต์เลขไบนารี่มีสองวิธี คือ
1. 1's complement
2. 2's complement
รูปแบบ 1's complement 1's complement ของเลขฐานสอง คือการกลับสถานะของตัวเลขในแต่ละบิตนั่นเอง คือ กลับ 0 เป็น 1, และ กลับ 1 เป็น 0
รูปแบบ 2's complement  2's complement ของเลขฐานสอง คือ ผลบวกของ  1's complement กับเลข 1 นั่นเอง


ระบบเครื่องหมาย -2's complementระบบเครื่องหมายลบ 2's comlement ที่นำมาใช้แทตัวเลขในเลขฐานสองมีหลักการดังนี้
-ถ้าเป็นเลขบวก ให้ใส่ 0 ที่บิตเครื่องหมาย และบิตข้อมูลจะเป็นเลขฐานสอง
-ถ้าเป็นเลขลบ ให้ใส่ 1 ที่บิตเครื่องหมาย และบิตข้อมูลจะเป็นเลข 2's complement ของเลขฐานสอง

ตัวอย่าง เช่น 7(10) = 0111(2) , -7(10) = 1001(2) เป็นต้น

การบวกในระบบ -2's complementสามารถแบ่งเป็น4กรณี ดังนี้
1. เป็นเลขบวกทั้งสองจำนวน เช่น 5+2
  จะได้เป็น        (+5)  +  (+2)             
                    (0 101) + (0 010)  = 0 111 หรือ 7 ในเลขฐานสิบ
2.เป็นเลขบวกกับเลขลบที่น้อยกว่า เช่น  4+(-2)
  จะได้เป็น       (+4)  +  (-2)       
                   (0 100) + (1 110)** = 0 010  หรือ 2 ในเลขฐานสิบ
       ** หมายถึง ค่าเลขที่เป็นลบต้องทำการ -2's complement ก่อน แล้วจึงนำมาใช้ได้
3.เป็นเลขบวกกับเลขลบที่มากกว่า เช่น 3 + (-4)
  จะได้เป็น       (+3)  +  (-4)       
                   (0 011) + (1 100) = (1 111)**  หรือ (-1) ในเลขฐานสิบ
       ** หมายถึง ค่าเลขที่เป็นลบต้องทำการ -2's complement ก่อน แล้วจึงนำมาใช้ได้
4.เป็นลบทั้งสองจำนวน เช่น (-3)+(-4)
จะได้เป็น       (-3)  +  (-4)       
                   (1 101) + (1 100) = (1 001)**  หรือ (-7) ในเลขฐานสิบ
       ** หมายถึง ค่าเลขที่เป็นลบต้องทำการ -2's complement ก่อน แล้วจึงนำมาใช้ได้
การลบในระบบ -2's complementในการลบนี้มีเทคนิคที่ทำให้ง่ายคือ เปลี่ยนเลขตัวลบให้อยู่ในแบบ  -2's complement ก่อน แล้วนำมาบวกกันจะได้ผลลัพธ์ออกมา
สามารถแบ่งเป็น4กรณี ดังนี้
1. เป็นเลขบวกทั้งสองจำนวน เช่น 5+2
  จะได้เป็น        (+5) - (+2) 
   แทนค่า      (0 101) - (0 010)   : เปลี่ยนตัวลบเป็น  -2's complement
     จะได้       (0 101)+ (1 110)  = 0 011 หรือ 3 ในเลขฐานสิบ
2.ตัวตั้งเป็นบวก ตัวลบเป็นลบ เช่น 5-(-2)
  จะได้เป็น        (+5)  -  (-2)             
  แทนค่า       (0 101) - (1 110)    : เปลี่ยนตัวลบเป็น  -2's complement
    จะได้         (0 101) + (0 010)  = 0 111 หรือ 7 ในเลขฐานสิบ
3.ตัวตั้งเป็นลบ ตัวลบเป็นบวก เช่น (-5)-(2)
   จะได้เป็น        (-5)  -  (2)           
    แทนค่า      (1 011) - (0 010)    : เปลี่ยนตัวลบเป็น  -2's complement
   จะได้        (1 011) + (1 110)  = 1 001 หรือ -7 ในเลขฐานสิบ
4.เป็นลบทั้งสองจำนวน เช่น (-5)-(-2)
  จะได้เป็น        (-5)  -  (-2)           
    แทนค่า       (1 011) - (1 110)    : เปลี่ยนตัวลบเป็น  -2's complement
    จะได้         (1 011) + (0 010)  = 1 101 หรือ -3 ในเลขฐานสิบ

การบวกและลบเลขฐานสิบหก มีรายละเอียดดังนี้
การบวกเลขฐานสิบหก ทำ การบวกได้เหมือนเลขฐานสิบได้เลย หากค่าเกินเลขพื้นฐานของฐานนั้นให้นำค่าพื้นฐานมาลบออก ใส่ค่านั้นลงไปแล้วทดไป 1(ค่าพื้นฐานในเลขฐานสิบหกคือ 16 นั่นเอง)
ตัวอย่าง    A2D + 819
วิธีทำ           A2D  +
                   819
คำตอบ      1246
การลบเลขฐานสิบหก มีหลักการลบดังนี้
 หากตัวตั้งมากกว่า หรือเท่ากับตัวลบให้ลบตามปกติ หากตัวตั้งน้อยกว่าตัวลบให้ยืมหลักถัดไป ค่าที่ยืมมามีค่าเท่ากับค่าเลขฐาน(ในีที่นี้เท่ากับ 16) ตัวที่ถูกยืมค่าจะลดลง 1 ค่า เมื่อยืมมาแล้วให้รวมค่ากับตัวยืมแล้วนำไปลบตามปกติ
ตัวอย่าง    A2D - 8A9
วิธีทำ           A2D  -
                  8A9
คำตอบ      184

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

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

เฟต(FET)

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