IntoRobot-nut at Home of Maker

สัปดาห์ที่แล้วไปเดินเคลมอุปกรณ์ให้บริษัทที่ห้างฟอร์จูน พระรามเก้า ขากลับเดินผ่าน Home of Maker
ได้เจอ กับ IntoRobot-nut (Gravitech WLWF-1500) ราคา 350 บาท รวมภาษีมูลค่าเพิ่มแล้ว ที่แรกก็เห็นว่าเป็นแค่ ESP8266 กำลังอยู่ในกระแส เลยตัดสินใจชื้อมาเพราะมีเชนเชอร์แสง และ RGB LED มาให้ และราคาก็สมน้ำสมเนื้อ ขนาดเล็ก มีหัว USB type C มาให้ด้วย
ส่วน USB to Serial พอรับได้ เพราะโครงงานที่ทำคงแค่เอาไว้จ่ายไฟเท่านั้น

    พอได้มาก็เริ่มด้วยการหาคู่มือ สิ่งที่พบคือไม่มีคู่มือภาษาอังกฤษหรือภาษาไทยเลย มีแต่ภาษาจีน ซึ่งผู้เขียนอ่านไม่ออกได้แต่ดูรูปภาพ นึกในใจว่าต้องมานั่งเทียนวาดวงจรให้เขาด้วยหรือป่าว

 ผู้เขียนขอเริ่ม รีวิว เจ้า IntoRobot-Nut กันเลย
คุณลักษณะ ดังนี้
1. ขนาดบอร์ด xx
2.MCU : ESP8266
3.USB to Serial
4.USB type C
5.WiFi ในตัว
6.User button 1 ปุ่ม
7.เซนเซอร์แสง สองขาทั่วไป ไม่ได้ระบุ ยี่ห้อ-รุ่น
8.RGB LED เดาว่าเป็น WS2812
9.ปุ่ม รีเซต บอร์ด

ด้วยความที่เข้า IntoRobot-nut นั้นมี Firmware สำหรับ เล่นกับ app ของ IntoRobot มาให้เลย
เริ่มเล่นกันเลย
1. เสียบไฟเข้าบอร์ด จะมีไฟกระพริบสีแดงที่ RGB LED ถือว่าปกติ
2.โหลด app IntoRobot ทั้ง IOS และ Android
3.สมัคร สมาชิก ที่หน้า เว็บ Intorobot ก่อน เมื่อได้รับ E-mail ตอบรับสมาชัก
4.ให้มือถือเราต่อกับ Wifi ที่บ้านเราก่อนนะครับ ถ้าไม่มีก็สามารถใช้มือถือปล่อย wifi ได้ และต้อมมี มือถืออีกเครื่องสำหรับเล่น app
5. เมื่อ เข้า app และ Login เข้าระบบแล้ว
6.add device  สังเกตต้องให้บอร์ดเป็นไฟสีแดง
7.add sensor หรือ tool
เพียงเท่านี้ก็สามารถเล่น app กับ บอร์ด IntoRobot-nut ได้เลย


test RGB

IDE Arduino code: see below


#include <NeoPixelBus.h>

#define pixelCount 1 // this example assumes 4 pixels, making it smaller will cause a failure
#define pixelPin 5  // make sure to set this to the correct pin

#define colorSaturation 128

NeoPixelBus strip = NeoPixelBus(pixelCount, pixelPin);
// NeoPixelBus strip = NeoPixelBus(pixelCount, pixelPin, NEO_RGB);
//
// some pixels require the color components to be in a different order
// using the flag NEO_GRB will use the order; green, red, then blue.
//


 
void setup()
{
    // this resets all the neopixels to an off state
    strip.Begin();
    strip.Show();
}


void loop()
{
    // set the colors,
    // if they don't match in order, you may need to use NEO_GRB flag
    for(int i=0;i<128;i++)
    {
    strip.SetPixelColor(0,i,0,0);
    strip.Show();
    delay(10);
    }
    for(int i=128;i>1;i--)
    {
    strip.SetPixelColor(0,i,0,0);
    strip.Show();
    delay(10);
    }
    ///////////////////////////////////////////////dim Red /////////////////////////////////
    for(int i=0;i<128;i++)
    {
    strip.SetPixelColor(0,0,i,0);
    strip.Show();
    delay(10);
    }
    for(int i=128;i>1;i--)
    {
    strip.SetPixelColor(0,0,i,0);
    strip.Show();
    delay(10);
    }
    ///////////////////////////////////////////////dim green /////////////////////////////////
    for(int i=0;i<128;i++)
    {
    strip.SetPixelColor(0,0,0,i);
    strip.Show();
    delay(10);
    }
    for(int i=128;i>1;i--)
    {
    strip.SetPixelColor(0,0,0,i);
    strip.Show();
    delay(10);
    }
    ///////////////////////////////////////////////dim blue/////////////////////////////////
}





TEST Light Sensor

jump wire between  LS pin and A0





int photocellPin = 0;     // the cell and 10K pulldown are connected to a0
int photocellReading;     // the analog reading from the analog resistor divider

void setup(void) {
  // We'll send debugging information via the Serial monitor
  Serial.begin(9600);
}

void loop(void) {
  photocellReading = analogRead(photocellPin);

  Serial.print("Analog reading = ");
  Serial.print(photocellReading);     // the raw analog reading

  // We'll have a few threshholds, qualitatively determined
  if (photocellReading < 10) {
    Serial.println(" - Dark");
  } else if (photocellReading < 200) {
    Serial.println(" - Dim");
  } else if (photocellReading < 500) {
    Serial.println(" - Light");
  } else if (photocellReading < 800) {
    Serial.println(" - Bright");
  } else {
    Serial.println(" - Very bright");
  }
  delay(1000);
}