Arduino

DCモーターの回転数をボリュームで調整

さて、モーターもただ回すだけでは面白くないので、回転数を調整できるようにする。 VRに5Vを加え、出てきた値を読み出して、それでモーターの回転数を調整する。 スケッチは以下の通り。 #define DC_MOTOR_PIN 3 #define VR_PIN 0 void setup() { // put yo…

DCモーターを回す

さて久しぶりにArdiono。 LチカやLCDも良いのだが、もっとアクションが欲しい。 ということで、モーターを回してみることにした。 幸い購入したキットにはDCモーターが付いていたので、これを回してみよう。 DCモーターなんて、1.5Vもあれば回るので、デジタ…

Arduino UNOのピン(メモ)

Digitalピンのうち、PWM(analogWrite)に使用できるのは3、 5、6、9、10、11ピン。 PWMの範囲は0-255。 PWMの周波数は500MHz、つまりパルス幅は最小2/255msec. アナログ入力ピンは"0"でも"A0"でも呼び出せる(analogRead(0)もしくはanalogRead(A0))。 入力値は…

TFTタッチシールドで遊ぶ−その1

Arduinoの楽しみの一つに、組み立て済みモジュール=シールドをつないで遊ぶことがある。 ディスプレイエンジニアとしては、是非カラー液晶を使って遊んでみたいものだ。 ということで、Seeed Studioの2.8" TFTタッチシールドを購入してつないでみた。 なお…

キャラクター液晶をつけて遊ぶその2

さて、ただ液晶をつけても面白くないので、新幹線についているようなスクロールメッセージ表示器を作ってみることにした。 ArduinoのLiquidCrystalライブラリーにはscrollDisplayLeff()、scrollDisplayRight()というメソッドがある。 これは液晶ドライバ(HD4…

キャラクター液晶をつけて遊ぶその1

お次はLCDだ。 購入したキットにはQC1602というパーツ名のキャラクター液晶が付いていた。 いわゆるHD44780互換のキャラクタ液晶ドライバを適用したもののようだ。 ディスプレイエンジニアである筆者には、否が応にも盛り上がるパーツだ。 ググって見たとこ…

加速度計で遊ぶその2

さすがにシリアルコンソールに数字が表示されるだけでは寂しいので、ちょっと改造をした。 Arduino側をまずバイナリーで出力するようにする。 void loop() { for(count = 0; count { SensorOutputADC[ count ] = analogRead( inputAnalogPin[ count ] ); byt…

加速度計で遊ぶその1

さて、筆者が購入したブレッドボードキットには加速度計が付いていた。 これで遊んでみよう。 物はアナログデバイスのADXL335で、GY-61というモジュール名が振られている。 ググってみるとGY-61の回路図が見つかった。 ADXL335に電源用の3.3Vレギュレータが…

Arduinoいろは

Arduinoなどはフィジカルコンピューティングと呼ばれている。 いわゆる組み込み(MCUによる制御をする)プログラミングだ。 Arduinoの場合には、基本的に void setup() { } void loop() {}の二つの関数がある。 setupは起動時のみ実行され、loopはエンドレスで…

I2C念のため

ArduinoのA4がSDA、A5がSCL。 それぞれに10kohmのプルアップが必要。 I2Cのドライバはオープンドレインなので、プルアップを接続先のレベルに合わせれば送信は可能。 ArudinoのIO電源は5Vなので、ACKも含めた受信を出来るかは? ちなみに3.3Vでは動作した。A…

I2Cリーダー

ライターができれば、リーダーだ。 スニファを作ってみた。 #include int i2cAddress = (ここでスニッフするスレーブデバイスのアドレスを指定); byte Buffer;void onI2CReceived(int NumOfReceivedData) { while(Wire.available() > 0) { Buffer = Wire.rea…

I2Cライター

諸事情で使うことになったArduino、多忙でなかなかいじれなかったのだが、ようやくI2Cライターを作ることができた。 といってもライブラリーがあり、なんというか、あっけなく終わった。 こんな感じだ。 #includeint i2cAddress = (ここでスレーブデバイスの…

Arduino事始め

やり始めたプラットフォームを中途半端なまま、次のプラットフォームに手を付け出すのが筆者の悪い癖だ。 もともとVerilogを選択したのも、仕事がらみではあったのだが、今回も仕事がらみではある。 I2Cライターを作る必要があるのだが、先人に聞いたところ…