So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

プレートタイマー [Arduino]

Arduinoシリーズで、プレート用のタイマー作ってみました。
単純にボタンを押すと1秒間ブザーがなり、その後2秒間の無音のあと1秒間のブザーがなるものです
image-20160128225150.png

今回のはAVR単体みたいなArduinoもどきの”あちゃんでいいの”を使ってます。これもアイテンドです。
image-20160128225219.png

考えてみればただのAVRに水晶つけただけみたいな回路なので、秋月のPICのキットの4558のとあまり
変わらない。書き込み用の装置だけそろえてしまえば、こっちのほうがいろいろ手軽にできる感じではあります。


ただArduinoIDEはリモートデバッグができないので、その辺りはちょいとPICのほうが勝ってるかもしれない。もっとも石によるんだけどね。
ICSP端子ももともとあるわけだから本当はリモートデバッグできるのかもしれないけど。

ちょっと本気で組むとちょっと面倒かもしれないけど、USBを使ったprintfデバッグができるので、まあ、それなりってところかも。
あんまりほしい人もいるとは思わないけど、参考に。
#define BUZZ    9
#define TRIGGER 10
#define MODE    11
#define LED     13
int sw=0;
int md=0;
int fl=0;
int mdDly=0;

void setup() {
  pinMode(BUZZ,OUTPUT);
  pinMode(TRIGGER,INPUT);
  pinMode(MODE,INPUT);
  pinMode(LED,OUTPUT);
  
  // put your setup code here, to run once:
  digitalWrite(BUZZ,LOW);
  sw=0;
  md=digitalRead(MODE);
  sw=digitalRead(TRIGGER);
  if (md==1){
    digitalWrite(LED,HIGH);
  }
  if (sw==1){
      mdDly=1;
      long rs=0;
      digitalWrite(LED,HIGH);
      while(sw==1){
        rs++;
        delay(10);
        if (rs>100000){
          rs=0;
        }
        sw=digitalRead(TRIGGER);
      }
      digitalWrite(LED,LOW);
      randomSeed(rs);
      delay(1000);
  }
}

void loop() {
  // put your main code here, to run repeatedly:

  sw=digitalRead(TRIGGER);
  md=digitalRead(MODE);

  if(md ==1 || sw==1){
    if (mdDly){
      int dt=2000+random(1000);
      delay(dt);
    }
    digitalWrite(BUZZ,HIGH);
    delay(1000);
    digitalWrite(BUZZ,LOW);
    delay(2000);
  };
  if (sw ==1){
    digitalWrite(BUZZ,HIGH);
    delay(1000);
    digitalWrite(BUZZ,LOW);
  }
}

コメント(0) 

コレでいいの [Arduino]

最近Arduinoもどきにが面白い。
もともとArduinoは、イタリアのMakerが作ったオープンソースハードウェア(基板とかの情報も公開するハードウェア)で、誰もが自由にコピーできるものだ。


そんなものを、いまや一台IT先進国となった中国がほっとくわけなまがい物というか、クローンというか、似て非なるものというかが多数存在する。

そこはそれオープンソースなので問題がないし、実は、内容としてもAVRというマイコンに、USBインターフェースと、ピンフレームをつけただけなのでだれも咎めはしない。

Arduinoは、ピンフレームの位置も含めて公開しているので、このフレーム上にまたがるいろんなものがあり、これがまた面白かったりするが、この話は、ちょっと別にして、今日のお題はこれ。

image-20160128224959.png

ハードウェアサイズも規格化したardunoなんだけど、さらに、プログラム読み書き用のインターフェースだけを残したArduinoをつくると、サイズ的にも自由になれる。
プログラムのインターフェースが残っているので、ArduinoIDEからプログラムできるし、世の中にあまたあるスケッチ(arduino の世界ではアプリケーションプログラムのことをこういう)も使える。
もちろん特別なハードウェアを用いるものもあるが、それとて、ピンをつなげるだけでいい。

コレをSPIグラフィック液晶のために特化して作ったのが、上記のもので、液晶もセットしたものが。
aitendoのコレでいいのだ。

image-20160128224938.png

液晶のサイズを意識した基板と同じサイズなので、スートしている。

いかが動作サンプル。
image-20160128224914.png


image-20160128225013.png

これもST7565 LCDライブラリというのが世の中で公開されており、前述のArduinoIDEを用いてかきこむことにより使用できる。
ただし、この液晶パネルはライブラリのそのままのコードでも動くか上の写真のようにはならない。

ほとんどなにも感がなくて動くので、デジタルって便利だよな。っ手感じ。



次回はいつ書くのか。



タグ:Arduino
コメント(0)