admin のすべての投稿

Fukuoka City LoRaWAN(TM)実証実験に参加中

Fukuoka City LoRaWAN(TM)実証実験
室内環境センシングで参加中です。。

室内の「温度」「湿度」「二酸化炭素濃度」を5分おきに
LoRaWANを使ってクラウドにデータをアップして
なんとかグラフで見られるようになりました。

装置の設置場所は
Fukuoka growth next の
3F シェアーオフィス
1F コワーキングスペース
1F GOODAY FAB DAIMYO
です。

テータは以下のページで閲覧できます。

3F シェアーオフィス
1F コワーキングスペース
1F GOODAY FAB DAIMYO

今回作った室内近況センシング装置
計測内容 : 温度・湿度・二酸化炭素濃度

設置例 (1F コワーキングスペース)

二酸化炭素センサー MH-Z19 のPWM入力プログラムを割り込み処理で実現

二酸化炭素センサー MH-Z19 のPWM入力でデータを取得したくて
Arduino用のサンプルプログラムを使ってみたのですが、
このプログラムPWMのパルス長の計測をメイン処理の中でやっていたので、
このままでは他のセンサーとの併用が難しいので、データ取得部分を割り込み処理に変更してみました。

割り込みには「MsTimer2」ライブラリを使用しています。
またデータのフィルタリングテストの処理も追加しています。

公開されていた元のプログラム

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#define pwmPin A0
#define LedPin 13
 
int prevVal = LOW;
long th, tl, h, l, ppm;
 
void setup() {
  Serial.begin(9600);
  pinMode(pwmPin, INPUT);
  pinMode(LedPin, OUTPUT);
}
 
void loop() {
  long tt = millis();
  int myVal = digitalRead(pwmPin);
 
  if (myVal == HIGH) {
    digitalWrite(LedPin, HIGH);
    if (myVal != prevVal) {
      h = tt;
      tl = h - l;
      prevVal = myVal;
    }
  }  else {
    digitalWrite(LedPin, LOW);
    if (myVal != prevVal) {
      l = tt;
      th = l - h;
      prevVal = myVal;
      ppm = 5000 * (th - 2) / (th + tl - 4);
      Serial.println("PPM = " + String(ppm));
    }
  }
}

割り込みによる処理に変更したプログラム

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
  MH-Z19
  Intelligent Infrared CO2 Module
 
  MsTimer2 is a small and very easy to use library to interface Timer2 with
  humans. It's called MsTimer2 because it "hardcodes" a resolution of 1
  millisecond on timer2
  For Details see: http://www.arduino.cc/playground/Main/MsTimer2
 
  2017/08/20
  NextStep/Kaz Ueno
*/
 
#include <MsTimer2.h>
 
/* Switch on LED on and off each half second */
 
#define     LedPin 13                               /* LED to pin 13 */
#define     pwmPin A0                               /* CO2 data input to pin A0 */
 
boolean     prevVal = LOW;
 
uint32_t    CO2_data = 0L;
uint8_t     data_count = 0L;
 
uint32_t    th, tl, h, l, ppm, ppm_now;
 
uint32_t    ppm_befor = 0L;
uint32_t    tt = 0L;
 
 
 
void flash()
{
  uint8_t myVal = digitalRead(pwmPin);
 
  tt++ ;
  if (myVal == HIGH) {
    digitalWrite(LedPin, HIGH);
    if (myVal != prevVal) {
      tl = tt ; 
      prevVal = myVal;
      tt =0L;
    }
  }  else {
    digitalWrite(LedPin, LOW);
    if (myVal != prevVal) {
      th = tt; 
      prevVal = myVal;
      ppm = 5000 * (th - 2) / (th + tl - 4);
      ppm_now = ppm_befor * 0.8 + ppm * 0.2 ;
      ppm_befor = ppm_now;
      data_count++ ;
      CO2_data += ppm_now;
      tt = 0L;
    }
  }
}
 
void setup()
{
  Serial.begin(9600);
  pinMode(pwmPin, INPUT);
  pinMode(LedPin, OUTPUT);
 
  MsTimer2::set(1, flash);                            // 1ms毎に割り込みを発生させる
  MsTimer2::start();
  delay(5000);
}
 
void loop()
{
  uint32_t    CO2_data_ave;
  CO2_data_ave = CO2_data / data_count;
  Serial.println("PPM = " + String(CO2_data_ave) +"," + String(ppm_now) +"," + String(ppm));
  CO2_data = 0L;
  data_count = 0L;
 
  delay(5000);
}

続・アイドルプロデュース

前回ローカルアイドルの子をテレビ出演させたいと書きましたが
意外と早く実現します。

KBC九州朝日放送の深夜の番組「野望研究所」に出演します。
放送日は6月29日、木曜日の深夜25時20分。

前回の記事を書いたのが 6月7日 なので
その時はまだ何にもなかったのが、その1週間後には取材でした。

今回のローカルアイドル「梅野せんり」の売り込み(?)に関しては
人脈と環境のフル活用、色々な好条件が揃ったのと不思議な位のタイミングの良さだと思っています。

自分の本業の方もこんなにうまくいくと良いのですが(笑)

http://www.kbc.co.jp/tv/yabolabo/

アイドルプロデュース

2年ほど前に一度仕事で絡んだアイドルの女の子から
「またブログの事とか教えてください。」と連絡があったのが3月。
ブログを作ってあげて、Fukuoka growth nextのオープン(4/12)後は
色々な人達(スタートアップ企業やデザイン関係やIT関係)にその子を紹介した。
「なぜにアイドル?」と思われるのとか関係無しに。
その結果オープンから2ヶ月経った今では、FGNの住人アイドルとして施設内で知らない人がいないくらいに知名度が上がり、
それに伴い企業の就職イベントのお手伝いや、施設内の大きなイベントのお手伝いに声が掛かるようになった。
この3ヶ月半で彼女は普通にローカルアイドルやっていても経験出来ないことを経験出来たと思う。
高島市長とも2ショット写真も撮ったし。

その大集成としてのテレビ出演、これもにわかに現実味が帯びてきた。
そこまでもう一歩、
「電子工作おやじのアイドルプロデュース」それも有かなと思う。

MastodonのインスタンスをさくらVPSに立ててみた

なんか流行っているらしい
astodonのインスタンスをさくらVPSに立てみました。

色々なサイトを参考にしながらやってもうまく動かなくて
やっと何とか動き出しました。
まだメールを飛ばしたりする部分が残っていますが。

参考にしたサイトは
Getting started with Mastodon!

Mastodon(マストドン)のインスタンスをCentOS7で立ててみる

Dockerを使わずにCentOS7にインストールしました。

追記 : メールも飛びました。

GOODAY FAB 大名店

140年の歴史を誇る大名小学校跡地に4月12日にオープンした
FUKUOKA growth next(福岡の中心部天神駅から徒歩3分) の3F シェアオフィスに入居しました。

FGNにはインキュベーションオフィス、シェアオフィス(固定席)、シェアオフィス(自由席)
すべての入居者は100人を超えると思います。

様々な企業や人との交流も楽しいのですが、
1Fに入居されている「GOODAY FAB 大名店」
ここは楽しすぎます。
レーザー加工機や3Dプリンタ、小型CNCマシンと工作機械も揃っていますし、
自分をはじめとした有志が電子工作用の計測器類を持込んでいて
当然自由に使う事が出来ます。
抵抗やコンデンサ類もある程度揃えていて、これらも自由にお使いいただけるようにしました。

電子工作やっている方や興味をお持ちの方は是非遊びにいらしてください。

FUKUOKA growth next

GOODAY FAB 大名店