วิธีหมุนรูปภาพหลายๆภาพในครั้งเดียว

เวลาเพื่อนๆถ่ายรูปมาจากกล้องหรือมือถือต่างๆแล้วเอามาลงที่คอมพิวเตอร์ของเรา บางครั้งรูปที่ได้จะเป็นภาพที่กลับหัวหรือรูปที่ไม่ตรง ปกติเราก็จะหมุนภาพได้โดยใช้โปรแกรมดูรูปของ windows นั้นก็คือ Windows Photo Viewer

แต่เจ้าโปรแกรม Windows Photo Viewer นั้นทำให้เราต้องมานั้งกดหมุนรูปทีละรูป ทีละรูป ถ้าสมมติว่าเรามีรูปจำนวนมากๆวิธีนี้คงไม่ดีแน่ๆ ช้าแล้วก็เสียเวลามากๆเลยละ
หากเราต้องหมุนรูปภาพทีละมากๆแนะนำให้ใช้โปรแกรม PhotoScape ดีกกว่า วิธีใช้งานก็เปิดขึ้นมา แล้วไปที แถบ Batch Editor แล้วก็เลือกที่อยู่ของรูปในคอมพิวเตอร์ได้เลย

ทำการคลิกขวา เลือกการหมุนได้เลย โดย

Lossless – Rotate 90 degree CW ถ้าเราต้องการหมุดตามเข็มนาฬิกา 90 องศา
Lossless – Rotate 90 degree CCW ถ้าเราต้องการหมุดทวนเข็มนาฬิกา 90 องศา
Lossless – Rotate 180 degree ถ้าเราต้องการหมุด 180 องศา

โปรแกรม PhotoScape สามารถโหลดได้จากที่นี้นะ

ทำความรู้จักกับ Echo mode ใน Modem

Echo mode ใน Modem นั้นเป็น Mode ที่ Modem จะมีการตอบ AT command ที่เราส่งไปพร้อมกับ response ของ AT command นั้น ซึ่ง Echo mode นั้นส่วนใหญ่จะเป็นค่าเริ่มต้นที่ตั้งค่ามาจากโรงงาน

ตัวอย่างของ Echo mode เช่นหากเราส่ง “AT” จะเห็นว่าตอบกลับมาเป็นคำสั่งที่เราส่งไปตามด้วยผลของ AT Command นั้นๆ

สำหรับการปิด Echo mode นั้นเราสามารถปิดได้โดยการใช้ Command “ATE0” เพื่อทำการปิด Echo mode แล้วที่สำคัญจะต้องส่งCommand “AT&W0” เพื่อเป็นการบันทึกการตั้งค่าของเราไว้ด้วย ถ้าไม่อย่างนั้นเวลาเราเปิด Modem ขึ้นมาใหม่ Echo mode ก็จะยังเปิดอยู่เหมือนเดิม

เมื่อปิด Echo mode แล้วก็จะมีลักษณะดังรูปนี้ คือไม่มีการ Echo

สำหรับวิธีการเปิด Echo Mode ก็ทำในลักษณะเดียวกันแต่ใช้ Command “ATE1” แล้วก็ตามด้วย “AT&W0”

ทำยังไงเมื่อย้ายไฟล์ขนาดใหญ่ลงมือถือไม่ได้

มีใครเคยเจอปัญหาว่าไม่สามารถย้ายไฟล์ใหญ่ๆ ลงมือถือ Android ทั้งๆที่พื้นที่ในมือถือของเราก็ยังเหลืออีกตั้งเยอะ มาลองทำตามวิธีในบทความนี้ดูกัน

ตัวอย่าง จะเห็นว่ามีไฟล์ที่ zip แล้วขนาด 2.4G

พอลากลงไปในมือถือของเราก็จะขึ้นว่า Cannot copy item

วิธีแก้ไขก็คือให้เรา ลบนามสกุลของไฟล์นั้นออกไป

ไฟล์นั้นก็จะกลายเป็นไฟล์ที่ไม่มีนามสกุลดังรูป

แล้วทำการ copy ไฟล์ลงไปใหม่ ก็จะได้เอง ง่ายๆเลยนะ ลองนำเอาไปใช้ดู

การคิดค่า Maximum Demand

Maximum Demand หรือ Peak Demand คือค่าความต้องการใช้ไฟฟ้าเฉลี่ยสูงสุด Demand ในรอบของเดือนนั้นหรือรอบบิลนั้นๆ

การคิดค่า Maximum Demand นั้นคิดมาจากการเปรียบเทียบค่า Demand ในแต่ละ Interval (ในประเทศไทยจะใช้ interval ที่ 15 นาที) หากใน Interval ไหนมีค่ามากก็จะกลายเป็นค่า Maximum Demand แล้วทำการเปรียบเทียบแต่ละ Interval ไปเรื่อยๆ จนถึง Interval สุดท้ายของเดือนหรือของรอบบิลนั้นแล้วบันทึกลงไปในบิลค่าไฟ หลังจากนั้นจึงทำการ reset ค่า Maximum Demand ให้เป็น 0 เพื่อที่จะคำนวณเปรียบเทียบค่า Demand ในรอบเดือนหรือบิลใหม่ต่อไป

ตัวอย่างการเปรียบเทียบ Demand แต่ละ interval เพื่อนำมาคิดเป็นค่า Maximum Demand

ตัวอย่าง ค่า Maximum Demand ที่ทางการไฟฟ้านำมาคิดเงินจากผู้ใช้งาน การคิดค่าไฟฟ้าจาก กิจการขนาดกลางจากการไฟฟ้าส่วนภูมิภาค (PEA)

Current Transformer คืออะไร

Current Transformer นั้นเป็นอุปกรณ์วัดค่ากระแสไฟฟ้าโดยการลดทอนปริมาณกระแสจากด้าน Primary ลงโดยเป็นการลดที่เป็นแบบแปรผันตรง เพื่อนำกระแสด้าน Secondary เข้าวงจร Electronic เพื่อใช้คำนวณค่ากระแสที่วัดได้

หลักการการทำงานของ Current Transformer เมื่อมีกระแสไหลผ่าน CT ก็จะเกิดการเหนี่ยวนำของสนามแม่เหล็กไฟฟ้าทำให้เกิดกระแสไฟฟ้าทางด้าน Secondary โดยกระแสที่เกิดขึ้นจะมีปริมาณลดลงเท่ากับ Ratio ของ CT, Ratio = n2 (รอบพันคอยด์ของ Secondary) ÷ n1 (รอบพันคอยด์ของ Primary) ซึ่งมาจากสูตรด้านล่างนี้

ตัวอย่างเช่น หาก Ratio ของ CT เท่ากับ 2500 เท่า เมื่อกระแสไฟฟ้าไหลผ่านทางด้าน Primary 100 A ทาง Secondary ก็จะมีกระแสไหลเท่ากับ 100 ÷ 2500 = 0.04 A

สำหรับตัวอย่างการนำเอา Current transformer ไปใช้งานจริง เช่น มิเตอร์ไฟฟ้า แคมมิเตอร์วัดไฟฟ้า เหล่านี้เป็นต้น

ทำความเข้าใจเกี่ยวกับ ppm

คำว่า ppm นั้นย่อมาจาก parts-per-million หรือหนึ่งในล้านส่วน ถ้าเราแปลง ppm เป็นตัวเลขนั้นหมายถึง 1 ÷ 1,000,000 = 0.000001 = 10^−6 (สิบยกกำลังลบ6)

ตัวอย่าง หากเราบอกว่านาฬิกาเรือนหนึ่งมีค่าความผิดพลาดอยู่ที่ 20 ppm วินาที นั้นหมายความว่าเวลาเราดูเวลาจากนาฬิกาเรือนนี้จะมีโอกาสที่เวลาจะเดินผิดพลาดได้ 20 วินาที จาก 1 ล้านวินาที
ถ้าคิดต่อว่าถ้าเทียบแล้ว 1 วันแล้วเวลาเดินผิดไปกี่วินาทีเราสามารถคำนวณได้ว่า
86400 x (20 ÷ 1,000,000) = 1.728
นั้นแสดงว่าค่าความผิดพลาดที่ 20 ppm วินาที ทำให้เวลาเดินผิดพลาด 1.728 วินาทีต่อวันนั้นเอง

นอกจาก ppm แล้วยังมี
ppb (parts-per-billion, 10^−9, 1 ÷ 1,000,000,000) หนึ่งในพันล้านส่วน
ppt (parts-per-trillion, 10^−12 , 1 ÷ 1,000,000,000,000) หนึ่งในล้านล้านส่วน
ppq (parts-per-quadrillion, 10^−15, 1 ÷ 1,000,000,000,000,000) หนึ่งในพันล้านล้านส่วน

การคำนวณค่าความต้องการใช้ไฟฟ้าเฉลี่ย Block Demand

เราสามารถคำนวณ Demand หรือ ความต้องการใช้ไฟฟ้าเฉลี่ย ได้จากค่าพลังงานจากสูตรนี้

Demand = Energy x (60 ÷ Demand interval)

โดย
Demand คือ ความต้องการใช้ไฟฟ้าเฉลี่ย มีหน่วยเป็น W หรือ var
Energy คือ พลังงาน มีหน่วยเป็น Wh ในกรณีที่หา Demand W และจะเป็น varh ในกรณีที่หาค่า Demand var
Demand interval คือค่า Block เวลาที่ใช้ในการเฉลี่ย มีหน่วยเป็นนาที (ใช้ 15 นาที สำหรับประเทศไทย)

เราจะคิดค่า Demand จะมีการคำนวณค่าใหม่ทุกๆนาทีที่ครบตาม Demand Interval
หาก Demand interval คือ 15 นาทีเราก็จะคิด Demand Interval ที่นาทีที่ 00, 15, 30, 45
เช่นเวลา 00:00, 00:15, 00:30, 00:45, 01:00, 01:15, … ไปเรื่อยๆ

ตัวอย่าง ในการคำนวณค่า Demand W
ในช่วงเวลา 9:00 ถึง 9:05 มีการใช้ไฟฟ้า ที่ 230V 20A ก็จะได้ค่า Active Power = 4,600 และ Active Energy = 383.33 Wh
ในฃ่วงเวลา 9:05 ถึง 9:10 มีการใช้ ไฟฟ้า ที่ 230V 40A ก็จะได้ค่า Active Power = 9,200 และ Active Energy = 766.67 Wh
ในช่วงเวลา 9:10 ถึง 9:15 มีการใช้ ไฟฟ้า ที่ 230V 30A ก็จะได้ค่า Active Power = 6,900 และ Active Energy = 575 Wh
ดังนั้นเราจะได้ Active Energy ผลรวมจะได้ 1,725 Wh = 383.33 + 766.67 + 575
เมื่อคำนวณ Demand จะได้ 6,900 W = 1,725 x (60 ÷ 15)

และเมื่อเอามาพลอตกราฟก็จะได้กราฟดังรูป จะสังเกตว่า Instantaneous power จะเป็นกราฟที่เรียบเนื่องจากเราสมมติให้มีการใช้งานที่คงที่

แต่ในการใช้งานจริงๆแล้ว ค่า Instantaneous Power อาจจะไม่คงที่ ดังรูปนี้

จากตัวอย่างผลลัพธ์ที่เราคำนวณได้นั้นหมายความว่า ใน 15 นาทีนี้เรามีความต้องการใช้กำลังโดยเฉลี่ยเท่ากับ 6,900 W

และใน Demand var ก็จะมีการคำนวณเช่นเดียวกันเพียงแต่เปลี่ยนจาก Active Power และ Active Energy มาเป็น Reactive Power และ Reactive Energy แทน

ซึ่งวิธีการคำนวณค่า Demand แบบนี้เราเรียกได้ว่าเป็นการคำนวณค่า Demand แบบ Block Demand นั้นเอง

วิธีใช้ GCC กับภาษา C หลายๆไฟล์

วิธี Compile ภาษา C โดยใช้ GCC สำหรับในกรณีที่ไฟล์ .c หลายไฟล์ เป็นโปรเจคเดียวกัน สามารถใช้วิธี compile โดยใช้ GCC ได้ดังนี้

ขั้นแรกให้เรา Compile ไฟล์ .c แต่ละไฟล์ โดยใช้ –c เพื่อบอกว่า compile ไฟล์นี้เท่านั้น ไม่ต้อง link กับไฟล์อื่น

gcc -c ไฟล์ที่1.c
gcc -c ไฟล์ที่2.c

ไปเรื่อยๆ ขึ้นอยู่กับตามจำนวนไฟล์ .c

หลังจากนั้นเราก็จะได้ ไฟล์ object นามสกุล .o ออกมา เสร็จแล้วทำการ link ไฟล์ object แต่ละไฟล์เข้าด้วยกัน

gcc -o โปรแกรม.exe ไฟล์ที่1.o ไฟล์ที่2.o

ให้เราใส่ ไฟล์ .o ตามจำนวนไฟล์ .c ของโปรแกรมเรา

ตัวอย่าง สมมติว่ามีไฟล์
hellofunc.c

#include <stdio.h>
#include "hellomain.h"

void myPrintHello(void) {

  printf("Hello HAHAHA!\n");

  return;
}

hellomain.c

#include "hellomain.h"

int main() {
  // call a function in another file
  myPrintHello();

  return(0);
}

hellomain.h

void myPrintHello(void);

การใช้ GCC ถ้าเป็น windows

gcc -c hellofunc.c
gcc -c hellomain.c
gcc -o program.exe hellofunc.o hellomain.o


การใช้ GCC ถ้าเป็น linux

gcc -c hellofunc.c
gcc -c hellomain.c
gcc -o program hellofunc.o hellomain.o
./program

ก็จะได้ผลลัพธ์ตามรูป

วิธีใช้ GCC กับภาษา C ด้วย -Wall

สำหรับคำสั่งของ GCC ที่ใช้การ compile ใน ภาษา C ที่สำคัญและมีประโยชน์อีกคำสั่งนั้นก็คือ –Wall
โดย –Wall นั้นหมายความวว่าเราต้องการให้ GCC แจ้งเตื่อน Warning ทั้งหมด หรือ Show warning all นั้นเอง

ตัวอย่างของ การใช้ –Wall และผลลัพธ์ของการเตื่อน Warning

helloworld3.c

#include <stdio.h>
#include "helloworld3.h"

int main (void)
{
    int x;

    
    printf("%s\n", HELLO);
    return 0;
}

helloworld3.h

#define HELLO "HELLO WORLD 3"

จะเห็นว่าถ้าไม่ใช้ -Wall ก็จะไม่มีคำเตื่อนอะไรเลย

ส่วนถ้าใส่ -Wall ก็จะขึ้นดังรูป

จะเห็นว่ามี Warning บอกว่า 6:9 warning : unused variable ‘x’
นั้นหมายความว่า ไม่มีการใช้งานตัวแปร x โดยตัวเลข 6:9 นั้นเป็นการบอกตำแหน่งของ warning ที่ source code บรรทัดที่ 6 คอลัมน์ที่ 9 (นับเป็น space ก็จะได้ 9 space)