• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アルディーノでのプログラムについて)

アルディーノでのプログラムについて

lumiheartの回答

  • lumiheart
  • ベストアンサー率47% (1112/2318)
回答No.1

https://deviceplus.jp/hobby/entry037/ 第37回 ステッピングモーターの基本(前編)〜Arduinoでパーツやセンサーを使ってみよう https://deviceplus.jp/hobby/entry039/ 第39回 ステッピングモーターで2輪走行ロボットを作成(後編)〜Arduinoでパーツやセンサーを使ってみよう ステッピングモータドライバ https://www.switch-science.com/catalog/6610/ 必ずしもステッピングモータドライバは必須でもないけれど 使った方が遥かに簡単 自分でイチからステッピングドライバを作るか 市販品を使うか? の違いだけ まぁ自力で↓程度を検索してドライバ作る程度のスキルは必須 http://www.piclist.com/images/www/hobby_elec/step.htm つまりこの質問する程度のスキルでは市販ドライバを買う以外の選択肢は消えてる

関連するQ&A

  • アルディーノのプログラムについて

    アルディーノマイコンでステッピングモーターを回して、ある動作をさせたいのですが、上手く行きません。 動作としては、トグルSWがONでモーターが回り出し、センサーが、ONになると、そこから、1.5秒回って、停止すると言う動作です。 現在のプログラムは uint32_t time=1501; byte dir=2; byte pul=3; byte tgl_sw=6; byte sensor=7; word wait_us=2500;//2500us*2*200→フルステップで約1RPS void setup() { pinMode(dir,OUTPUT); pinMode(pul,OUTPUT); digitalWrite(dir,HIGH); pinMode(tgl_sw,INPUT_PULLUP);//※LOWでON pinMode(sensor,INPUT);//※ } } void loop() { if(digitalRead(tgl_sw)==LOW) digitalWrite(pul,HIGH); delayMicroseconds(wait_us); digitalWrite(pul,LOW); delayMicroseconds(wait_us); if(digitalRead(sensor)==HIGH)time=millis(); digitalWrite(pul,millis()-time<=1500); } です。モーターは動くので、ドライバ、モーターの説明は省略します。

  • アルディーノでのステッピングモーター制御について

    アルディーノを使い、ステッピングモーターの位置制御を行いたいのですが、オススメのモータードライバーがあったら教えていただきたいです。使うステッピングモーターは24ボルト駆動で2相バイポーラです。 プログラムスケッチはどんな感じになるのでしょうか?信号が来たら、X°回って、また信号が来たら、X°回るみたいな感じです。素人ですがよろしくお願いします。

  • アルディーノのプログラムについて

    アルディーノで現在、スイッチを押すとLEDが点灯し、センサーが、5回反応をするとLEDが消えると言うプログラムを作りました。 このプログラムにセンサーが10秒間一度も反応しなかったら、LEDが消灯すると言うプログラムを追加したいです。ご教授お願いします。 現在のプログラム #define sensor_ON 1 byte sw=2; byte sensor=3; byte led=13; byte val,last_val=!sensor_ON,num; void setup(){ pinMode(sw,INPUT_PULLUP); pinMode(led,OUTPUT); } void loop(){ if(digitalRead(sw)==LOW)digitalWrite(led,HIGH);//スイッチを押したらLED点灯 if(digitalRead(led)==HIGH){//計測状態なら val=digitalRead(sensor); if(val!=sensor_ON && last_val==sensor_ON){//通過(前回検知&今回非検知)なら num++; if(num==5){//5回通過したら digitalWrite(led,LOW);//LEDを消す num=0;//リセット } } last_val=val; } delay(20); }

  • アルディーノのプログラムについて

    アルディーノのプログラムについてです。 アルディーノのプログラムについてです。 現在はトグルスイッチをON、センサーOFFでモーターが動きだし、センサーがONになるとそこからプラスで3.2秒モーターが動きその後停止し、またセンサーがOFFになるとモーターが動き出すと言うプログラムの動作を確認出来ています。この動作にモーターとセンサーをもう一つ加え、同じ動作をさせたいです。トグルスイッチは共通で、モーターの動きは対応しているセンサーによって独立させたいです。そこでプログラムを作ったのですが、このプログラムだと片方ずつしかモーターが動きません uint32_t time=3201; byte dir=2; byte pul=3; byte dir2=8; byte pul2=9; byte tgl_sw=6; byte sensor=7; byte sensor2=10; word wait_us=2500 ;//2500us*2*200→フルステップで約1RPS void setup() { pinMode(dir,OUTPUT); pinMode(pul,OUTPUT); digitalWrite(dir,HIGH); pinMode(dir2,OUTPUT); pinMode(pul2,OUTPUT);// digitalWrite(dir2,HIGH); pinMode(tgl_sw,INPUT_PULLUP);//※LOWでON pinMode(sensor,INPUT); pinMode(sensor2,INPUT);//※ } } void loop() { if(digitalRead(tgl_sw)==LOW && digitalRead(sensor)==HIGH) delay(2000); time=millis(); while(millis()-time<3200) {//センサがオンになってから1500msまで if(digitalRead(tgl_sw))return; digitalWrite(pul,HIGH);//回す delayMicroseconds(wait_us); digitalWrite(pul,LOW); delayMicroseconds(wait_us); if(digitalRead(sensor)==HIGH)time=millis();//センサがオフなら更新 } {if(digitalRead(tgl_sw)==LOW && digitalRead(sensor2)==HIGH) delay(2000); time=millis(); while(millis()-time<3200) {//センサがオンになってから1500msまで if(digitalRead(tgl_sw))return; digitalWrite(pul2,HIGH);//回す delayMicroseconds(wait_us); digitalWrite(pul2,LOW); delayMicroseconds(wait_us); if(digitalRead(sensor2)==HIGH)time=millis();//センサがオフなら更新 //停止 } } } 修正点を教えていただけるとありがたいです。よろしくお願いします。

  • アルディーノ ロボットアームについて

    アルディーノについての質問です。市販で売っている、ロボットアームキッド(アルディーノ用)みたいなもので、ばらばらに置いてある物をセンサーで見て掴んで、定位置まで運んで離すと言う制御は、可能でしょうか? 一度スイッチを入れたら、その動作を繰り返して貰いたいです。ご教授お願いします。

  • DCモータの回転方向

    DCモータの回転方向をトグルスイッチを使って制御したいのですが,トグルスイッチには「ON-OFF-ON」を使って,スイッチがOFFのとき,モータをブレーキ状態にさせる回路はどのように作ればいいでしょうか? また,回転方向を切り替えるトグルスイッチ1つで,2・3個のモータを別々に動かす場合,どこにスイッチを入れるのが一番いいでしょうか?

  • アルディーノでのモーター制御について

    アルディーノマイコンでDCモーターを制御したいのですが、上手くいきません。モータードライバーは、BTS7960というものを使用しています。スイッチを押すとモーターが30秒正転すると言う制御をしたいのですが、モータードライバーへの配線とプログラムスケッチを教えて頂きたいです。

  • ステッピングモーター

    まったくのど素人なので、質問するもの恐縮なのですが 教えて頂きたく宜しくお願い致します。 1.スイッチONでモーターを回転させ、任意の回転数に達したらモーターを停止、 2.再度スイッチONで、逆回転させ、任意の回転数分作動したら停止 そのどちらの回転の速度をスピードコントロールする。 (1と2のスイッチは別々でもかまわない。) このようなものを作りたいと考え、素人なりにいろいろ調べてみた結果 ステッピングモーターなるものの存在を知りました。 が、まったくの素人のためそれ以降さっぱり進みません。 上記のようなものを作るパーツや、配線などを教えて頂けませんでしょうか? あるいは、素人には無謀でしょうか? ステッピングモーターで検索しても、仰々しい装置やPC制御のようなものばかりで さっぱり判りません。 イメージしているのは、ボタンとスピードコントロール用のツマミと 回転数を設定するカウンターのようなものの構成です。 宜しくお願い致します。

  • ステッピングモーターについて

    ステッピングモーターについて色々ですが (1)ステッピングモーターを滑らかに制御するのはパルスは方形波より正弦波の方がいいのでしょうか? (2)最初に励磁する相はローターの位置がわからなければ数ステップずれるのではないかと思いますがどうなのでしょうか? (3)低速回転するとモーターがうなりますが何故うなるのでしょうか? 構造的なものだと思いましたがやはりどうにもならないものでしょうか?

  • 制御に関するプログラム

    ポケコンで直流モータの制御をしようとCでプログラムを作成しようと思っているのですが。なかなかうまく作れません。スイッチ0を押すとモーターが回転して、スイッチ1を押すと逆転し、スイッチ2を押すと停止するプログラムなのですが。 outport(33,1)で正転 outport(33,2)で逆転 outport(33,3)でブレーキ outport(33,0)で停止 10 main(){ 20 int i; 30 outport(35,144); てところまでしかわかりません。どなたかこの続き教えていただけませんでしょうか? TA7257Pをつかって制御しようと思っています。よろしくお願いします。