You are here

ROBOTA-UNO

準備中

高機能シールドだよ。
ROBOTA-UNOは魅力的な表示装置やセンサーなどの入出力装置をバランスよく装備した、ロボット形状のArduinoシールドキットです。

ROBOTA-UNOのご購入はこちら

ROBOTA-UNO-1

ROBOTA-UNO-2

ROBOTA-UNOはArduinoの入門者にはもちろんですが、特に、Arduinoの基本機能を一通り習得し、応用に取り組みたい人に最適な多機能シールドです。


  • 160x128ピクセルのカラーTFTディスプレイを装備しています。
  • SDカードソケットを装備しています。
  • 3個のカラーLED:WS2812Bを装備しています。
  • ジョイスティックを装備しています。
  • 加速度・ジャイロセンサを装備しています。
  • 4個のタクトスイッチを装備しています。
  • 圧電スピーカーを装備しています。



TFTディスプレイのサンプルスケッチ

#include <TFT.h>
#include <SPI.h>

#define TFT_CS   10 // TFTディスプレイのCS端子
#define TFT_DC   9 // TFTディスプレイのDC端子

TFT TFTscreen = TFT(TFT_CS, TFT_DC, 0);

void setup()
{
  TFTscreen.begin();
  TFTscreen.initR(INITR_BLACKTAB); // 制御用ICによる追加の初期化
  TFTscreen.setRotation(3) ; // TFTディスプレイの向きの補正
}

void loop()
{
  delay(500);
  TFTscreen.background(0, 0, 0);
  delay(500);
  TFTscreen.stroke(255, 255, 255);
  TFTscreen.setTextSize(2);
  TFTscreen.text("ROBOTA-UNO", 0, 0);

  TFTscreen.stroke(0, 255, 0);
  for (int8_t i = 30 ; i < 100; i += 5) {
    TFTscreen.rect(i, i, 50, 30) ;
  }
}



カラーLEDのサンプルスケッチ

#include <Adafruit_NeoPixel.h>

#define LED_NUM 3 // 3個
#define LED_PIN 6 // D6に接続

Adafruit_NeoPixel LEDstrip
        = Adafruit_NeoPixel(LED_NUM, LED_PIN, NEO_GRB + NEO_KHZ800) ;

void setup()
{
  LEDstrip.begin() ;
  LEDstrip.setBrightness(20) ; // // まぶしくない様にLEDの電流を20%に抑制
  LEDstrip.show() ;
}

void loop()
{
  static uint8_t n ;
  
  if (++n > 2)
    n = 0 ;
    
  for(uint16_t i = 0; i < LEDstrip.numPixels(); i++) {
      LEDstrip.setPixelColor(i,
          LEDstrip.Color(n == 0 ? 255: 0, n == 1 ? 255: 0, n == 2 ? 255: 0)) ;
  }

  LEDstrip.show() ;
  delay(1000) ;
}



超音波距離センサーHC-SR04の利用例

#include <TFT.h>
#include <SPI.h>

#define TFT_CS   10 // TFTディスプレイのCS端子
#define TFT_DC   7 // TFTディスプレイのDC端子
#define USDS_TRIG 17 // 超音波センサーのTRIG端子(A3)
#define USDS_ECHO 16 // 超音波センサーのECHO端子(A2)
#define USDS_TIMEOUT (50*1000) // us
#define ONSOKU  (340.0*100) // cm

TFT TFTscreen = TFT(TFT_CS, TFT_DC, 0) ;

void setup()
{
  TFTscreen.begin() ;
  TFTscreen.initR(INITR_BLACKTAB) ;
  TFTscreen.setRotation(3) ;
  TFTscreen.setTextSize(2) ;

  pinMode(USDS_TRIG, OUTPUT) ;
  digitalWrite(USDS_TRIG, LOW) ;
  pinMode(USDS_ECHO, INPUT) ;
}

#define CHARARRAY_SIZE 20
char sensorPrintout[CHARARRAY_SIZE] ;

void loop()
{
  int duration ;
  float distance ;
  String sensorVal ;

  digitalWrite(USDS_TRIG, HIGH) ;
  delayMicroseconds(10) ;
  digitalWrite(USDS_TRIG, LOW) ;

  duration = pulseIn(USDS_ECHO, HIGH, USDS_TIMEOUT) ; // us
  if (duration > 0) {
    // 音速: 340m/s = 34000cm/s = 0.034cm/us
    distance = duration / 2.0 * ONSOKU / 1000000 ;
    TFTscreen.background(0, 0, 0) ;
    TFTscreen.stroke(255, 255, 255) ;
    TFTscreen.text("Ultrasonic Ranging Sensor", 0, 0) ;
    sensorVal = String(duration) + " us\n" + String(distance) + " cm" ;
    sensorVal.toCharArray(sensorPrintout, CHARARRAY_SIZE) ;
    TFTscreen.text(sensorPrintout, 0, 40) ;
  }

  delay(100);
}
開発ソフト: 
チップファミリー: 
MCUチップ: