2019年10月14日 (月)

台風19号による気圧変化の測定

 20191012


Arduinoで作ろう(26) 気温・湿度・気圧のデータロガー で紹介した装置で,今回の台風19号による気圧変化を測定してみました。
上のグラフは,幸い台風の西側になった岐阜市のものです。木造2階建ての2階の室内での測定です。
10月12日19:30頃,最も低い値983hPaを記録しました。

被災された皆さんには慎んでお見舞い申し上げます。

| | コメント (0)

2019年10月 5日 (土)

Arduinoで作ろう(39) 8桁7セグLEDでデジタル時計

Max7219_7segled_tokei

 ここのところデジタル時計ばかり作っていますが,今回はMAX7219というディスプレイドライバ搭載の8桁7セグLEDを使って時・分・秒を表示するデジタル時計を作ってみました。

ライブラリは,以前使った LedControl.h です。数字フォントデータをスケッチの中に書かなくていいからラクですね。
スケッチはコレ→20191005_max7219_8led_clock.ino

/*
 MAX7219 8桁LED デジタル時計
 */
 
#include "LedControl.h"
#include <Wire.h>
#include <RtcDS3231.h>
RtcDS3231<TwoWire>
Rtc(Wire);
LedControl lc = LedControl(5,7,6,1); //5-DIN,7-CLK,6-CS

void setup() {
    lc.shutdown(0,false);
    lc.setIntensity(0,5);
    lc.clearDisplay(0);
    Rtc.Begin() ;
    //RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__) ;
    //Rtc.SetDateTime(compiled);
  }

void loop() {
  RtcDateTime dt = Rtc.GetDateTime() ;
  lc.setDigit(0,7,dt.Hour()/10%10,false);
  lc.setDigit(0,6,dt.Hour()%10,true);
  lc.setDigit(0,4,dt.Minute()/10%10,false);
  lc.setDigit(0,3,dt.Minute()%10,true);
  lc.setDigit(0,1,dt.Second()/10%10,false);
  lc.setDigit(0,0,dt.Second()%10,false);
  }

| | コメント (0)

2019年10月 1日 (火)

Arduinoで作ろう(38) 32x16ドットマトリクスLEDでスクロールデジタル時計

20190928

 大阪 日本橋のデジットで手に入れた32x16ドットマトリクスLEDでスクロールデジタル時計を作ってみました。
これを使うためのライブラリやスケッチはikkeiさんのブログを大いに参考にさせてもらいました。感謝。
 それから,このモジュールのコネクタは2.0mmピッチの10ピンですごく配線しづらいので,2.54mmピッチの8ピンソケットをハンダ付けしました。これはjj1WKNさんのブログ記事のマネです。
 前回のより大きなドットマトリクスLEDなので,時刻が見やすくなりました。数字フォントが8x8なので,LEDモジュールの下半分が余ってますが(^^;)

スケッチはこちら→20191001_digit_32x16_matrix_led_scroll_clock.ino

/*
  デジット 32x16 dot matrix LED Scroll clock
 */

#include <MsTimer2.h>
#include <Digit32x16.h>
#include "dFont.h"
#include <Wire.h>
#include <RtcDS3231.h>
RtcDS3231<TwoWire>
Rtc(Wire);
char buff[12] ;

void setup(){
  Digit32x16::Init();
  Rtc.Begin() ;
}

void loop(){
  RtcDateTime dt = Rtc.GetDateTime() ;
  sprintf(buff, " %02u:%02u:%02u", dt.Hour(), dt.Minute(), dt.Second()) ;
  uint8_t d;
  int textsize = sizeof(buff)/sizeof(buff[0]);
  for(int16_t j=0;j<textsize;j++) {
    d = dFont::Width(buff[j]);
    for(int i=0;i<=d;i++) {
      uint8_t data = dFont::Data(buff[j],i);
      Digit32x16::Vwrite(31, data);
      delay(80);
      Digit32x16::ShiftLeft();
    } 
  }
}

| | コメント (0)

2019年9月29日 (日)

Arduinoで作ろう(37) 8x8ドットマトリクスLEDでスクロールデジタル時計

8x8led_tokei_

 8x8ドットマトリクスLEDでスクロールクロックを作ってみました。
前回も使いましたが,ライブラリはこれを使うと簡単にキャラクタをスクロールさせることができます。
RTCは毎度おなじみのDS3231です。

スケッチはこれ→ 20190929_8x8matrix_scroll_clock.ino

/*
 * Scroll_Clock
 * (参考)https://code.google.com/archive/p/arudino-maxmatrix-library/wikis/Example_Display_Scrolling_Text.wiki
*/

#include <MaxMatrix.h>
#include <Wire.h>
#include <RtcDS3231.h>
RtcDS3231<TwoWire>
Rtc(Wire);
const char CH[] PROGMEM ={
3, 8, B0000000, B0000000, B0000000, B0000000, B0000000, // space
1, 8, B1011111, B0000000, B0000000, B0000000, B0000000, // !
3, 8, B0000011, B0000000, B0000011, B0000000, B0000000, // "
5, 8, B0010100, B0111110, B0010100, B0111110, B0010100, // #
4, 8, B0100100, B1101010, B0101011, B0010010, B0000000, // $
5, 8, B1100011, B0010011, B0001000, B1100100, B1100011, // %
5, 8, B0110110, B1001001, B1010110, B0100000, B1010000, // &
1, 8, B0000011, B0000000, B0000000, B0000000, B0000000, // '
3, 8, B0011100, B0100010, B1000001, B0000000, B0000000, // (
3, 8, B1000001, B0100010, B0011100, B0000000, B0000000, // )
5, 8, B0101000, B0011000, B0001110, B0011000, B0101000, // *
5, 8, B0001000, B0001000, B0111110, B0001000, B0001000, // +
2, 8, B10110000, B1110000, B0000000, B0000000, B0000000, // ,
4, 8, B0001000, B0001000, B0001000, B0001000, B0000000, // -
2, 8, B1100000, B1100000, B0000000, B0000000, B0000000, // .
4, 8, B1100000, B0011000, B0000110, B0000001, B0000000, // /
4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // 0
3, 8, B1000010, B1111111, B1000000, B0000000, B0000000, // 1
4, 8, B1100010, B1010001, B1001001, B1000110, B0000000, // 2
4, 8, B0100010, B1000001, B1001001, B0110110, B0000000, // 3
4, 8, B0011000, B0010100, B0010010, B1111111, B0000000, // 4
4, 8, B0100111, B1000101, B1000101, B0111001, B0000000, // 5
4, 8, B0111110, B1001001, B1001001, B0110000, B0000000, // 6
4, 8, B1100001, B0010001, B0001001, B0000111, B0000000, // 7
4, 8, B0110110, B1001001, B1001001, B0110110, B0000000, // 8
4, 8, B0000110, B1001001, B1001001, B0111110, B0000000, // 9
3, 8, B00000000, B00100100, B0000000, B0000000, B0000000, // :
2, 8, B10000000, B01010000, B0000000, B0000000, B0000000, // ;
3, 8, B0010000, B0101000, B1000100, B0000000, B0000000, // <
3, 8, B0010100, B0010100, B0010100, B0000000, B0000000, // =
3, 8, B1000100, B0101000, B0010000, B0000000, B0000000, // >
4, 8, B0000010, B1011001, B0001001, B0000110, B0000000, // ?
5, 8, B0111110, B1001001, B1010101, B1011101, B0001110, // @
4, 8, B1111110, B0010001, B0010001, B1111110, B0000000, // A
4, 8, B1111111, B1001001, B1001001, B0110110, B0000000, // B
4, 8, B0111110, B1000001, B1000001, B0100010, B0000000, // C
4, 8, B1111111, B1000001, B1000001, B0111110, B0000000, // D
4, 8, B1111111, B1001001, B1001001, B1000001, B0000000, // E
4, 8, B1111111, B0001001, B0001001, B0000001, B0000000, // F
4, 8, B0111110, B1000001, B1001001, B1111010, B0000000, // G
4, 8, B1111111, B0001000, B0001000, B1111111, B0000000, // H
3, 8, B1000001, B1111111, B1000001, B0000000, B0000000, // I
4, 8, B0110000, B1000000, B1000001, B0111111, B0000000, // J
4, 8, B1111111, B0001000, B0010100, B1100011, B0000000, // K
4, 8, B1111111, B1000000, B1000000, B1000000, B0000000, // L
5, 8, B1111111, B0000010, B0001100, B0000010, B1111111, // M
5, 8, B1111111, B0000100, B0001000, B0010000, B1111111, // N
4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // O
4, 8, B1111111, B0001001, B0001001, B0000110, B0000000, // P
4, 8, B0111110, B1000001, B1000001, B10111110, B0000000, // Q
4, 8, B1111111, B0001001, B0001001, B1110110, B0000000, // R
4, 8, B1000110, B1001001, B1001001, B0110010, B0000000, // S
5, 8, B0000001, B0000001, B1111111, B0000001, B0000001, // T
4, 8, B0111111, B1000000, B1000000, B0111111, B0000000, // U
5, 8, B0001111, B0110000, B1000000, B0110000, B0001111, // V
5, 8, B0111111, B1000000, B0111000, B1000000, B0111111, // W
5, 8, B1100011, B0010100, B0001000, B0010100, B1100011, // X
5, 8, B0000111, B0001000, B1110000, B0001000, B0000111, // Y
4, 8, B1100001, B1010001, B1001001, B1000111, B0000000, // Z
2, 8, B1111111, B1000001, B0000000, B0000000, B0000000, // [
4, 8, B0000001, B0000110, B0011000, B1100000, B0000000, // backslash
2, 8, B1000001, B1111111, B0000000, B0000000, B0000000, // ]
3, 8, B0000010, B0000001, B0000010, B0000000, B0000000, // hat
4, 8, B1000000, B1000000, B1000000, B1000000, B0000000, // _
2, 8, B0000001, B0000010, B0000000, B0000000, B0000000, // `
4, 8, B0100000, B1010100, B1010100, B1111000, B0000000, // a
4, 8, B1111111, B1000100, B1000100, B0111000, B0000000, // b
4, 8, B0111000, B1000100, B1000100, B0101000, B0000000, // c
4, 8, B0111000, B1000100, B1000100, B1111111, B0000000, // d
4, 8, B0111000, B1010100, B1010100, B0011000, B0000000, // e
3, 8, B0000100, B1111110, B0000101, B0000000, B0000000, // f
4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g
4, 8, B1111111, B0000100, B0000100, B1111000, B0000000, // h
3, 8, B1000100, B1111101, B1000000, B0000000, B0000000, // i
4, 8, B1000000, B10000000, B10000100, B1111101, B0000000, // j
4, 8, B1111111, B0010000, B0101000, B1000100, B0000000, // k
3, 8, B1000001, B1111111, B1000000, B0000000, B0000000, // l
5, 8, B1111100, B0000100, B1111100, B0000100, B1111000, // m
4, 8, B1111100, B0000100, B0000100, B1111000, B0000000, // n
4, 8, B0111000, B1000100, B1000100, B0111000, B0000000, // o
4, 8, B11111100, B0100100, B0100100, B0011000, B0000000, // p
4, 8, B0011000, B0100100, B0100100, B11111100, B0000000, // q
4, 8, B1111100, B0001000, B0000100, B0000100, B0000000, // r
4, 8, B1001000, B1010100, B1010100, B0100100, B0000000, // s
3, 8, B0000100, B0111111, B1000100, B0000000, B0000000, // t
4, 8, B0111100, B1000000, B1000000, B1111100, B0000000, // u
5, 8, B0011100, B0100000, B1000000, B0100000, B0011100, // v
5, 8, B0111100, B1000000, B0111100, B1000000, B0111100, // w
5, 8, B1000100, B0101000, B0010000, B0101000, B1000100, // x
4, 8, B10011100, B10100000, B10100000, B1111100, B0000000, // y
3, 8, B1100100, B1010100, B1001100, B0000000, B0000000, // z
3, 8, B0001000, B0110110, B1000001, B0000000, B0000000, // {
1, 8, B1111111, B0000000, B0000000, B0000000, B0000000, // |
3, 8, B1000001, B0110110, B0001000, B0000000, B0000000, // }
4, 8, B0001000, B0000100, B0001000, B0000100, B0000000, // ~
};

int DIN = 8;
int CS =  9;
int CLK = 10;
int maxInUse = 1; //change this variable to set how many MAX7219's you'll use
MaxMatrix m(DIN, CS, CLK, maxInUse);
byte buffer[10];
char buff[12] ;

void setup() {
  m.init();
  m.setIntensity(1);
  Rtc.Begin() ;
 }

void loop() {
      RtcDateTime dt = Rtc.GetDateTime() ;
      sprintf(buff, " %02u:%02u:%02u", dt.Hour(), dt.Minute(), dt.Second()) ;
      printStringWithShift(buff, 100);
   }

void printCharWithShift(char c, int shift_speed) {
  if (c < 32){
    return;
  }
  c -= 32;
  memcpy_P(buffer, CH + 7*c, 7);
  m.writeSprite(8, 0, buffer);
  m.setColumn(8 + buffer[0], 0);
  for (int i=0; i<buffer[0]+1; i++){
    delay(shift_speed);
    m.shiftLeft(false, false);
  }
}

void printStringWithShift(char* s, int shift_speed){
  while (*s != 0){
    printCharWithShift(*s, shift_speed);
    s++;
  }
}

| | コメント (0)

2019年9月27日 (金)

Arduinoで作ろう(36) 8x8ドットマトリクスLEDでテキストのスクロール

8x8led_scroll_text_

 ココで,パソコンのキーボードから入力したテキストを8x8ドットマトリクスLEDでスクロール表示させるスケッチを見つけました。
面白そうなので,Arduino IDEのエディタにコピペしてコンパイルしようとしたら,Arduino IDE 1.8.9だとエラーで止まってしまいます。
ちょっとググって解決法を見つけたので,少し書き換えたらコンパイルが通りました。

スケッチはコレ→ 20190927display_scrolling_text.ino

/*
 * Display_Scrolling_Text
*/

#include <MaxMatrix.h>
const char CH[] PROGMEM ={
3, 8, B0000000, B0000000, B0000000, B0000000, B0000000, // space
1, 8, B1011111, B0000000, B0000000, B0000000, B0000000, // !
3, 8, B0000011, B0000000, B0000011, B0000000, B0000000, // "
5, 8, B0010100, B0111110, B0010100, B0111110, B0010100, // #
4, 8, B0100100, B1101010, B0101011, B0010010, B0000000, // $
5, 8, B1100011, B0010011, B0001000, B1100100, B1100011, // %
5, 8, B0110110, B1001001, B1010110, B0100000, B1010000, // &
1, 8, B0000011, B0000000, B0000000, B0000000, B0000000, // '
3, 8, B0011100, B0100010, B1000001, B0000000, B0000000, // (
3, 8, B1000001, B0100010, B0011100, B0000000, B0000000, // )
5, 8, B0101000, B0011000, B0001110, B0011000, B0101000, // *
5, 8, B0001000, B0001000, B0111110, B0001000, B0001000, // +
2, 8, B10110000, B1110000, B0000000, B0000000, B0000000, // ,
4, 8, B0001000, B0001000, B0001000, B0001000, B0000000, // -
2, 8, B1100000, B1100000, B0000000, B0000000, B0000000, // .
4, 8, B1100000, B0011000, B0000110, B0000001, B0000000, // /
4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // 0
3, 8, B1000010, B1111111, B1000000, B0000000, B0000000, // 1
4, 8, B1100010, B1010001, B1001001, B1000110, B0000000, // 2
4, 8, B0100010, B1000001, B1001001, B0110110, B0000000, // 3
4, 8, B0011000, B0010100, B0010010, B1111111, B0000000, // 4
4, 8, B0100111, B1000101, B1000101, B0111001, B0000000, // 5
4, 8, B0111110, B1001001, B1001001, B0110000, B0000000, // 6
4, 8, B1100001, B0010001, B0001001, B0000111, B0000000, // 7
4, 8, B0110110, B1001001, B1001001, B0110110, B0000000, // 8
4, 8, B0000110, B1001001, B1001001, B0111110, B0000000, // 9
2, 8, B01010000, B0000000, B0000000, B0000000, B0000000, // :
2, 8, B10000000, B01010000, B0000000, B0000000, B0000000, // ;
3, 8, B0010000, B0101000, B1000100, B0000000, B0000000, // <
3, 8, B0010100, B0010100, B0010100, B0000000, B0000000, // =
3, 8, B1000100, B0101000, B0010000, B0000000, B0000000, // >
4, 8, B0000010, B1011001, B0001001, B0000110, B0000000, // ?
5, 8, B0111110, B1001001, B1010101, B1011101, B0001110, // @
4, 8, B1111110, B0010001, B0010001, B1111110, B0000000, // A
4, 8, B1111111, B1001001, B1001001, B0110110, B0000000, // B
4, 8, B0111110, B1000001, B1000001, B0100010, B0000000, // C
4, 8, B1111111, B1000001, B1000001, B0111110, B0000000, // D
4, 8, B1111111, B1001001, B1001001, B1000001, B0000000, // E
4, 8, B1111111, B0001001, B0001001, B0000001, B0000000, // F
4, 8, B0111110, B1000001, B1001001, B1111010, B0000000, // G
4, 8, B1111111, B0001000, B0001000, B1111111, B0000000, // H
3, 8, B1000001, B1111111, B1000001, B0000000, B0000000, // I
4, 8, B0110000, B1000000, B1000001, B0111111, B0000000, // J
4, 8, B1111111, B0001000, B0010100, B1100011, B0000000, // K
4, 8, B1111111, B1000000, B1000000, B1000000, B0000000, // L
5, 8, B1111111, B0000010, B0001100, B0000010, B1111111, // M
5, 8, B1111111, B0000100, B0001000, B0010000, B1111111, // N
4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // O
4, 8, B1111111, B0001001, B0001001, B0000110, B0000000, // P
4, 8, B0111110, B1000001, B1000001, B10111110, B0000000, // Q
4, 8, B1111111, B0001001, B0001001, B1110110, B0000000, // R
4, 8, B1000110, B1001001, B1001001, B0110010, B0000000, // S
5, 8, B0000001, B0000001, B1111111, B0000001, B0000001, // T
4, 8, B0111111, B1000000, B1000000, B0111111, B0000000, // U
5, 8, B0001111, B0110000, B1000000, B0110000, B0001111, // V
5, 8, B0111111, B1000000, B0111000, B1000000, B0111111, // W
5, 8, B1100011, B0010100, B0001000, B0010100, B1100011, // X
5, 8, B0000111, B0001000, B1110000, B0001000, B0000111, // Y
4, 8, B1100001, B1010001, B1001001, B1000111, B0000000, // Z
2, 8, B1111111, B1000001, B0000000, B0000000, B0000000, // [
4, 8, B0000001, B0000110, B0011000, B1100000, B0000000, // backslash
2, 8, B1000001, B1111111, B0000000, B0000000, B0000000, // ]
3, 8, B0000010, B0000001, B0000010, B0000000, B0000000, // hat
4, 8, B1000000, B1000000, B1000000, B1000000, B0000000, // _
2, 8, B0000001, B0000010, B0000000, B0000000, B0000000, // `
4, 8, B0100000, B1010100, B1010100, B1111000, B0000000, // a
4, 8, B1111111, B1000100, B1000100, B0111000, B0000000, // b
4, 8, B0111000, B1000100, B1000100, B0101000, B0000000, // c
4, 8, B0111000, B1000100, B1000100, B1111111, B0000000, // d
4, 8, B0111000, B1010100, B1010100, B0011000, B0000000, // e
3, 8, B0000100, B1111110, B0000101, B0000000, B0000000, // f
4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g
4, 8, B1111111, B0000100, B0000100, B1111000, B0000000, // h
3, 8, B1000100, B1111101, B1000000, B0000000, B0000000, // i
4, 8, B1000000, B10000000, B10000100, B1111101, B0000000, // j
4, 8, B1111111, B0010000, B0101000, B1000100, B0000000, // k
3, 8, B1000001, B1111111, B1000000, B0000000, B0000000, // l
5, 8, B1111100, B0000100, B1111100, B0000100, B1111000, // m
4, 8, B1111100, B0000100, B0000100, B1111000, B0000000, // n
4, 8, B0111000, B1000100, B1000100, B0111000, B0000000, // o
4, 8, B11111100, B0100100, B0100100, B0011000, B0000000, // p
4, 8, B0011000, B0100100, B0100100, B11111100, B0000000, // q
4, 8, B1111100, B0001000, B0000100, B0000100, B0000000, // r
4, 8, B1001000, B1010100, B1010100, B0100100, B0000000, // s
3, 8, B0000100, B0111111, B1000100, B0000000, B0000000, // t
4, 8, B0111100, B1000000, B1000000, B1111100, B0000000, // u
5, 8, B0011100, B0100000, B1000000, B0100000, B0011100, // v
5, 8, B0111100, B1000000, B0111100, B1000000, B0111100, // w
5, 8, B1000100, B0101000, B0010000, B0101000, B1000100, // x
4, 8, B10011100, B10100000, B10100000, B1111100, B0000000, // y
3, 8, B1100100, B1010100, B1001100, B0000000, B0000000, // z
3, 8, B0001000, B0110110, B1000001, B0000000, B0000000, // {
1, 8, B1111111, B0000000, B0000000, B0000000, B0000000, // |
3, 8, B1000001, B0110110, B0001000, B0000000, B0000000, // }
4, 8, B0001000, B0000100, B0001000, B0000100, B0000000, // ~
};

int DIN = 8;
int CS =  9;
int CLK = 10;
int maxInUse = 1; //change this variable to set how many MAX7219's you'll use
MaxMatrix m(DIN, CS, CLK, maxInUse);
byte buffer[10];

void setup() {
  m.init();
  m.setIntensity(1);
  Serial.begin(9600);
}

void loop() {
  while (Serial.available() > 0) {
    byte c = Serial.read();
    Serial.println(c, DEC);
    printCharWithShift(c, 100);
    }
}

void printCharWithShift(char c, int shift_speed) {
  if (c < 32){
    return;
  }
  c -= 32;
  memcpy_P(buffer, CH + 7*c, 7);
  m.writeSprite(8, 0, buffer);
  m.setColumn(8 + buffer[0], 0);
  for (int i=0; i<buffer[0]+1; i++){
    delay(shift_speed);
    m.shiftLeft(false, false);
  }
}

void printStringWithShift(char* s, int shift_speed){
  while (*s != 0){
    printCharWithShift(*s, shift_speed);
    s++;
  }
}

 

 

| | コメント (0)

2019年9月25日 (水)

Arduinoで作ろう(35) 8x8ドットマトリクスLEDで電子サイコロ

8x8led_dice_

 MAX7219というLEDディスプレイドライバが載った8x8ドットマトリクスLEDモジュールを手に入れたので,試しに電子サイコロを作ってみました。
このサイトで手に入れた LedControl.h というライブラリを使います。
タクトスイッチを押すと,くるくる回っているサイコロが止まります。というか,ランダムでサイコロの数字が決まります。

スケッチはコレ→ max7219_8x8_dice.ino

/*
 * MAX7219+8x8dotMatrixLED 電子サイコロ
 */
 
#include <LedControl.h>
int DIN = 8;
int CS =  9;
int CLK = 10;
byte dice[6][8]={
 {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00}, //1
 {0x03,0x03,0x00,0x00,0x00,0x00,0xC0,0xC0}, //2
 {0x03,0x03,0x00,0x18,0x18,0x00,0xC0,0xC0}, //3
 {0xC3,0xC3,0x00,0x00,0x00,0x00,0xC3,0xC3}, //4
 {0xC3,0xC3,0x00,0x18,0x18,0x00,0xC3,0xC3}, //5
 {0xC3,0xC3,0x00,0xC3,0xC3,0x00,0xC3,0xC3}  //6 
};
LedControl lc=LedControl(DIN,CLK,CS,1);

void setup(){
 lc.shutdown(0,false);      
 lc.setIntensity(0,5);
 lc.clearDisplay(0);
}

void loop(){
 if (digitalRead(12) == HIGH){
    for (int i = 0; i < 6; i ++) {
    printByte(dice[i]);
    delay(50);
    }
 }
 else{
  randomSeed(analogRead(A0));
  int randnumber = random(0, 5);
  printByte(dice[randnumber]);
  delay(3000);
 }
}

void printByte(byte character []){
  int i = 0;
  for(i=0;i<8;i++){
    lc.setRow(0,i,character[i]);
  }
}

 

| | コメント (0)

«Arduinoで作ろう(34) 赤外線リモコンカー