« ガイガーカウンタ GC10(3)放射線量データロガー | トップページ | ドライアイス不要の霧箱(1) »

2020年3月19日 (木)

ガイガーカウンタ GC10(4)空間放射線量の自動ツイート

Ethernet-shield_gc10

 Ethernetシールドを載せたArduinoにガイガーカウンタGC10をつないで,1時間おきに空間放射線量を自動ツイートするようにしてみました。

  20200319

Tweet

 スケッチの中にMACアドレスを書く箇所があるのですが,例によって中華製の安いEthernetシールドを買ったので,これにはMACアドレスがついてませんでした(^^;)
仕方がないので,もう使わなくなったノートPC用LANカードについてたMACアドレスを流用しました。
 あと必要なのはArduinoからTwitterを利用するためのトークンですが,これはこのサイトに発行してもらいました。Twitterライブラリも同じサイトからダウンロードして,Arduino IDEにインストールしておきます。

で,スケッチはこんな感じ。

/*
* GC10+Ethernetシールドで空間放射線量を自動Tweet
*/

#include <SPI.h>
#include <Ethernet.h>
#include <Twitter.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //あなたのEthenetシールドのMACアドレスに書き換えること
byte ip[] = { 192, 168, 0, 177 }; //あなたのArduinoのローカルIPアドレス
Twitter twitter("発行してもらったあなたのトークン");

void setup(){
 delay(1000);
 Ethernet.begin(mac, ip);
 Serial.begin(9600);
}

void loop(){
 String cpm = "" ;
 String dataString = "";
 if (Serial.available()) {
  cpm = Serial.readStringUntil('\r');
  Serial.flush();
  cpm.trim();
  delay(1000);
 }
if (int(millis()/1000%3600) == 0){               //60分(3600秒)ごとにTweet
  dataString += "【自動Tweet】%0DガイガーカウンタGC10+Arduino によるリアルタイム放射線量測定%0D%0D";
  dataString += "現在の空間放射線量(岐阜市) : ";
  dataString += String(cpm);
  dataString += "CPM , ";
  dataString += String(cpm.toFloat()/165);   //gms=165として,μSvに換算
  dataString += "μSv";
  char* msg = dataString.c_str();
  Serial.println("connecting ...");
  if (twitter.post(msg)) {
    int status = twitter.wait(&Serial);
    if (status == 200) {
    Serial.println("OK.");
  } else {
    Serial.print("failed : code ");
    Serial.println(status);
  }
  } else {
    Serial.println("connection failed.");
  }
 }
}

| |

« ガイガーカウンタ GC10(3)放射線量データロガー | トップページ | ドライアイス不要の霧箱(1) »

Arduino」カテゴリの記事

高校物理」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« ガイガーカウンタ GC10(3)放射線量データロガー | トップページ | ドライアイス不要の霧箱(1) »