初心者によるArduinoとProcessingを使ったロボット製作

初心者ですがArduinoとProcessingを使ったロボット製作をやっています。 将来は宇宙や深海や道端を家から遠隔で操作できるようなロボットを作りたいです。 ちなみに2chも好きです。相互RSS希望があれば連絡ください。processingのPDEは、Processing Development Environmentの略みたいです。

今はArduinoとProcessingを使ったビジュアルサーボの記事をたくさん書きたいと思っています。

カテゴリ: Processing

ポイントとしては、
map:縮尺と範囲を変える関数
constrain:範囲を限定する関数
ってところです。





続きを読む

processingでキーに反応するプログラムは色々書けるんですけど、
keypressed ってキーを押している間って意味なんですよね。
押してスタートってしたいときは、
keyの関数を使えば良いのです。

いかにsを押したらボールが動き始めるプログラムを載せておきます。

サンプルプログラム
float x = 0.0;
float speed = 1.0;

void setup() {
  size(200, 200);
}

void draw() {
  background(0);
  if (key == 's') {
    x += speed;
  }
  ellipse(x, height/2, 50, 50);
}
 
ディジタル画像処理 [改訂新版]
公益財団法人画像情報教育振興協会(CG-ARTS協会)
2015-08-10

frameRate()って関数を使います。
引数は1秒間に実行する回数みたいで、
frameRate(5); ってやると、1秒間に動く回数は5回のようです。

 
int x;
 void setup()
 {
   x = 10;
   noStroke();
 }
 void draw() 
 { 
   background(0);
   x += 1;
   ellipse(x,x,30,30);
   frameRate(5);
 }

 のプログラムを実行すると、丸いボールがゆっくり動く動画を作れます。

 

ArduinoをProcessingでGUI操作するのはめちゃくちゃ便利です。
一度、Arduinoをプログラミングすれば、次からはもうArduinoは起動せずProcessingだけで操作できます。

データの行き来としては、
Processing
→指令
←センサ情報など
Arduino

って感じです。 


次に、Processingで送る指令を考えますね。
送る指令は例えば、
スイッチのオンオフ
サーボモーターの角度
などですよね。

それで、送る指令も型が違います。
スイッチのオンオフ→0,1
サーボモーターの角度→0~180
とかですよね。

ブール代数を使うのか、それとも実数を使うのかってのはしっかり最初に考えないとごっちゃになります。




 

クリックしていると片方のLEDがついて、はなすとLEDが消えるプログラムを作りました。
最近購入したArduino nanoの偽物を使いました。やっぱすごい。



以下コードです。

続きを読む

ArduinoとProcessingでPCで操作して動かせるロボットを作ろうとしてるんですけど、動かしたいものや機能によってGUIって変わるんですよ。
当たり前ですが、なので今回はそれを分けていこうと思います。

基本的に、
オンオフがあるものがボタンスイッチ
連続的に変化させたいものがシークバー
です。


入門 Qt 4 プログラミング
Jasmin Blanchette
オライリー・ジャパン
2007-11-27



続きを読む

東芝の出しているモータードライバです。
超ロングセラー商品じゃないでしょうか?
すごい昔に出版された本にも載っています。

モータードライバー TA7291P 2個セット
株式会社東芝セミコンダクター社(TOSHIBA)


続きを読む

1Processinngをダウンロード
2 メニューのスケッチ>ライブラリをインポート…>ライブラリを追加… を押す
3 検索のところにOpencvと書いて検索、インストール
4ファイル>サンプル でOpencvって書いてあるフォルダの中のファイルをどれかおす
5実行。

続きを読む

Processingでウェブカメラを2つつなぐことができました。
なぜ2つつなぐかというと、2つつなぐことで色々な役立つ機能を作れるからです。
例えば、
マスタースレーブロボットのマスター部分とロボット部分の同時撮影
縦からと横からの同時撮影
です。



続きを読む

ProcessingやArduinoでテキストファイルにデータを書き出したいときありますよね。
そういう時は、以下のように書きます。これは出てきたウィンドウのクリックされた部分の座標がメモ帳に書き出されるプログラムです。
*Arduinoではできないみたいです。。Processingやっていて良かった。。

 //ファイル保存
PrintWriter outfile;
float time;

void setup() 
{
  size(200, 200);
  // ファイルを作成する
  outfile = createWriter("pos_t.txt");
  frameRate(20);
}

void draw() 
{
  if (mousePressed) {
    ellipse(mouseX, mouseY,3,3);
    // ファイルに記録する
    outfile.println(mouseX + "," + mouseY);
  }
}

void keyPressed() { 
  if(key == 'a'){
    outfile.flush(); //残りを出力する
    outfile.close(); // ファイルを閉じる
    exit(); // 終了
  }
}
 

↑このページのトップヘ