2017年11月20日月曜日

Arduinoでタッチセンサ その2

前にArduinoでタッチセンサを作ってみましたが
1ポートしか対応していなかったので複数ポートに対応してみた。

D2ポートとタッチセンサとして使用したいポートの間に
1MΩの抵抗を入れて下さい。

D2をタッチセンサ静電容量計測の為の出力に使っていますので
タッチセンサとしてしようするのはそれ以外をタッチセンサとして
使用できます。
因みに本ソースではD3をタッチセンサとしています。


//
//タッチセンサ
//

#define Version "TouchSence210"
//複数入力に対応
//#define Version "TouchSence200"

#define ouTouch 2 //タッチセンサ出力
#define inTouch 3 //タッチセンサ入力
#define ouLED 13 //検知状態モニタ

int threshold = 3; //判定レベル

void setup()
{
  pinMode(ouTouch,OUTPUT);
  pinMode(inTouch,INPUT);
  pinMode(ouLED,OUTPUT);
  
  Serial.begin(115200);
  Serial.println(Version);
}

struct stTouch{
  int stt;      //タッチセンサ出力
  int tt;        //タッチセンサ入力反転時間計測用
  int tH[8];  //立上り時間
  int tL[8];  //立下り時間
  int lev[8]; //タッチセンサ判定結果
} touch;

int touchMng(int touchPin)
{
  digitalWrite(ouTouch, touch.stt);
  //入力が出力と同レベルになるまでの時間カウント
  if (digitalRead(touchPin)!=touch.stt){
    touch.tt++;
  }
  //入力が出力と同レベルに変化なった
  else{
    //レベル反転とHiとLoの時間を保持
    if(touch.stt!=HIGH){
      touch.stt = HIGH;
      touch.tL[touchPin] = touch.tt;
    }
    else{
      touch.stt = LOW;
      touch.tH[touchPin] = touch.tt;
    }
    touch.tt = 0;
    //変化時間表示
    /*
    if(touch.stt!=HIGH){
      Serial.println();
      Serial.print("\ttL= ");
      Serial.print(touch.tL[touchPin]);
      Serial.print("\ttH= ");
      Serial.print(touch.tH[touchPin]);
      Serial.print("\tSUM= ");
      Serial.print(touch.tH[touchPin]+touch.tL[touchPin]);
      Serial.print("\tSUB= ");
      Serial.print(abs(abs(touch.tH[touchPin])-abs(touch.tL[touchPin])));
    }
    */
    //判定結果を確定
    if( touch.tH[touchPin]+touch.tL[touchPin] > threshold ){
      touch.lev[touchPin] = true;
    } else {
      touch.lev[touchPin] = false;
    }
  }
  //判定結果を返す
  return touch.lev[touchPin];
}
void loop()
{
  //検知状態をLED点灯
  if(touchMng(3) == true){
    digitalWrite(ouLED, HIGH);
  } else {
    digitalWrite(ouLED, LOW);
  }
}


立上り時間と立下り時間を加算してスレッシュホールドレベルと
比較していますが、どちらか片方では商用電源の誘導で引っ張られて
時々検知が外れてしまっていた為、両方を加算しました。

2017年9月27日水曜日

HUAWEI nova liteのスマホケースを3Dプリンタで作ってみた



カードが1枚入るHUAWEI nova liteを3Dプリンタで作ってみました。

カードが入れられるスマホケースとしては、間違いなく最薄だと思います。




STLファイルとSTEPファイルを公開しようと思ったけど

あれれ?

アップロード出来ないぞ

需要があるようならアップロードします。

2017年5月29日月曜日

仮想通貨はじめました

こんにちは、買ったら下がり売ったら上がる典型的なパンピーです。

遅ればせながら仮想通貨をはじめました。
bitFlyer ビットコインを始めるなら安心・安全な取引所で
bitFlyer ビットコインを始めるなら安心・安全な取引所で

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin
日本で一番簡単にビットコインが買える取引所 coincheck bitcoin
簡単安心!ビットコイン取引所 coincheck

2017年5月16日火曜日

靴紐の結び方を発明しました

敢えてバカっぽいタイトルにしています

靴紐が解ける
時々解ける
歩いている時に解ける
かと言って
立ち止まって結び直すのは

イヤだ

かと言って

イアン結びでは解く時に面倒

そんな訳で新し結び方を考えました
非対称です
一応名前を付けました
Asymmetry結び
アシンメトリー結び
略して「あんしん結び」
です

特徴として
・非対称です
(見ようによってはオシャレ)
・かんたんに結べます
(比較対象はイアン)
・かんたんに解くことが出来ます。
(青紐の1本を引っ張ると解け、それ以外では解けません)

絵だけでは難しそうですが
かなりかんたんに結べます
もう少し判りやすい絵を書きたかったけど
そのうち書くかもしれません

チョットづつ書き足します(2017-05-23)
結び方ステップ1

1.片方を二つ折りして1回クロスさせます
クロスさせる方向は二つ折り側を外から内に
潜り込ませるようにするのがコツです。

続きはまた今度


2017年5月10日水曜日

GoogleがSwypeをパクッた?

 不穏なタイトルでごめんなさい。

 最初に衝撃を受けたのがSwypeなので
 Swypeが元祖かなって思ってるだけで調べてもいません。

 Swypeを使い続けて7年目になろうとしていますが、
 そんななかGoogleキーボードのアプデがあったので
 何が変わったのって見てみたら、

  Gboardと名前を変えてスワイプ入力対応になってるじゃないですか。



 まぁ、Google先生はグライド入力と
 言っているようですけどね。

 Swypeにはドコモが1億程出資して
 galaxyにプリインしたかと思ったら、
 早々に諦めて無かった事にしたりとか

 SwypeはSwypeで日本語入力がなかなか上手く行かず、
 音声入力を頑張ったり中国語入力を多様化したりと
 色々と努力していました。
 まあ個人的にはユーザー辞書登録を
 なんとかしてほしかったんですけどね。

 で、GoogleのGboardですが
  素晴らしい Swypeとは違った方向性で自動翻訳を付けたり、
予測変換とか実にGoogleらしい。

因みにGoogle Playのレビューを見てみると
日本語入力はどうするの見たいなのがありましたが
Gboard - Google キーボードとGoogle 日本語入力の
両方を入れると地球マークみたいなのが現れるので
それで切換えてくれますよ。

 これからGboardとSwypeがどう進化して行くか楽しみですね