ในบทความที่แล้ว เราทำความรู้จักกับ Neo Pixel WS2813 กันไปแล้ว วันนี้ผมจะมาแนะนำเรื่อง การนำ Raspberry Pi2 มาควบคุม Neo Pixel WS2812B
อุปกรณ์ที่ต้องใช้
เมื่อเตรียมอุปกรณ์เสร็จแล้วให้คุณต่อสายตามนี้ครับ
ตําแหน่ง ขา ของ Raspberry Pi2
รูปการต่ออุปกรณ์
เมื่อต่อสายเสร็จเรียบร้อย ให้ Download Source code ที่
github.com/thitiblog/ws2812b-raspberry-pi2.git
และไฟล์ต่วอย่างการใช้งาน ดังนี้
หลังจากนั้นให้เปิดไฟล์ neo-test.cpp ขึ้นมาจะมีเนื้อหาตามนี้
#include "ws2812b.h"
int main(int argc, char **argv){
ws2812b *_ws2812b = new ws2812b(1); //1 pixel LED
_ws2812b->initHardware();
_ws2812b->clearLEDBuffer();
int tmp;
for(;;){
//RGB Blink.
_ws2812b->setPixelColor(0, 255, 0, 0);
_ws2812b->show();
usleep(1000*1000);
_ws2812b->setPixelColor(0, 0, 255, 0);
_ws2812b->show();
usleep(1000*1000);
_ws2812b->setPixelColor(0, 0, 0, 255);
_ws2812b->show();
usleep(1000*1000);
//Rainbow
for( int i=0 ; i<=255 ; i++){
if( i < 85 ){
_ws2812b->setPixelColor(0, i*3, 255-i*3, 0);
_ws2812b->show();
}else if( i < 170 ){
tmp = i-85;
_ws2812b->setPixelColor(0, 255-tmp*3, 0, tmp*3);
_ws2812b->show();
}else{
tmp = i-170;
_ws2812b->setPixelColor(0, 0, tmp*3, 255-tmp*3);
_ws2812b->show();
}
usleep(1000);
}
usleep(1000*1000);
}
delete _ws2812b;
return 0;
}
ผมจะอธิบายการใช้งาน library จากตัวอย่าง Code ด้านบนเลยนะครับ
ขั้นตอนเมื้อกี้คือขั้นตอนแรกก่อนจะเริ่มสั่งให้ NeoPixel ทํางาน ขั้นตอนต่อไปให้เราดูที่ 2 method นี้
รายละเอียดของ parameter
เสร็จแล้ว Compile ให้เรียบร้อยครับ
จบเพียงเท่านี้ครับ ผิดพลาดตรงไหนขออภัยด้วยนะครับ :)
ข้อมูลจาก element14
ในบทความนี้เราจะมาเรียนรู้การวนลูปแสดงข้อมูลในลักษณะ List ซึ่ง Vue ก็มีเครื่องมือมาให้เราใช้งานได้อย่างง่ายดาย ก็คือ v-for มันสามารถใช้งานได้ทั้ง Array และ Object มาดูตัวอย่างแรกกันเลย
swap คือ file ประเภทหนึ่งที่ทําหน้าที่คลาย ram โดยจะต่างจาก ram ตรงที่ เป็นไฟล์ที่ถูกเขียนบน HDD ซึ่งจะมีความเร็วน้อยกว่า ram ในกรณีที่ ram ไม่พอ เราสามารถสร้าง swap มาใช้เป็น ram สํารองได้
IDN หรือเรียกเต็มๆว่า Internationalized Domain Name คือ ชื่อโดเมนที่สามารถประกอบด้วยอักขระ (character) อื่น ๆ ที่นอกเหนือไปจากรหัส ASCII ได้ ซึ่งเดิมทีการตั้งชื่อโดเมนจะถูกจำกัดอยู่เพียงแค่การใช้ตัวอักษรภาษาอังกฤษ (อักษรโรมัน) A-Z, ตัวเลขอารบิก 0-9 และเครื่องหมายยัติภังค์ (-) เท่านั้น เนื่องจากข้อจำกัดของระบบชื่อโดเมน (domain name system - DNS) ที่ใช้อยู่แต่เดิม