« 2019年9月 | トップページ

2019年10月

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月 | トップページ