วันอังคารที่ 9 พฤษภาคม พ.ศ. 2560

เปรียบเทียบสตริงใน C

ยอมรับสารภาพเลยว่าเลิกเขียนโปรแกรมภาษา C ในอดีตเมื่อหลายปีก่อนก็เพราะการเปรียบเทียบสตริงนี่แหละ ทำไม่ได้หาในหนังสือไม่มีวิธีแก้ไข สมัยนั้นยังไม่มี google และหนังสือก็มีน้อย เงินซื้อหนังสือก็น้อยด้วย



วันศุกร์ที่ 21 เมษายน พ.ศ. 2560

Arduino IDE บน Ubuntu 16.04 อัพโหลดไม่ได้

ขณะอัพโหลดโปรแกรมไปยัง Arduino ใน Ubuntu 16.04 พบว่ามี error

avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied

วิธีการแก้ไขปัญหาให้พิมพ์
$ sudo usermod -a -G dialout <username>
$ sudo chmod a+rw /dev/ttyACM0

วันพุธที่ 12 เมษายน พ.ศ. 2560

วิธีการดาวน์โหลดโปรแกรม Qt จาก qt.io

โปรแกรม Qt เป็น IDE ที่ดีมากๆ สำหรับพัฒนาโปรแกรมในหลากหลายแพลตฟอร์ม ถึงแม้ว่าการทำงานจริงอาจจะช้ากว่า C++ อื่นๆ บ้าง ในบางครั้งแต่ก็ทำงานได้ดีโดยเฉพาะในส่วนที่ควบคุมฮาร์ดแวร์บน Raspberry Pi

วันจันทร์ที่ 3 เมษายน พ.ศ. 2560

Qt จาก Command Line

1. สร้างโฟลเดอร์ HelloQt

2. สร้างไฟล์ hello.cpp 
nano hello.cpp

3. พิมพ์โค้ด
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[]){
  QApplication app(argc, argv);
  QPushButton *button = new QPushButton("Quit");
  QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
  button->show();
  return app.exec();
}

วันอังคารที่ 28 มีนาคม พ.ศ. 2560

ประวัติ Qt

https://www.qt.io/qt20/


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

วันจันทร์ที่ 20 มีนาคม พ.ศ. 2560

เขียนโปรแกรมด้วย Qt: ตอนที่ 4 จัดการฟอร์ม

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

ภาษา C ก็เช่นกัน สิ่งที่ควรเรียนรู้หลักๆ ก็ประกอบด้วย โครงสร้างการเขียนโปรแกรม การวนลูป การทำงานตามเงื่อนไข และการแปลงข้อมูล การเรียกใช้ฟังค์ชันที่เกี่ยวข้องต่างๆ ในเบื้องต้น

การเขียนโปรแกรมด้วย Qt ก็เช่นกัน พื้นฐานเป็นสิ่งสำคัญ นอกจากจะต้องรู้วิธีการเขียนโปรแกรมด้วยภาษา C++ แล้วยังต้องเข้าใจวิธีการของ Qt ตลอดถึงการใช้เครื่องมือในการพัฒนาโปรแกรม นั่นคือ ต้องเข้าใจเกี่ยวกับ IDE ให้มาที่สุด

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

ใน Qt จะมีส่วนที่เป็น Qt Creator ซึ่งเป็นส่วนการพัฒนาและออกแบบโปรแกรม ดังนั้นส่วนใหญ่จะต้องผ่านการออกแบบหน้าจอแบบ GUI อยู่มาก จึงจำเป็นต้องเข้าใจหลักการในการใช้งานก่อน

การกำหนดขนาดและค่าต่างๆ ของฟอร์ม

ฟอร์มที่สร้างขึ้นใน Qt ก็ไม่ต่างจากฟอร์มใน Visual Studio มากนัก เพียงแต่วิธีการและการเรียกในส่วนต่างๆ ไม่เหมือนกัน

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

สิ่งเหล่านี้ใน Qt สามารถจัดการได้หมด ในบทความนี้จะอธิบายในส่วนที่จำเป็นดังนี้

หน้าจอกำหนดขนาดของฟอร์ม

Driver สำหรับ USB UART TTL

https://drive.google.com/open?id=0B80EqvaAGSB8dU9EMXdwQmJCLVE