วันเสาร์ที่ 26 พฤศจิกายน พ.ศ. 2559

Esp8266 OLED sprintf[Buffer]

Esp8266 OLED 

เคยเจอไหมต้องการให้จอแสดงผลในรูปแบบตัวเลขจาก หลายๆตัวแปร แต่ต้องเขียนโค๊ตยาวๆหลายบรรทัด ยิ่งตัวแปรมากก็ต้องเขียน  .println มากบรรทัด

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


เริ่มต้นการ Include และประกาศตัวแปร  
เพิ่มมาจากกระทู้ก่อนหน้านี้ คือ

char oled_buffer[40] = ""

ประการตัวแปรใช้ในการเก็บข้อความ String



เริ่มต้นโปรแกรม  ไม่มีอะไรมากแค่แสดงผลข้อความ




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

บรรทัดที 62 >> นำค่า varCount ซึ่งได้มาจากค่าตัวแปร Count(บรรทัดที่ 52) มาแสดงผล
                          %d  คือ การแสดงผลจากตัวแปร int นั้นเอง

บรรทัดที 63 >> ส่งค่าตัวแปร  oled_buffer  ไปแสดงผล



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



การเขียนโปรแกรมในรูปแบบการใช้ตัวแปร Buffer จะได้ผลก็ต่อเมื่อใช้ตัวแปรหลายๆตัวเพื่อมาแสดงผล เช่น แสดงค่าของ นาฬิกา ซึ่งมี 3 หลักด้วยกัน  hr:min:sec  หากเขียนโค๊ต print ที่ละบรรทัดก็จะหลายบรรทัด






https://www.facebook.com/dan.thummaratkmitl

Esp8266 OLED 128x64 Display Hello

การแสดงผลบนจอ OLED

เริ่มต้นดาวโหลด Library ของจอแสดงผล OLED พร้อมทั้งติดตั้ง

Library
ESP_SSD1306.h
Adafruit_GFX.h


เริ่มต้นเปิดใน Example  และก๊อปในส่วนของ Include และ Variable(ตัวแปร)  มาก่อน






จากเขียนโปรแกรม
บรรทัดที่ 24 >> ฟังก์ชั่นการเริ่มต้น OLED
บรรทัดที่ 26 >> ฟังก์ชั่นกำหนดให้จอ OLED แสดงผล
                          และต้องมี delay เพื่อให้จอแสดงผลออกมา
บรรทัดที่ 28 >> ฟังก์ชั่น Clear จอแสดงผล

บรรทัดที่ 30 >> ฟังก์ชั่นเซทขนาดตัวอักษร
บรรทัดที่ 31 >> ฟังก์ชั่นกำหนดสีจอ (หากจอมีหลายสี)
บรรทัดที่ 32 >> ฟังก์ชั่นกำหนด Column และ Row
บรรทัดที่ 33 >> ฟังก์ชั่นแสดงผลจากตัวแปล String ซึ่งอยู่ในเครื่องหมาย " "

เพียงเท่านี้หน้าจอภาพก็จะแสดงผลข้อความที่ต้องการได้แล้ว







https://www.facebook.com/dan.thummaratkmitl

วันอาทิตย์ที่ 23 ตุลาคม พ.ศ. 2559

Esp32 Arduino IDE config

ติดตั้งโปรแกรม
- Arduino IDE V1.6.12
- MSYS2
http://microstor.blogspot.com/2016/10/esp32-begin.html

หมายเหตุ ควรติดตั้ง MSYS2 และทดสอบให้สามารถ Flash โปรแกรมลง Nano32 ให้ได้ก่อนครับ เพื่อจะได้เป็นเครื่องมือในการช่วงเทสอีกตัวนึ่ง


รันโปรแกรม MSYS2 C:\msys32\msys2_shell.cmd

ไปยังโฟลเดอร์  C://Program\ Files\ \(x86\)/arduino/hardware  สร้างโฟลเดอร์ชื่อ espressif
$ cd /c/Program\ Files\ \(x86\)/arduino/hardware


เข้าไปยัง โฟลเดอร์ espressif
$ cd espressif/


ดาวโหลดไฟล์
$ git clone https://github.com/espressif/arduino-esp32.git esp32


ไปยังโฟล์เดอร์  esp32/tools/
$ cd esp32/tools/

จากนั้นรันคำสั่ง เพื่อติดตั้ง Toolchain
$ python get.py

*หากไม่สามารถรันคำสั่ง python get.py
แก้ไข Error File "get.py", line 25



ต้องติดตั้ง Software serial เข้าไปในโฟลเดอร์ด้วย
สามารถดาวโหลดได้จาก
https://github.com/pyserial/pyserial

แตกไฟล์ ก๊อปปี้เฉพาะโฟลเดอร์ serail มาวางใน  C://Program\ Files\ \(x86\)/arduino/hardware/espressif/esp32/tools/



รันโปรแกรม Arduino IDE
เลือก Tool >> Board....  >> Esp32 Dev Module




ทดสอบด้วย Example Blink




อ้างอิง: https://github.com/espressif/arduino-esp32

https://www.facebook.com/dan.thummaratkmitl

Esp32 begin

Esp32 ถูกพัฒนาต่อยอดมาจาก Esp8266 ซึงผู้ผลิตได้แก่ Espressif

ทางด้านประเทศไทยได้เป็นผู้นำในการผลิตบอร์ดที่พร้อมใช้งานภายใต้ชื่อว่า Nano32 สร้างโดยทีม gravitech  Maker Asia

ปัจจุบัน Esp32 สามารถพัฒนาโปรแกรมได้หลายๆทาง เช่น Eclipse  Dev-C++  หรือ Arduino IDE ซึ่งข้อมูลหลักในการพัฒนาโปรแกรมมาจาก esp-idf




ขอกล่าวถึงการพัฒนา Esp32 ด้วย MSYS2 on windows

ลิงค์การติดตั้งต่างประเทศ
- https://github.com/espressif/esp-idf/blob/master/docs/windows-setup.rst
- https://github.com/espressif/arduino-esp32

ติดตั้งโปรแกรม  MSYS2  ซึ่งเป็นโปรแกรมที่ใช้ command line linux ได้บนตัว Windows 7
การใช้โปรแกรม MSYS2 ในการพัฒนา Code เหมือนกลับไปสู่ยุค  80  ก็เป็นได้


เมื่อติดตั้งสมบูรณ์ รันโปรแกรม  C:\msys32\msys2_shell.cmd  


 สร้างโฟล์เดอร์   C:\dev-esp32

ไปยังโฟล์เดอร์ที่สร้างไว้  cd /c/dev-esp32/


ดาวโหลดไฟล์  esp-idf

$ git clone --recursive https://github.com/espressif/esp-idf.git

ดาวโหลดไฟล์  esp-idf-template

$ git clone https://github.com/espressif/esp-idf-template.git


จากนั้นก๊อปปี้โฟล์เดอร์  C:\dev-esp32\esp-idf\examples\02_blink  มาวางไว้ที่  C:\dev-esp32
$ cp -R /c/dev-esp32/esp-idf/examples/02_blink .

สังเกตุได้ว่าจะมีโฟล์เดอร์หลัก ดังรูป




ใช้ Command line ไปที่  $ cd /c/dev-esp32/02_blink/



เข้าไปแก้ไขข้อมูลในไฟล์    C:\dev-esp32\02_blink\main\blink.c




คำสั่งนี้ คือ ให้ Build project ที่นี้
$ export  IDF_PATH="c:/dev-esp32/esp-idf"


เข้าไปตั้งค่า Baud rate และ Comport
$ make menuconfig

สร้างไฟล์หรือ  compiller
$ make all

สั่งให้ Flash
$ make flash



ก่อนการ flash program เข้าสู่ Nano32
ต้องกดปุ่ม  Io0 ค้างไว้ 2 วินาที หรือมากกว่า
กดปุ่ม EN
ปล่อยทั้ง 2 ปุ่มออก พร้อมกัน

เพียงเท่านี้ก็สามารถโปรแกรมข้อมูลลง Esp32 ของเราได้แล้วครับ



https://www.facebook.com/dan.thummaratkmitl



วันอาทิตย์ที่ 8 พฤษภาคม พ.ศ. 2559

ผลงาน โบว์แดง

แบบจำลองระบบรักษาความปลอดภัยภายในบ้าน

แสดงผลผ่านโปรแกรม และส่ง SMS แจ้งเตือน


Hard ware

1.Arduino IDE
2.Sensor PIR


การทำงาน

เมื่อมีสิ่งมีชีวิตเคลื่อนไหวผ่านเซ็นเซอร์ ๆ ก็จะกลับบิตลอจิก ส่งค่าให้ Arduino ประมวลผล และใช้โปรแกรมที่เขียนด้วย VB 6 แสดงผลการทำงานของ เซ็นเซอร์ แล้วสามารถส่งข้อความ SMS ผ่านเครื่อข่ายมือถือได้ด้วย

กล่องควบคุม

โปรแกรมที่เขียนด้วย VB 6

แบบจำลอง



แบบจำลองระบบรักษาความปลอดภัยภายในบ้าน ส่ง SMS แจ้งเตือน

เหมือน ๆ กับโปรเจคตัวแรก แต่แจ้งเตือนผ่าน SMS (ภาษาไทย)  เพียงรูปแบบเดียว








อีกตัวนึง แต่เหมือนเดิม ต่างกันที่การจัดวาง




บอร์ดไดร์ LCD16x2   74HC595 





7Segment Arduino Shields







ผลงานระดับชาติ Android Smart Home

เป็นผู้ควบคุมนักศึกษาไปแข่งขัน แต่ครูผู้สอนก็ต้องทำหน้าที่หลัก
ทำหน้าที่ออกแบบ PCB
ได้รางวัลรองชนะเลิศอันดับ 1








วันอาทิตย์ที่ 24 เมษายน พ.ศ. 2559

EP1.2 ESP8266 Read DHT11

DHT11


เป็นโมดูลใช้ในการวัดอุณหภูมิ และความชื้น


รูป DHT11



โปรแกรม สามารถเลือกใช้ได้ทั้ง  DHT11  DHT22



#include "DHT.h"
#define DHTPIN 2          // what digital pin we're connected to
// Uncomment whatever type you're using!
#define DHTTYPE DHT11     // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
DHT *dht;
void setup()
{
  Serial.begin(115200);
  Serial.println("DHT11 test!");
  initDht(&dht, DHTPIN, DHTTYPE);
}
void loop()
{
  readDht();

  delay(2000);
}
void initDht(DHT **dht, uint8_t pin, uint8_t dht_type) {
    *dht = new DHT(pin, dht_type, 30);
    (*dht)->begin();
    Serial.println("DHTxx Begin");
}
void readDht()
{
    float h = dht->readHumidity();
    float t = dht->readTemperature();
    float f = dht->readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float hif = dht->computeHeatIndex(f, h);
  float hic = dht->computeHeatIndex(t, h, false);
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}
ขอบคุณบทความ
 http://cmmakerclub.com/esp8266/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AD%E0%B9%88%E0%B8%B2%E0%B8%99%E0%B8%84%E0%B9%88%E0%B8%B2-dht22-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-esp8266-native-arduino-ide/




ขอบคุณที่ติดตามครับ

วันเสาร์ที่ 23 เมษายน พ.ศ. 2559

FTDI232 to Esp8266

FTDI232 

อุปกรณ์ที่ทำหน้าที่เป็นตัวกลางในการเชื่อมต่อระหว่าง  USB คอมพิวพ์เตอร์ กับ อุปกรณ์ต่างๆ ให้รู้จักกัน และสื่อสารกันได้

Esp8266 ก็เช่นกันสามารถใช้ FTDI232 ในการเป็นตัวกลางเพื่อเชื่อต่อกับ คอมพิวพ์เตอร์

รูป FTDI232 



ข้อควรระวังในการใช้ FTDI232 ที่ผมเจอมา คือ มันจะมีสวิตซ์สามารถเลือกปรับระดับแรงดันได้  3.3v กับ 5v  แต่พบว่าไม่ว่าจะเลือกสวิตซ์ไปทางไหน มันก็ได้แรงดัน 5v ตลอด ดังนั้น หากใครใช้ก็ควรระวังในส่วนของแรงดันด้วยครับ


การต่อวงจรก็ตามรูปเลลยครับ 


รูป วงจรการเชื่อมต่อ 



ต้องแก้ไขที่  Arduino IDE ด้วยครับ ในส่วนของ Tool => Programmer เลือกเป็น USBasp
รูป การเซทที่โปรแกรม Arduino 




เพียงเท่านี้ก็สามารถใช้ FTDI232  ในการโปรแกรมลง Esp8266 ได้แล้วครับ



ขอบคุณที่ติดตามครับ

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

Debug Code ESP8266

DEBUG_OUTPUT


Debug คือ การแก้ไขความผิดผลาด

Arduino IDE 1.6.x โหลดไลบลารี ESP8266 V.2.1  มีฟังก์ชันการ DEBUG มาให้

การ DEBUG จะแสดงผลได้ก็ต่อเมื่อมีการเรียกใช้ ไฟล์


#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>



รูป 1 ไลบลารี ESP8266WebServer



จากรูปจะเห็นได้ว่ามีการใช้คำสั่ง   DEBUG_OUTPUT   ก็คือให้มีการ  Serial  เมื่อต้องมอร์นิเตอร์โค๊ต ณ จุดต่างๆ ที่มีคำสั่งนี้  แต่จะถูกกำหนดให้  เปิด/ปิด  คำสั่งด้วยการเลือกที่ตัวโปรแกรม Arduino IDE ก่อนโปรแกรมลง ESP8266  

การเซทค่าโปรแกรม Arduino IDE



รูป 2

จากรูป 3 เลือกมอร์นิเตอร์เฉพาะส่วนของ HTMLServer  เพื่อให้ตรงกับโค๊ตที่เขียน  เพราะผมเขียนให้ ESP8266 รันเป็น Web Server


รูป 3

ทดสอบโดยการเรียก IP  ของ  ESP8266

รูป 4

เปิดหน้าจอ   Serial Monitor เมื่อมีการเรียกหน้าเว็บ ก็จะมีการ DEBUG โค๊ตออกมาแสดงผลให้ดูกัน

รูป 5



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




ฝากติดตาม Page  FaceBook:    Esp8266 - THAI Platforms Arduino IDE
https://www.facebook.com/EspArduino


ขอบคุณที่ติดตามครับ

วันพฤหัสบดีที่ 21 เมษายน พ.ศ. 2559

ESP8266 CONFIG IP By web browser


ฮาร์ดแวร์

มีสวิตซ์ 1 ตัว เพื่อใช้ในการเลือกโหมดการทำงาน

รูปฮาร์ดแวร์

ลำดับขั้นตอนการเขียนโปรแกรม


เขียนโปรแกรมแยกเป็นส่วนๆ ก่อน
1. กดสวิตซ์เพื่อสลับโหมด
2. เข้าใช้งานโหมด AP
        web config SSID ,PASS, IP, GW
3. เข้าใช้งานโหมด STA
       web main page
4. Eeprom read + write
5. สุดท้าย ยำโค๊ต นำทุกอย่างมารวมกัน


คุณสมบัติ

1. คอนฟิก SSID+PASS
2. คอนฟิก IPAddress+IPGateway
3. Flash โปรแกรมลง ESP8266 เพียงครั้งเดียว
4. นำไปใช้งานที่ไหนก็ได้ กับ Router ตัวไหนก็ได้ เพียงแค่รู้  ชื่อ รหัส ip ก็สามารถใช้งานได้เลย
หมายเหตุ ยังไม่รองรับ การเชื่อม wifi แบบให้ยืนยันตัวตน



วิธีทำงาน

1. กดสวิตซ์ 5 วินาที เข้าสู่ AP โหมด
    ESP8266 จะแจก IP 192..168.4.1
2. ทำการคอนฟิกผ่าน web browser
3. รีบูต ESP8266 หนึ่งครั้ง
หมายเหตุ กรณีไม่มีการกดสวิตซ์เลือกโหมด ESP8266 จะเป็นโหมด AP อัตโนมัติ



รูปโครงสร้างการทำงานของโปรแกรม





EP1.1 ESP8266 Function


ESP8266 Basic

เนื้อหานี้นำเสนอรูปแบบการสร้างฟังก์ซึ่งแบ่งออกได้เป็น 2 รูปแบบ
1.ฟังก์ชันไม่มีการคืนค่าตัวแปร
      ในส่วนนี้ คือ ฟังก์ชันที่ถูกเขียนขึ้นเพื่อ ให้ง่ายต่อการเรียกใช้งาน ลดการเขียนซ้ำๆ และลดบรรทัดใน MAIN LOOP

2.ฟังก์ชั่นการคืนค่าตัวแปร
     คือ ฟังก์ชันที่เมื่อเรียกใช้งานจะต้องใส่ค่าตัวแปร เพื่อนำไปประมวลผล


ถาม: ทำไมต้องใช้  ฟังก์ชั่นการคืนค่าตัวแปรตอบ: หากเขียนโปรแกรมเยอะๆ  หรือ MCU มีพื้นที่หน่วยความจำ [Flash] น้อยๆ หากมีการประการตัวแปร Global ก็จะทำให้ทรัพยากรลดลงไปถึงขั้นพื้นที่หน่วยความจำไม่พอกันเลยทีเดียว

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







===========================================

int count = 0;
void setup()
{
  Serial.begin(115200);
}
void loop()
{
  Serial.println("=====================");
  Serial.printf("Count = %d \r\n",count);
  if( ++count > 100 )
    count = 0;
 
  delay(1000);
}

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

ลำดับขั้นตอนการเขียนโปรแกรม มือใหม่

ลำดับขั้นตอนการเขียนโปรแกรม มือใหม่


เริ่มหาเอกสารทาง web อ่านเล่นๆ เตรียมพร้อม

ศึกษาฮาร์ดแวร์
ศึกษารูปแบบภาษาที่จะเขียน
















เริ่มการเขียนโปรแกรม

เแบ่งการเขียนโปรแกรมเป็น Output  Input
  1. เขียนโปรแกรม LED ติด/ดับ (หากได้มากกว่า 1 ดวงยิ่งดี) จุดสำคัญ คือ นำฟังก์ชัน มาเทสกับไฟกระพริบนี้แหละครับ while    if   if...else    switch....case    ฯลฯ
  2. 7Segment
  3. LCD
  4. Switch + LED
  5. Switch + 7Segment
  6. Keypad
  7. ที่เหลือก็พวกเซ็นเซอร์ต่างๆที่อยากจะทดลอง

มีอาจารย์เคยบอกว่า หากคุณเก่งเพียงภาษาเดียวคุณก็สามารถที่จะเขียนโปรแกรมภาษาอื่นๆได้ หรือฮาดแวร์ไมโครคอนละค่าย ก็นำไปประยุคไม่อยาก มันก็เรื่องจริงน่ะครับ การเขียนโปรแกรมก็คงหนีไม่พ้น ฟังก์ชัน if  for  ไม่ว่าจะเป็น ไมโคร เว็บ Android ฯลฯ

ไม่มีใครเก่งมาตั้งแต่เกิด
และไม่มีใครเก่งโดยไม่พยายาม



วันอังคารที่ 22 มีนาคม พ.ศ. 2559

จุดเริ่มต้นของชีวิตการเขียนโปรแกรม

จุดเริ่มต้นของชีวิตการเขียนโปรแกรม

ชีวิตวัยเรียน

บอกก่อนเลยว่าตัวผมเองเป็นเด็กต่างจังหวัด เรียน ม.ต้น ได้เกรดรวม 1.9 คิดในใจทันทีเมื่อจบ ม.3 ว่าต้องเปลี่ยนชีวิต เลยบ่ายเข็มไปเรียนสายอชีวะ และเลือกเรียนแผนก "อิเล็ก" ซึ่งเป็นไปไม่ได้เลย ชีวิตเด็กเกรด 1.9 จะไปสายอิเล็ก 


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

ชิ้นงานด้านอิเล็กที่ทำ เริ่มตอน ปวช. 2 ทำ PowerAmp กีตาร์ไฟ เอาวงจรจากหนังสือ "ทำเล่นให้เป็นจริง" ด้วยความที่ไม่รู้ว่า กัดปริ้นยังไง ซื้ออุปกรณ์จากไหน ก็ลองผิดลองถูก แต่มันก็ออกมาใช้งานได้


ปวส คือ จุดเปลี่ยนสุดๆด้าน Program เพราะได้เป็นตัวแทนกับเพื่อนอีกคน ไปแข่งทักษะไมโคร ระดับภาคใต้ ดีใจสุดๆ ได้ที่ 14 จาก 15 ทีม ใครจะทำได้บ้าง เอาความรู้เขียนแค่ ไฟกระพริบ ไปแข่งกับโจทย์ ตั้งเวลานาฬิกา แสดงผล 7Segment 


PCK 1000 สุดยอดในตำนาน PIC ปัจจุบัน 2559 ยังมีขายอยู่



เข้าสู่รั่วมหาลัย  สจล. ชีวิตก็ไม่ได้จะเป็นเด็กเรียนอะไร อยู่กับเพื่อน อยู่กับรุ่นพี่  กินเหล้า บ้าๆ บอๆ ไปวันๆ ผมเรียนหลักสูตร 2 ปี(ต่อเนื่อง)  มีโอกาสได้เรียนเขียนโปรแกรม MS51 เขียนด้วย Assembly เป็นอะไรที่สุดๆ

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

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

โปรเจคจบ คือ สกอร์บอร์ดไร้สาย ควบคุมได้ระยะ สนามฟุตบอล และสามารถใช้ได้กับ 11 ชนิด กีฬา ในตัวเดียวกัน "อะไรมันจะขนาดนั้น" 


ELECTODAY  เว็บนี้ภูมิใจกับการตอบคำถามสำหรับเด็กใหม่มาก ตอบมาว่า "GooGle"  คุณเข้าไปหาข้อมูลมายัง ใหนคุณลองอธิบายมาดู  เออ.....................   แต่มัน คือ จุดเปลี่ยนสำหรับผมเลยก็ได้ว่า  เวลาไม่ได้อะไรก็ "GooGle" ก่อนแหละครับ จนเดี๋ยวนี้ ใครตั้งกระทู้อะไรมั่วๆ หรือรู้ว่าเด็กใหม่  ก็จะตอบไปว่า  "GooGle" [เอากลับ อิอิ]  ยังไงก็ฝากๆเว็บนี้ไว้ด้วยน่ะครับ แหล่งความรู้ด้าน อิเล็ก ชั้นดี แต่ต้องรู้จะถามรู้จะค้นหาก่อน และที่สำคัญรู้จักมารยาท

ชีวิตวัยทำงาน

งานแรกที่ทำ "ครูจ้าง" วิชาหลักที่สอน "ไมโคร" คราวนี้จากผู้แข่งขันทักษะกลายเป็นโค๊ตซ่ะแล้ว

ผลงานระดับภาค
ปีแรก ได้ลำดับที่ 7
ปีสอง ได้ลำดับที่ 3
ปีสาม ได้ลำดับที่ 2
ปีสี่     ได้ลำดับที่ 1

ผลงานระดับประเทศ
smart home ได้ลำดับที่ 2 (ผมทำ PCB ให้)


เป็นครูนี้แหละได้ สั่งสมวิชาด้านไมโครเพียบ รู้ Basic ล้วนๆ เพราะต้องเอาไปสอนเด็ก
ขั้นตอนในการเรียนรู้เขียนโปรแกรม ไว้เป็นกระทู้ถัดไปครับ



ขอบคุณที่อ่านกระทู้ครับ
เป็นกำลังให้ให้กับคนที่เพิ่งเริ่มต้น
ขยัน อดทน ฝึกฝน