วิธีบีบอัดไฟล์ และแตกไฟล์ zip บน Windows 10 โดยไม่ต้องลงโปรแกรมเพิ่ม

การบีบอัดไฟล์ (file compression) และการแตกไฟล์ (file decompression) เป็นเรื่องพื้นฐานสำหรับการใช้งานคอมพิวเตอร์ในยุคปัจจุบัน เนื่องจากเทคโนโลยีการบีบอัดไฟล์มีข้อดีดังต่อไปนี้

ข้อดีของเทคโนโลยีการบีบอัดไฟล์

  • ช่วยให้ไฟล์ที่ถูกบีบอัดมีขนาดเล็กลง ช่วยให้การโอนถ่ายไฟล์ผ่านอินเทอร์เน็ตทำได้รวดเร็วขึ้น
  • สามารถรวมไฟล์หลายๆ ไฟล์ให้เป็นเดียวได้ ช่วยลดขั้นตอนในการโอนถ่ายไฟล์จำนวนมากๆ
  • สามารถกำหนดรหัสผ่านขณะแตกไฟล์สำหรับข้อมูลที่ต้องการให้เป็นความลับ (โปรแกรมที่ติดมากับ Windows 10 ทำไม่ได้)

วิธีบีบอัดไฟล์ zip

คลิกขวาที่ไฟล์ หรือโฟลเดอร์ที่ต้องการบีบอัด เลือกเมนู Send to > Compressed (zipped) folder

จากนั้นรอจนกว่าการบีบอัดไฟล์จะเสร็จสิ้น และได้ไฟล์ .zip

วิธีแตกไฟล์ zip

คลิกขวาที่ไฟล์ .zip เลือกเมนู Extract All…

หน้าต่าง Extract Compressed (Zipped) Folders จะแสดงขึ้นมา

คุณสามารถกดปุ่ม Browse เพื่อเลือกว่าจะให้แตกไฟล์ไปไว้ที่โฟลเดอร์ไหน (ไม่ต้องเลือกก็ได้ หากไม่เลือกโฟลเดอร์ไฟล์จะถูกแตกไว้ที่โฟลเดอร์เดียวกับไฟล์ .zip)

เมื่อเลือกโฟลเดอร์เสร็จแล้วให้คลิกปุ่ม Extract และรอจนกว่าการแตกไฟล์จะเสร็จสิ้น

*** ตัวเลือก Show extracted files when complete หากติ๊กเครื่องหมายถูกออก จะไม่เปิดหน้าต่างใหม่เมื่อการแตกไฟล์เสร็จสิ้น ***

แบ่งปันสิ่งนี้บน

วิธีตั้งค่าให้ Windows 10 แสดงนามสกุลไฟล์ (file extension)

การแสดงนามสกุลไฟล์ (file extension) ช่วยให้เรารู้ได้ว่าไฟล์นั้นๆ ควรจะถูกเปิดด้วยโปรแกรมอะไร และช่วยให้เราตรวจสอบได้ว่าไฟล์นั้นเป็นไฟล์ประเภทเดียวกับที่เราเข้าใจหรือไม่ ไม่ใช่ไฟล์แปลกปลอมอย่างไวรัสที่ถูกตั้งค่าไอคอนเป็นรูปอื่นๆ จนเราเข้าใจผิด

วิธีตั้งค่า

เปิดโปรแกรม File Explorer ขึ้นมา จากนั้นคลิกแท็บ View > Options

เมื่อหน้าต่าง Folder Options แสดงขึ้นมา ให้คลิกแท็บ View แล้วติ๊กเครื่องหมายถูกออกที่ Hide extensions for known file types จากนั้นกดปุ่ม OK เป็นอันเสร็จสิ้นขั้นตอน

แบ่งปันสิ่งนี้บน

วิธีติดตั้งไลบรารี (Library) สำหรับ Arduino IDE

วิธีติดตั้งไลบรารี (Library) ให้กับโปรแกรม Arduino IDE ทำได้ 3 วิธีดังนี้

  1. ติดตั้งผ่าน Arduino IDE โดยใช้ Library Manager
  2. ติดตั้งผ่าน Arduino IDE โดยนำเข้าไฟล์ .zip
  3. ติดตั้งโดยนำไลบรารีไปวางไว้ในโฟลเดอร์ libraries

หมายเหตุ : วิธีติดตั้งแบบที่ 2 และแบบที่ 3 ต้องดาวน์โหลดไฟล์ไลบรารีมาไว้ในเครื่องก่อน

ติดตั้งผ่าน Arduino IDE โดยใช้ Library Manager

*** ข้อจำกัด : ไลบรารีที่จะติดตั้งด้วยวิธีนี้ จะต้องมีข้อมูลอยู่ในระบบ library index ของ arduino เท่านั้น ซึ่งหากไม่มีข้อมูลอยู่ในระบบ จะทำให้ค้นหาไลบรารีเพื่อติดตั้งไม่เจอ ***

คลิกที่เมนู Sketch > Include Library > Manage Libraries… เพื่อเปิด Library Manager

รอให้ Library Manager ดาวน์โหลด library index จนเสร็จ จึงจะเริ่มใช้งาน Library Manager ได้ (ช้าเร็วขึ้นอยู่กับความเร็วอินเทอร์เน็ต)

พิมพ์ชื่อไลบรารีที่ต้องการจะติดตั้ง เช่น พิมพ์คำว่า taskscheduler สำหรับการค้นหาไลบรารีชื่อ TaskScheduler

เมื่อเจอไลบรารีที่ต้องการจะติดตั้ง ให้คลิกปุ่ม Install จากนั้นรอจนกว่าไลบรารีนั้นจะถูกดาวน์โหลด และติดตั้งจนเสร็จ

ถ้าติดตั้งเสร็จแล้วจะขึ้นคำว่า INSTALLED ต่อท้ายชื่อไลบรารี (ช้าเร็วขึ้นอยู่กับความเร็วอินเทอร์เน็ต)

ติดตั้งผ่าน Arduino IDE โดยนำเข้าไฟล์ .zip

ดาวน์โหลดไลบรารีที่เป็นไฟล์ .zip มาไว้ในเครื่องคอมพิวเตอร์

คลิกที่เมนู Sketch > Include Library > Add .ZIP Library…

จากนั้นจะมีหน้าต่างย่อยแสดงขึ้นมา ให้เราเลือกไฟล์ไลบรารี .zip ที่เราเพิ่งดาวน์โหลดมา จากนั้นกดปุ่ม OK

เมื่อติดตั้งสำเร็จจะมีข้อความขึ้นมาว่า Library added to your libraries. Check “Include library” menu ตามรูปด้านล่าง

ติดตั้งโดยนำไลบรารีไปวางไว้ในโฟลเดอร์ libraries

ดาวน์โหลดไลบรารีที่เป็นไฟล์ .zip มาไว้ในเครื่องคอมพิวเตอร์

แตกไฟล์ .zip จนได้ออกมาเป็นโฟลเดอร์

ย้ายโฟลเดอร์ที่เพิ่งแตกไฟล์ออกมา ไปไว้ในโฟลเดอร์ libraries

ที่อยู่ของโฟลเดอร์ libraries สำหรับ Linux : /home/your_user/Arduino/libraries

ที่อยู่ของโฟลเดอร์ libraries สำหรับ Windows : C:\Users\your_user\Documents\Arduino\libraries

โดยสามารถตรวจเช็คตำแหน่งของโฟลเดอร์ที่จะนำไปวางได้โดยคลิกที่เมนู File > Preferences

เมื่อหน้าต่าง Preferences แสดงขึ้นมา ให้ดูที่ Sketchbook location นั่นคือตำแหน่งของโฟลเดอร์ที่เราจะนำไลบรารีไปวาง

วิธีดาวน์โหลดไลบรารีจาก GitHub

เข้าไปที่เว็บไซต์ GitHub ในหน้าหลักของโปรเจคไลบรารีที่เราจะดาวน์โหลด เช่น ไลบรารี TaskScheduler ก็เข้าไปที่ลิงค์ https://github.com/arkhipenko/TaskScheduler

หากใครไม่ทราบลิงค์ก็สามารถค้นหาได้จาก Google ด้วยคำค้น “github arduino ชื่อไลบรารี” เช่น “github arduino taskscheduler” หรือ “github arduino bounce2” เป็นต้น

เมื่อเข้าเว็บไซต์ GitHub ในหน้าหลักของโปรเจคไลบรารีได้แล้ว ให้คลิกปุ่ม Clone or download > Download ZIP ตามรูปด้านล่าง

เมื่อการดาวน์โหลดเสร็จสิ้น คุณจะได้ไฟล์ชื่อ library_name-master.zip

จากนั้นคุณสามารถนำไฟล์ .zip นี้ไปใช้ติดตั้งในขั้นตอนการติดตั้งไลบรารีโดยนำเข้าไฟล์ .zip ได้เลย

แต่ถ้าหากคุณจะนำไปใช้ในขั้นตอนการติดตั้งโดยนำไลบรารีไปวางไว้ในโฟลเดอร์ libraries คุณต้องแตกไฟล์ .zip ก่อน

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

สอนใช้ Arduino เช็คสถานะปุ่มกด (Push Button) หรือสวิทช์ (Switch)

ปุ่มกด (Push Button) หรือสวิทช์ (Switch) เป็นอุปกรณ์พื้นฐานที่ใช้กันทั่วไปในหลายๆ โปรเจค เพื่อเชื่อมจุด 2 จุดในวงจรให้ถึงกัน มักใช้เพื่อรับข้อมูลจากผู้ใช้ เช่น เมื่อผู้ใช้กดปุ่มให้อุปกรณ์ที่ต่อพ่วงเริ่มทำงาน หรืออาจจะรับสัญญาณจากกลไกต่างๆ เช่น เมื่อวัตถุเคลื่อนที่มาถึงลิมิตสวิทช์ (Limit Switch) ให้เครื่องจักรหยุดทำงาน เป็นต้น นอกจากนี้ยังสามารถใช้ความรู้นี้ไปประยุกต์ต่อกับเซ็นเซอร์ (Sensor) บางประเภทได้อีกด้วย แต่อย่างไรก็ตามในบทความนี้จะเน้นไปที่การใช้สวิทช์กดแบบธรรมดาครับ

อุปกรณ์ที่ต้องใช้

  • x1 บอร์ด Arduino (หรือบอร์ดอื่นๆ ที่คล้ายกัน)
  • x1 สวิทช์ (Switch)
  • x1 ตัวต้านทาน (Resistor) 4.7 – 10K kΩ (ค่าใดก็ได้)
  • x1 สายไฟจั๊มเปอร์
  • x1 บอร์ดทดลอง (Breadboard)

วิธีต่อวงจร

เราจะต่อสวิทช์เพื่อใช้งานกับ Arduino โดยใช้การต่อวงจรที่เรียกว่า Pull-Up Resistor หรือ Pull-Down Resistor อย่างใดก็ได้ เพื่อป้องกันไม่ให้ขา Input อยู่ในสถานะ Floating จนอ่านค่าจากขา Input มาใช้งานไม่ได้

*** Floating เป็นสถานะที่ขา Input ของ MCU ไม่ได้ต่ออยู่กับ VCC หรือ GND อย่างใดอย่างหนึ่งเลย ทำให้เมื่ออ่านค่าจากขา Input นั้น จะได้ค่าออกมาในลักษณะสุ่มระหว่าง LOW และ HIGH แบบไม่สามารถคาดเดาได้ ***

โดยความแตกต่างในด้านการใช้งานของทั้ง 2 วงจรนี้ คือ

  • Pull-Up Resistor
    • ไม่ได้กดปุ่ม จะอ่านค่าได้เป็น HIGH
    • กดปุ่ม จะอ่านค่าได้เป็น LOW
  • Pull-Down Resistor
    • ไม่ได้กดปุ่ม จะอ่านค่าได้เป็น LOW
    • กดปุ่ม จะอ่านค่าได้เป็น HIGH

ตรงจุดนี้สามารถเลือกใช้ได้ตามความเหมาะสมนะครับ ว่าอยากได้สถานะตอนกดปุ่มเป็น HIGH หรือเป็น LOW ส่วนการต่อวงจรก็ตามภาพด้านล่างเลยครับ

Internal Pull-Up Resistor

นอกเหนือจากการต่อวงจร 2 แบบที่ได้อธิบายไว้ด้านบนแล้ว บอร์ด Arduino หรือบอร์ดอื่นๆ ที่คล้ายกันบางบอร์ด เขาก็ได้ติดตั้งวงจร Pull-Up Resistor มาให้เราในตัวบอร์ดแล้ว (เรียกว่า Internal Pull-Up Resistor) โดยที่เราไม่ต้องหาตัวต้านทานจากภายนอกมาต่อเพิ่ม มีแค่สวิทช์อย่างเดียวเราก็สามารถต่อวงจรใช้งานได้แล้ว วิธีการต่อวงจรทำได้โดยต่อขาด้านหนึ่งของสวิทช์เข้ากับขา Input ส่วนขาอีกด้านหนึ่งต่อเข้ากับ GND ซึ่งคล้ายกับการต่อ Pull-Up Resistor แบบปกติ แต่ต่างกันตรงที่ Resistor ถูกต่อแบบ Pull-Up มาให้ในตัวบอร์ดเรียบร้อยแล้ว

โค้ดโปรแกรมอย่างง่าย (เพื่อความเข้าใจ)

ตัวอย่างนี้จะเป็นโค้ดโปรแกรมอย่างง่ายที่สุด สำหรับอ่านค่าจากขา Input (ในที่นี้เป็นขา 2) และเมื่ออ่านค่าจากขา Input ได้เป็น HIGH ไฟที่ LED ติด แต่ถ้าอ่านค่าได้เป็น LOW ไฟที่ LED ดับ (ในที่นี้ใช้ built-in LED ของ Arduino UNO ซึ่งอยู่ที่ขา 13)

โดยโค้ดนี้ใช้ได้กับทั้งวงจร Pull-Up Resistor และ Pull-Down Resistor ซึ่งให้ผลลัพธ์การทำงานที่แตกต่างกันดังนี้

  • Pull-Up Resistor หรือ Internal Pull-Up Resistor

    • ไม่ได้กดปุ่ม จะอ่านค่าได้เป็น HIGH (ไฟที่ LED ติด)
    • กดปุ่ม จะอ่านค่าได้เป็น LOW (ไฟที่ LED ดับ)
  • Pull-Down Resistor
    • ไม่ได้กดปุ่ม จะอ่านค่าได้เป็น LOW (ไฟที่ LED ดับ)
    • กดปุ่ม จะอ่านค่าได้เป็น HIGH (ไฟที่ LED ติด)

หมายเหตุ : หากต้องการใช้งาน Internal Pull-Up Resistor ให้แทนที่คำสั่ง pinMode(buttonPin, INPUT) ด้วย pinMode(buttonPin, INPUT_PULLUP)

โค้ดโปรแกรมแบบใช้ไลบรารี Bounce2 (เพื่อใช้งานจริง)

โค้ดโปรแกรมก่อนหน้าเป็นเพียงการใช้งานฟังก์ชั่น digitalRead() อ่านค่าแบบธรรมดาๆ ไม่ได้ป้องกันการ bounce ของสวิทช์เอาไว้เลย ซึ่งอาจก่อให้เกิดปัญหาขณะใช้งานจริงได้

วิธีแก้ไขคือ เราต้องเขียนโค้ดโปรแกรมเพื่อ debounce โดยผมแนะนำให้ใช้ไลบรารีชื่อ Bounce2 เพื่อให้โค้ดโปรแกรมของเราบำรุงรักษาได้ง่าย และง่ายต่อการนำกลับมาใช้ซ้ำในโปรเจคอื่นๆ (สามารถศึกษาวิธีติดตั้งไลบรารีได้ที่นี่)

***  การ bounce ของสวิทช์ คือการสั่นของสวิทช์ ทำให้เกิดสัญญาณดิจิตอลไปที่ขา Input หลายครั้งในการกดสวิทช์เพียงครั้งเดียว จนส่งผลให้ระบบทำงานผิดพลาดเนื่องจากระบบจะเข้าใจว่าสวิทช์ถูกกดหลายครั้งนั่นเอง ส่วนการป้องกันการ bounce เราจะถูกเรียกว่าการ debounce ***

ตัวอย่างโค้ดโปรแกรมเมื่อใช้งานไลบรารี Bounce2

สรุป

  • การต่อสวิทช์เพื่อใช้งานกับ Arduino หรือไมโครคอนโทรลเลอร์ (MCU) จำเป็นต้องต่อวงจรแบบ Pull-Up Resistor หรือ Pull-Down Resistor เพื่อป้องกันไม่ให้ขา Input อยู่ในสถานะ Floating จนอ่านค่ามาใช้งานไม่ได้
  • บอร์ดบางตัวจะติดตั้ง Pull-Up Resistor มาให้แล้วในตัวบอร์ดเรียบร้อยแล้ว (เรียกว่า Internal Pull-Up Resistor) แปลว่าเราสามารถใช้งานวงจรแบบ Pull-Up Resistor ได้ทันทีโดยที่ไม่ต้องต่อ Resistor เพิ่มจากภายนอก
  • การเขียนโค้ดโปรแกรมเพื่อ debounce แนะนำให้ใช้ไลบรารีแทนการเขียนด้วยตัวเอง เพราะบำรุงรักษาง่ายกว่า และนำไปใช้ซ้ำในโปรเจคอื่นได้ง่ายกว่า
  • การ debounce ด้วยการต่อวงจรก็สามารถทำได้ เพียงแต่ไม่ได้ถูกพูดถึงในบทความนี้ครับ

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

สอน Arduino – อธิบายโปรแกรมไฟกระพริบ

บทความนี้ผมจะอธิบายถึงวิธีการเขียนโค้ดโปรแกรม หรือเขียนโปรแกรมเพื่อสั่งงานบอร์ด Arduino สำหรับผู้เริ่มต้น โดยอธิบายผ่านโปรแกรมไฟกระพริบ ซึ่งโค้ดในบทความนี้สามารถเขียนโปรแกรม คอมไพล์ และอัปโหลดโปรแกรมลงบอร์ดด้วย Arduino IDE และหากใครยังไม่เคยใช้โปรแกรม Arduino IDE มาก่อน ให้ตามไปอ่านวิธีใช้งานเบื้องต้นได้ที่บทความ “วิธีใช้งานโปรแกรม Arduino IDE เบื้องต้น” เพื่อความเข้าใจครับ

ฟังก์ชั่นหลักของโค้ดโปรแกรม Arduino

โค้ดโปรแกรมสำหรับ Arduino จะประกอบไปด้วยฟังก์ชั่นหลัก 2 ฟังก์ชั่น คือฟังก์ชั่น setup() และ ฟังก์ชั่น loop()

  • ฟังก์ชั่น setup() จะเริ่มทำงานเป็นอันดับแรกทันทีที่ Arduino เริ่มทำงาน และคำสั่งที่ถูกเขียนลงไปในนี้ จะทำงานเพียงครั้งเดียวเท่านั้น
  • ฟังก์ชั่น loop() จะเริ่มทำงานทันทีเมื่อฟังก์ชั่น setup() ทำงานเสร็จ และคำสั่งที่ถูกเขียนลงไปในนี้ จะทำงานตั้งแต่คำสั่งแรก ไล่ไปจนถึงคำสั่งสุดท้าย แล้วกลับมาทำงานที่คำสั่งแรก ไล่ไปจนถึงคำสั่งสุดท้าย วนซ้ำแบบนี้ไปเรื่อยๆ ตลอดการทำงานของ Arduino

เริ่มเขียนโปรแกรมที่ฟังก์ชั่น setup

ฟังก์ชั่น setup() จะทำงานเพียงแค่ครั้งเดียวทันทีที่ Arduino เริ่มทำงาน ดังนั้นโค้ดที่จะถูกเขียนลงไปในฟังก์ชั่นนี้ มักจะเป็นโค้ดสำหรับกำหนดโหมด Input/Output ให้กับ pin โดยใช้ฟังก์ชั่น pinMode() หรือมักจะเป็นโค้ดที่กำหนดค่าเริ่มต้นเพื่อใช้งานไลบรารี่ต่างๆ เช่น Serial.begin(), WiFi.begin() หรือ Servo.attach() เป็นต้น ซึ่งเป็นโค้ดที่ไม่มีความจำเป็นต้องทำงานซ้ำ

ตัวอย่างเช่น โค้ดด้านล่างนี้จะกำหนด pin หมายเลข 13 ให้อยู่ในโหมด Output ทันทีที่ Arduino เริ่มทำงาน และ pin หมายเลข 13 จะอยู่ในโหมด Output ไปตลอดการทำงานของ Arduino

เขียนโปรแกรมกันต่อที่ฟังก์ชั่น loop

ฟังก์ชั่น loop() จะทำงานทันทีที่ฟังก์ชั่น setup() ทำงานจบ และโค้ดในฟังก์ชั่น loop() ก็จะถูกทำงานซ้ำไปเรื่อยๆ ตลอดการทำงานของ Arduino ซึ่งโค้ดโปรแกรมส่วนใหญ่ ที่มีผลต่อการทำงานของ Arduino จะถูกเขียนลงไปในฟังก์ชั่น loop() นี้ เช่นโค้ดสำหรับรับข้อมูลจากปุ่มกด, สั่งเปิดปิดไฟ, แสดงผลออกจาก LCD หรือแม้กระทั่งการอ่านข้อมูลจากเซ็นเซอร์ต่างๆ ก็ตาม

ตัวอย่างโค้ดไฟกระพริบสำหรับ Arduino UNO

อธิบายการทำงานของโปรแกรม

โปรแกรมจะเริ่มทำงานที่ฟังก์ชั่น setup() ซึ่งมีคำสั่งเดียวคือ pinMode(13, OUTPUT) นั่นคือกำหนด pin หมายเลข 13 ให้อยู่ในโหมด Output

เมื่อทำเสร็จแล้วก็จบการทำงานที่ฟังก์ชั่น setup() และเริ่มทำงานต่อที่ฟังก์ชั่น loop() ทันที และไล่ทำไปทีละคำสั่ง ตั้งแต่คำสั่งแรก ไล่ทำไปจนคำสั่งสุดท้าย และเมื่อทำคำสั่งสุดท้ายจบก็จะกลับไปทำงานคำสั่งแรกใหม่ เช่น

  1. digitalWrite(13, HIGH)       built-in LED ไฟติด
  2. delay(1000)                         หยุดการทำงาน 1000 มิลลิวินาที (1 วินาที)
  3. digitalWrite(13, LOW)        built-in LED ไฟดับ
  4. delay(1000)                         หยุดการทำงาน 1000 มิลลิวินาที (1 วินาที)
  5. digitalWrite(13, HIGH)       built-in LED ไฟติด
  6. delay(1000)                         หยุดการทำงาน 1000 มิลลิวินาที (1 วินาที)
  7. digitalWrite(13, LOW)        built-in LED ไฟดับ
  8. delay(1000)                         หยุดการทำงาน 1000 มิลลิวินาที (1 วินาที)
  9. digitalWrite(13, HIGH)       built-in LED ไฟติด
  10. ….
  11. ….

ผลการทำงานก็คือ built-in LED จะไฟติด และติดค้างไว้นาน 1 วินาที จากนั้นก็จะไฟดับ และดับค้างไว้นาน 1 วินาที ซ้ำแบบนี้ไปเรื่อยๆ จนเกิดเป็นไฟกระพริบแบบที่เห็นครับ

หมายเหตุ : ในบอร์ด Arduino UNO pin หมายเลข 13 จะถูกพ่วงกับ built-in LED (LED ที่ติดมากับบอร์ด) ดังนั้นหากเรากำหนด pin หมายเลข 13 ให้เป็น HIGH แปลว่าไฟที่ built-in LED ก็จะติด ส่วนในบอร์ดอื่นๆ built-in LED อาจพ่วงอยู่กับ pin หมายเลขอื่นๆ ได้เช่นกันครับ ตรงนี้ก็ต้องอ่านคู่มือบอร์ดนั้นๆ กันเอาเอง

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีปิดเสียงแอป Facebook สำหรับ Android

วันนี้ผมมีวิธีปิดเสียงแอป Facebook บนมือถือ Android มาฝากกันครับ อาจจะเพื่อเพิ่มความเป็นส่วนตัวขณะใช้งาน หรืออาจจะแค่อยากใช้แอปแบบเงียบๆ อันนี้ก็แล้วแต่เหตุผลของแต่ละคนครับ

ส่วนเสียงในแอปที่สามารถปิดได้ ได้แก่ เสียง Like, เสียง Comment, เสียงแจ้งเตือน และเสียงวิดีโอในฟีดข่าวที่ถูกเล่นโดยอัตโนมัติครับ

วิธีเข้าไปที่หน้าการตั้งค่า

  • แตะที่ (เพิ่มเติม) > การตั้งค่าและความเป็นส่วนตัว > การตั้งค่า

วิธีปิดเสียงแจ้งเตือน Facebook

  • ไปที่หน้า “การตั้งค่า”
  • แตะที่ การตั้งค่าการแจ้งเตือน > พุช > เสียง เพื่อปิดเสียงแจ้งเตือน

วิธีปิดเสียง Like, Comment และเสียงของวิดีโอในฟีดข่าว

  • ไปที่หน้า “การตั้งค่า”
  • แตะที่ “สื่อและผู้ติดต่อ”
  • แตะที่ “เสียงในแอพ” เพื่อปิดเสียง Like, Comment
  • แตะที่ “วิดีโอในฟีดข่าวจะเริ่มเล่นโดยมีเสียง” เพื่อปิดเสียงวีดีโอที่เล่นเองอัตโนมัติ

แบ่งปันสิ่งนี้บน

วิธีใช้งานโปรแกรม Arduino IDE เบื้องต้น

Arduino IDE คือโปรแกรมสำหรับใช้เขียนโปรแกรม, คอมไพล์ และอัปโหลดโปรแกรมลงบอร์ด Arduino หรือบอร์ดตัวอื่นๆ ที่คล้ายกัน เช่น Generic ESP8266 modules, NodeMCU หรือ WeMos D1 เป็นต้น

แนวคิดการใช้งานโปรแกรม Arduino IDE

  1. เขียนโปรแกรมด้วยภาษา C/C++ สำหรับ Arduino
  2. คอมไพล์หรือแปลโปรแกรมภาษา C/C++ ให้เป็นภาษาสำหรับไมโครคอนโทรลเลอร์และบันทึกเป็น Intel Hex File
  3. อัปโหลด Intel Hex File ลงบนไมโครคอนโทรลเลอร์ซึ่งอยู่บนบอร์ด Arduino ผ่านสาย USB หรือผ่าน Programmer

วิธีใช้งานโปรแกรม Arduino IDE อย่างง่าย

1. เปิดโปรแกรม Arduino IDE ขึ้นมา

2. สร้าง Sketch ใหม่ โดยคลิ๊กที่เมนู File > New

** หมายเหตุ : โปรแกรมที่ถูกเขียนด้วย Arduino IDE จะถูกเรียกว่า Sketch ครับ **

3. เขียนโปรแกรมลงไปตรงพื้นที่สีขาวๆ ครับ ซึ่งการเขียนโปรแกรมสำหรับ Arduino จะประกอบไปด้วยฟังก์ชั่น setup และ ฟังก์ชั่น loop ซึ่งมีความหมายดังนี้

  • ฟังก์ชั่น setup จะเริ่มทำงานเป็นอันดับแรกเมื่อ Arduino เริ่มทำงาน และคำสั่งที่ถูกเขียนลงไปในนี้ จะทำงานเพียงครั้งเดียวเท่านั้น
  • ฟังก์ชั่น loop จะเริ่มทำงานทันทีเมื่อฟังก์ชั่น setup ทำงานเสร็จ และคำสั่งที่ถูกเขียนลงไปในนี้ จะทำงานตั้งแต่คำสั่งแรก ไล่ไปจนถึงคำสั่งสุดท้าย แล้วกลับมาที่คำสั่งแรก ไล่ไปจนถึงคำสั่งสุดท้าย วนซ้ำแบบนี้ไปเรื่อยๆ ตลอดการทำงานของ Arduino

4. เมื่อเขียนโปรแกรมเสร็จแล้วให้บันทึกเก็บไว้โดยคลิ๊กที่เมนู File > Save จากนั้นจะมีหน้าต่างขึ้นมาให้เราเลือกว่าจะบันทึกไว้ที่ไหน และจะตั้งชื่อ Sketch ว่ายังไง ตรงนี้ก็แล้วแต่เราจะตั้งชื่อครับ

เมื่อทำถูกต้องที่ Tittle bar จะแสดงชื่อ Sketch ตามที่เราได้ตั้งชื่อไปตอนบันทึกครับ

5. ต่อบอร์ด Arduino เข้ากับคอมพิวเตอร์ผ่านสาย USB (แนะนำให้ต่อครั้งละ 1 บอร์ดป้องกันการสับสน)

6. ตั้งค่าเพื่อบอก Arduino IDE ว่าเราจะอัปโหลดโปรแกรมให้กับบอร์ดรุ่นอะไร และอัปโหลดผ่าน Port ไหน

6.1. คลิ๊กที่เมนู Tools > Board เลือกบอร์ด Arduino ให้ตรงกับรุ่นที่เราต่อใช้งานอยู่

6.2. คลิ๊กที่เมนู Tools > Port ตรงนี้ถ้าเราต่อไว้แค่บอร์ดเดียว, ติดตั้ง Driver ไว้แล้ว และบอร์ดไม่ได้เสีย จะมีรายการขึ้นมาให้เลือกแค่รายการเดียวครับ (Winows จะแสดงเป็น COMx ส่วน Linux จะแสดงเป็น /dev/ttyUSBx หรือ /dev/ttyACMx)

7. คลิ๊กปุ่มอัปโหลด หรือจะคลิ๊กที่เมนู Sketch > Upload ก็ได้ (ปุ่มนี้จะคอมไพล์ + อัปโหลดในขั้นตอนเดียว)

หากเขียนโปรแกรมถูกต้อง และไม่ได้มีปัญหาระหว่างการอัปโหลด จะมีข้อความขึ้นว่า Done uploading และจะมีข้อความรายงานเป็นข้อความสีขาวๆ

หรือหากเขียนโปรแกรมผิดจะแสดงเป็นข้อความสีส้มๆ ที่เมื่อแปลข้อความแล้วก็พอจะสามารถเดาได้ว่าเราเขียนโปรแกรมผิดตรงจุดไหน เช่น เคสนี้ “expected ‘;’ before ‘}’ token” แปลว่า ลืมพิมพ์ ; ก่อนเครื่องหมายปีกกา } เป็นต้นครับ

หรือหากมีปัญหาระหว่างการอัปโหลด ก็จะมีข้อความขึ้นว่า Problem uploading to board.  ซึ่งปัญหาอาจเกิดขึ้นได้จากหลายปัจจัย แนะนำให้เข้าไปศึกษาวิธีแก้ปัญหาได้ที่ https://www.arduino.cc/en/Guide/Troubleshooting#upload

นี่ก็เป็นวิธีการใช้งาน Arduino IDE แบบคร่าวๆ ครับ หวังว่าจะเป็นประโยชน์กับผู้อ่านทุกท่านนะครับ

ข้อมูลเพิ่มเติม

 

แบ่งปันสิ่งนี้บน

วิธีทำให้ AliExpress.com แสดงราคาสินค้าเป็นเงินบาทบน Chrome และ Firefox

ใครที่ชอบสั่งซื้อสินค้าผ่านเว็บไซต์ AliExpress.com อาจจะพบกับปัญหาว่าไม่สามารถตั้งค่าให้แสดงราคาสินค้าเป็นเงินบาทได้ ทำให้เวลาช้อปปิ้งต้องลำบากมาคำนวณเองทีละรายการ ซึ่งผมว่ามันไม่สะดวกเอาซ๊ะเลย ผมจึงได้ติดต่อกับเจ้าหน้าที่ของ AliExpress.com ผ่านทาง Contact Customer Service และได้รับการยืนยันแล้วว่าเว็บไซต์ AliExpress.com ไม่สามารถตั้งให้แสดงราคาสินค้าเงินบาทได้ และเจ้าหน้าที่ก็บอกว่าจะบันทึกข้อมูลไว้ว่ามีผู้ใช้ร้องขอเข้ามาเรื่องการแสดงเงินบาท และอาจจะเพิ่มความสามารถนี้ให้ในอนาคต (ส่วน app บน Android สามารถแสดงเงินบาทได้อยู่แล้ว) ซึ่งนับตั้งแต่ผมติดต่อไปก็น่าจะเกิน 1 เดือนแล้ว แต่ก็ยังไม่มีความสามารถนี้เพิ่มเข้ามาในเว็บไซต์ AliExpress.com เลย

ผมจึงได้ตัดสินใจพัฒนาส่วนขยาย Chrome และ Firefox สำหรับแสดงราคาสินค้าบนเว็บไซต์ AliExpress.com ให้เป็นเงินบาท ขึ้นมาใช้แก้ขัดไปก่อน จนว่าเว็บไซต์ AliExpress.com จะมีความสามารถในการแสดงราคาสินค้าเป็นเงินบาทอย่างเป็นทางการ

 คุณสมบัติทั่วไปของส่วนขยาย

  • แก้ไขการแสดงผลราคาสินค้าบนเว็บไซต์ AliExpress.com จาก US $xx.xx เป็น xx.xx บาท โดยคำนวณจากอัตราแลกเปลี่ยน
  • รองรับการแสดงผลเงินบาทแบบค่อนข้างสมบูรณ์ที่ URL ต่อไปนี้เท่านั้น
    • aliexpress.com (หน้าหลัก)
    • aliexpress.com/category (หน้าสินค้าตามหมวดหมู่)
    • aliexpress.com/wholesale (หน้าแสดงผลจากการค้นหา)
    • aliexpress.com/item (หน้าแสดงสินค้าแบบเดี่ยวๆ)
    • shoppingcart.aliexpress.com/shopcart/ (หน้าตะกร้าสินค้า)
    • my.aliexpress.com/wishlist (หน้าสินค้าที่ถูกเพิ่มลงใน Wish List)
    • flashdeals.aliexpress.com (หน้า Flash Deals)
    • aliexpress.com/store (หน้าร้านค้า โดยหน้าหลักจะแปลงเฉพาะหน้าที่เป็นรูปแบบมาตรฐาน)
    • sale.aliexpress.com (หน้าสินค้าลดราคา)
    • trade.aliexpress.com/orderList.htm (หน้าแสดงรายการสั่งซื้อ)
  • ยกเว้นการแสดงผลเป็นเงินบาทที่หน้าชำระเงิน shoppingcart.aliexpress.com/order เพื่อป้องกันปัญหาจากการคำนวณผิดพลาด และให้โอกาสผู้ใช้งานได้ตรวจสอบราคาด้วยตัวเองอีกครั้ง
  • สามารถอัปเดตอัตราแลกเปลี่ยนให้เป็นปัจจุบันได้

วิดีโอแสดงการติดตั้ง และการใช้งานเบื้องต้น

วิธีติดตั้ง

สำหรับ Chrome

  1. เปิดเว็บไซต์นี้ด้วย Chrome
  2. คลิกปุ่ม Add to Chrome

สำหรับ Firefox

  1. เปิดเว็บไซต์นี้ด้วย Firefox
  2. คลิกปุ่ม Add to Firefox

วิธีปิดการใช้งานชั่วคราวและวิธีเปิดการใช้งาน

สำหรับ Chrome และ Firefox

  1. คลิกที่ไอคอน Replace USD with THB for AliExpress.com ที่ toolbar ขวามือบน
  2. เมื่อไอคอนเปลี่ยนเป็นสีเทา หมายความว่า ส่วนขยายถูกปิดใช้งานชั่วคราว
  3. เมื่อไอคอนเปลี่ยนเป็นสีแดง หมายความว่า ส่วนขยายถูกเปิดใช้งานปกติ

วิธีอัปเดตอัตราแลกเปลี่ยน

สำหรับ Chrome

  1. คลิกขวาที่ไอคอน Replace USD with THB for AliExpress.com ที่ toolbar ขวามือบน
  2. คลิกเมนู Options
  3. คลิกปุ่ม Update

สำหรับ Firefox

  1. คลิกขวาที่ไอคอน Replace USD with THB for AliExpress.com ที่ toolbar ขวามือบน
  2. คลิกเมนู Manage Extension
  3. คลิกปุ่ม Update

วิธีถอนการติดตั้ง

สำหรับ Chrome

  1. คลิกขวาที่ไอคอน Replace USD with THB for AliExpress.com ที่ toolbar ขวามือบน
  2. คลิกเมนู Remove from Chrome…

สำหรับ Firefox

  1. คลิกขวาที่ไอคอน Replace USD with THB for AliExpress.com ที่ toolbar ขวามือบน
  2. คลิกเมนู Manage Extension
  3. คลิกปุ่ม Remove

ปัญหาและแนวทางแก้ไข

  • หากพบปัญหาสามารถแจ้งเข้ามาได้ทาง Facebook Messenger

แบ่งปันสิ่งนี้บน

อธิบายคำสั่ง chmod บน Linux

chmod เป็นคำสั่งบน Linux ที่ใช้สำหรับกำหนดสิทธิ์ read, write หรือ execute ให้กับ file หรือ directory ว่าจะให้มีสิทธิ์ใช้งานแบบไหน และใช้งานโดยใครได้บ้าง

หลายๆ ท่านอาจจะเคยเจอคำสั่ง chmod 644, chmod 755 หรือ chmod 777 อะไรทำนองนี้ วันนี้เรามาดูกันครับ ว่ามันมีความหมายอย่างไร

เริ่มกันที่คำสั่ง ls -l

ก่อนจะพูดถึงคำสั่งที่ใช้สำหรับกำหนดสิทธิ์ เรามาดูกันที่คำสั่งสำหรับแสดงสิทธิ์กันก่อนครับ โดยคำสั่งที่เราจะใช้คือ คำสั่ง ls -l ที่จะช่วยให้คุณทราบว่า file หรือ directory นั้นใครเป็นเจ้าของ และ file หรือ directory นั้นถูกกำหนดสิทธิ์ไว้อย่างไร โดยผลลัพธ์ของคำสั่ง ls -l จะหน้าตาเป็นแบบนี้ครับ

-rwxrwx— 1 user group 1293 Jun 3 20:34 file_name

drw-rw-rw- 1 user group 4096 Jun 3 20:34 dir_name

ซึ่งผลลัพธ์ที่ว่านี้จะบอกเราว่ารายการไหนเป็น file หรือ directory, มีสิทธิ์ read, write หรือ execute โดย user และ group ไหนบ้าง, file มีขนาดเท่าไหร่, ถูกแก้ไขล่าสุดตอนไหน, file หรือ directory นั้นมีชื่อว่าอะไร ซึ่งผลลัพธ์แต่ละ column มีความหมายดังนี้

column1 บอกว่าเป็น file (-) หรือ directory (d) พร้อมทั้งบอกสิทธิ์การ read, write และ execute

column2 แสดงจำนวน hard link ของไฟล์ หรือ แสดงจำนวน subdirectory

column3 แสดงชื่อ user ที่เป็นเจ้าของ file หรือ directory

column4 แสดงชื่อ group ที่เป็นเจ้าของ file หรือ directory

column5 แสดงขนาดของ file มีหน่วยเป็น byte หรือหากเป็น directory จะแสดงเป็น 4096

column6 แสดงวันที่ และเวลาที่แก้ไขล่าสุด

column7 แสดงชื่อของ file หรือ directory

ซึ่งในบทความนี้เราจะให้ความสนใจไปที่ column 1, 3 และ 4 ครับ

อธิบาย Column1 -rwxrwxrwx

-rwxrwxrwx จะแบ่งออกได้เป็น 4 ส่วนดังนี้

– | rwx | rwx | rwx

ส่วนที่1 บอกกว่าเป็น file หรือ directory โดยจะแสดง เมื่อเป็น file และจะแสดง d เมื่อเป็น directory

ส่วนที่2 บอกสิทธิ์การ read, write และ execute ของ user ที่เป็นเจ้าของ file/directory

ส่วนที่3 บอกสิทธิ์การ read, write และ execute ของ group ที่เป็นเจ้าของ file/directory

ส่วนที่3 บอกสิทธิ์การ read, write และ execute ของ other หรือ user อื่นๆ ที่ไม่ใช่เจ้าของ file/directory และไม่ได้อยู่ใน group

ตัวอย่าง และความหมาย

-rwx—— แบ่งเป็น -|rwx|—|—

  • – = เป็น file
  • rwx = user สามารถ read write execute ได้
  • — = group ไม่สามารถ read write execute ได้
  • — = other ไม่สามารถ read write execute ได้

-rw-rw—- แบ่งเป็น -|rw-|rw-|—

  • – = เป็น file
  • rw- = user สามารถ read write ได้, แต่ไม่สามารถ execute
  • rw- = group สามารถ read write ได้, แต่ไม่สามารถ execute
  • — = other ไม่สามารถ read write execute ได้

-rwxrwxr-x แบ่งเป็น -|rwx|rwx|r-x

  • – = เป็น file
  • rwx = user สามารถ read write execute ได้
  • rwx = group สามารถ read write execute ได้
  • r-x = other สามารถ read execute ได้, แต่ไม่สามารถ write

drw-rw-r– แบ่งเป็น d|rw-|rw-|r–

  • d = เป็น directory
  • rw- = user สามารถ read write ได้, แต่ไม่สามารถ execute
  • rw- = group สามารถ read write ได้, แต่ไม่สามารถ execute
  • r– = other สามารถ read ได้, แต่ไม่สามารถ write และ execute

drwxrwxr-x แบ่งเป็น d|rwx|rwx|r-x

  • d = เป็น directory
  • rwx = user สามารถ read write execute ได้
  • rwx = group สามารถ read write execute ได้
  • r-x = other สามารถ read execute ได้, แต่ไม่สามารถ write

ความเกี่ยวข้องของ rwxrwxrwx และ ตัวเลข 644 755 777 ฯลฯ

หลังจากที่เราเข้าใจกันไปแล้วว่า rwxrwxrwx เราสามารถแบ่งได้เป็นสิทธ์ของ user, group และ other ซึ่งนับได้ 3 กลุ่ม ซึ่งเท่ากับจำนวนตัวเลขของเราที่มี 3 ตัวพอดีครับ นั่นคือตัวเลขแต่ละตัว บ่งบอกสิทธิ์ของแต่ละกลุ่มนั่นเอง

วิธีการแปลง rwxrwxrwx เป็นตัวเลข

เราจะแทนค่า rwx ด้วยตัวเลขดังนี้ r=4, w=2, x=1, -=0 เช่น

rwx——

=[rwx][—][—]

=[4+2+1][0+0+0][0+0+0]

=700

-rw-rw—-

=[rw-][rw-][—]

=[4+2+0][4+2+0][0+0+0]

=660

rwxrwxr-x

=[rwx][rwx][r-x]

=[4+2+1][4+2+1][4+0+1]

=775

rw-rw-r–

=[rw-][rw-][r–]

=[4+2+0][4+2+0][4+0+0]

=664

การใช้คำสั่ง chmod

หนึ่งในรูปแบบการใช้คำสั่ง chmod ที่เราคุ้นเคยกัน ได้แก่ การใช้คำสั่ง chmod ที่ตามด้วยตัวเลข 3 ตัว เช่น

หรือใช้สัญลักษณ์ user, group, other, read, write, execute ดังนี้ก็สะดวกดีครับ

ตัวอย่าง

ตัวอย่างที่ 1. กำหนดให้ทุก user สามารถ read, write, execute ได้

หรือ

ตัวอย่างที่ 2. กำหนดให้ user ที่เป็นเจ้าของ และ user ที่อยู่ใน group สามารถ read, write, execute ได้ ส่วน user อื่นๆ กำหนดให้ไม่มีสิทธิ์ใดๆ

หรือ

ตัวอย่างที่ 3. กำหนดให้ user ที่เป็นเจ้าของสามารถ read, write, execute ได้ ส่วน user ใน group สามารถ read, execute ได้ ส่วน user อื่นๆ กำหนดให้ไม่มีสิทธิ์ใดๆ

หรือ

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีตั้งค่า Arduino IDE ให้รองรับ ESP8266 และ NodeMCU

เมื่อเราติดตั้ง Arduino IDE เสร็จใหม่ๆ ตัวโปรแกรมจะยังไม่รองรับ ESP8266 และ NodeMCU

เราจำเป็นต้องติดตั้งแพคเกจ esp8266 ผ่าน Boards Manager เสียก่อน โดยมีขั้นตอนการติดตั้งง่ายๆ เพียงไม่กี่ขั้นตอนเท่านั้นครับ

หมายเหตุ: การติดตั้งแพคเกจ esp8266 จะทำให้ Arduino IDE รู้จักกับ Generic ESP8266 และบอร์ดอื่นๆ ที่พัฒนามาจาก ESP8266 ด้วย เช่น NodeMCU, ESPresso Lite, SparkFun ESP8266 Thing, WeMos D1, ESPino และอื่นๆ

ขั้นตอนการติดตั้งแพคเกจ esp8266 ให้ Arduino IDE

1. ที่โปรแกรม Arduino IDE ไปที่เมนู File > Preferences

2. ที่หน้าต่าง Preferences คลิ๊กที่ไอคอนด้านขวามือของ Additional Boards Manager URLs:

3. ที่หน้าต่าง Additional Boards Manager URLs เพิ่ม URL ด้านล่างนี้ลงไป (ถ้ามี URL อื่นอยู่แล้ว ให้เพิ่ม URL ไปที่บรรทัดใหม่ครับ) จากนั้นกดปุ่ม OK

4. ที่หน้าต่าง Preferences กดปุ่ม OK อีกครั้งเพื่อบันทึกการตั้งค่า

5. ที่โปรแกรม Arduino IDE ไปที่เมนู Tools > Board > Boards Manager…

6. ที่หน้าต่าง Boards Manager ตรงช่องค้นหาให้พิมพ์คำค้นหาว่า esp8266 และเมื่อเจอผลลัพธ์ให้คลิ๊กเลือกที่ esp8266 by ESP8266 Community จากนั้นคลิ๊กปุ่ม Install และรอจนมีข้อความขึ้นว่า INSTALLED จากให้กดปุ่ม Close เป็นอันเสร็จสิ้นขั้นตอนการติดตั้งครับ

เมื่อคุณติดตั้งเสร็จแล้ว คุณสามารถตรวจเช็คดูว่า Arduino IDE ของคุณรองรับ ESP8266 แล้วหรือยัง โดยคลิ๊กที่เมนู Tools > Board และลองเลื่อนดูว่ามี Generic ESP8266 และบอร์ดอื่นๆ ที่พัฒนามาจาก ESP8266 ปรากฏขึ้นมาแล้วหรือยังครับ

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน