198084 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

何でもヲ屋ジ

何でもヲ屋ジ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

キーワードサーチ

▼キーワード検索

プロフィール

オドリー南の島

オドリー南の島

フリーページ

2010年01月18日
XML
カテゴリ:マイクロチップ
arduinoのよいところのひとつに、ATMega328をのせると基準電圧が1.1Vになる点です。これでオペアンプを使うことを減らすことができます。赤外線センサの出力をそのまま突っ込んでみました。配線が長いので発振するようなので3Vで動かしました。鼻の下が赤外線センサです。

センサの右から移動したときと、左から移動したときで出力の変位の仕方が変わるので、
2色LEDをキティの耳の部分につけて、青と赤を光らせています。たまに変位が同じになるので、そのときは、両耳が黄色に光ります。
液晶表示器のルーチンをそのまま残したサンプルスケッチは、次のとおりです。


括弧は半角にしてください。


#include <LiquidCrystal.h>
#include <MsTimer2.h>

// LiquidCrystal display with:
// rs on pin 12
// rw on pin 11
// enable on pin 10
// d4, d5, d6, d7 on pins 5, 4, 3, 2
int inc = 0;
int dec = 0;
int now = 0;
int before = 0;
int count = 10;
int leddec = 0;
int ledinc = 0;

int val = 0;
int analogPin = 0;
static boolean leftled = HIGH;
static boolean rightled = HIGH;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12, 13);

void flash() {

if (inc - ledinc > dec - leddec ){
leftled = HIGH;
rightled = LOW;
}
else if (inc - ledinc < dec - leddec ) {
leftled = LOW;
rightled = HIGH;
}
else if (inc - ledinc > 0) {
leftled = HIGH;
rightled = HIGH;
}
else {
leftled = LOW;
rightled = LOW;
}

digitalWrite(2, leftled);
digitalWrite(3, rightled);
ledinc = inc;
leddec = dec;

}

void setup()
{
// Print a message to the LCD.
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);

pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
int analogPin = 0;
lcd.print("hello, world!");
analogReference(INTERNAL);

MsTimer2::set(2000, flash); //
MsTimer2::start();

}

void loop()
{
before = now;
now = analogRead(analogPin); //
count = count - 1;
if (count < 1) {
count=count + 1;
if (now > before + 3) {
inc = inc + 1;
}
if (now < before - 3) {
dec = dec + 1;
}
}
val = analogRead(analogPin); //
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("cnt=");
lcd.print(count);
lcd.setCursor(8, 0);
lcd.print("now=");
lcd.print(now);
lcd.setCursor(0, 1);
lcd.print("inc=");
lcd.print(inc);
lcd.setCursor(8, 1);
lcd.print("dec=");
lcd.print(dec);

delay(200);

}





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2010年01月19日 00時29分51秒
コメント(0) | コメントを書く
[マイクロチップ] カテゴリの最新記事


■コメント

お名前
タイトル
メッセージ
画像認証
別の画像を表示
上の画像で表示されている数字を入力して下さい。


利用規約に同意してコメントを
※コメントに関するよくある質問は、こちらをご確認ください。


バックナンバー

・2024年04月
・2024年03月
・2024年02月
・2024年01月
・2023年12月

カテゴリ

カレンダー

お気に入りブログ

コメント新着

burarigo@ Re:品不足で、普段食わないものを買って食べて、(03/18) そうなりそうです。冷凍庫に眠っていた菓…
mokomokono@ はじめまして オドリー南の島さんみたいにはっきり意見…
angelsatomi@ Re:マドンナ madonna の miles away の 和訳(07/18) はぁ~ あの歌詞ってそんな内容だったん…

ニューストピックス


© Rakuten Group, Inc.