Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 6202|回復: 19
打印 上一主題 下一主題

兩顆可變電阻

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-11-13 21:51:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
想問各位大大...我想用兩顆可變電阻來控制兩顆馬達...可是我就是一直試了都不可以...問題是出在那裡了呢?求解答~~~
2#
發表於 2012-11-14 01:31:55 | 只看該作者
你得先描述清楚你的作法、電路、程式、或是照片吧
只講兩顆電阻,這樣看不出問題耶
3#
 樓主| 發表於 2012-11-15 23:24:46 | 只看該作者
這是我大略的作法

479912_511060452252059_764022665_n.jpg (21.93 KB, 下載次數: 536)

479912_511060452252059_764022665_n.jpg

479912_511060452252059_764022665_n.jpg (21.93 KB, 下載次數: 528)

479912_511060452252059_764022665_n.jpg
4#
 樓主| 發表於 2012-11-15 23:26:45 | 只看該作者
這是我的程式

// 使用可變電阻控制 Servo 的旋轉角度
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
// 引用 Servo Library
#include <Servo.h>
// 建立一個 Servo 物件
Servo myservo;
// 可變電阻接在 Analog pin 0
int potpin = 0;
// 儲存旋轉角度的變數
int val;
void setup()
{
  myservo.attach(9);  // Servo 接在 pin 9
}
void loop()
{
  val = analogRead(potpin);            // 讀取可變電阻(數值介於 0 到 1023)
  val = map(val, 0, 1023, 0, 179);     // 把 0 - 1023 的數值按比例縮放為 0 - 180 的數值
  myservo.write(val);                  // 設定 Servo 旋轉角度
  delay(15);                           // 等待 Servo 旋轉指定的位置
}
5#
 樓主| 發表於 2012-11-15 23:28:03 | 只看該作者
現在還有一個問題...就是不知道為什麼不管是手臂還是手掌都會抖~請大哥幫小弟解決問題~~~真的超急!!
6#
發表於 2012-11-16 18:10:34 | 只看該作者
setup()宣告了卻沒被呼叫?ardunio可以這樣喔?
7#
發表於 2012-11-16 22:26:47 | 只看該作者
setup()是必定會"自動執行"的初始化部分
所以不用執行他
放裡面的東西自己會run 開機以後唯一一次 (當然後面又要呼叫那也OK)

程式感覺一定會動
但有幾件事情確認一下
1. delay(15); 最好改delay(20); 以上,不然太快的更新SERVO會有不正常動作
2. val = map(val, 0, 1023, 0, 179);     不太OK
最好是val = map(val, 0, 1023, 40,140);     裡面那個40~140要自己試
多數的一般SERVO不能接受超過的角度運動,會壞掉
3. 若這樣都不行,還要確認到底電路如何接? 附上的照片根本看不到線路接法喔,也許根本錯囉
4. 馬達小顆的應該還好。大一點的馬達或特殊規格,不獨立供電根本不會動,arduino的腳位電流只有保證數十mA,995之類的若稍有阻力就跟本不會動了
8#
發表於 2012-11-16 22:28:04 | 只看該作者
最大的可能應該是電流不夠
你獨立給馬達電力應該就會動了
電池和arduino的gnd 接一起就好
9#
發表於 2012-11-17 12:27:26 | 只看該作者
果然我不懂ardunio~~~~
10#
 樓主| 發表於 2012-11-18 00:17:28 | 只看該作者
回復 7# mzw2008


    感謝這位大大幫我解答...可是還有一個問題還沒有幫我解答哦...就是如要要讓兩個可變電阻都可以同時一起使用呢?因為不管我怎樣弄,程式怎樣改都還是不行~~
11#
發表於 2012-11-18 01:09:15 | 只看該作者
那是因為你上面貼的程式只有寫一顆馬達啊
12#
發表於 2012-11-18 14:09:16 | 只看該作者
搜尋一下你的帖子,實在懶得回答了~~~
你要的答案在所有你發的帖子裡都有回答,而且arduino的書一堆,你有買書看嗎?
13#
 樓主| 發表於 2012-11-18 23:06:34 | 只看該作者
不好意思哦...因為小弟是初學者...所以目前暫時不知道要怎樣修改程式(之前都是亂改的)...而且這個機器手(很急),所以沒時間去買書來看了...所以只好直接在這裡請教各位大大...如果小弟有那一一方面說錯了請各位大大諒解哦~~
14#
發表於 2012-11-18 23:59:42 | 只看該作者
這樣就可以兩顆一起動
說實話,只是複製一份而已
如果很急,沒時間買書看.....事實上,光問這麼久的時間都夠看完兩本書外加搜尋一堆資料了
買書可能要花前,去書局看書是不用錢的....
事在人為哩

#include <Servo.h>
// 建立一個 Servo 物件, 馬達接在9.10號 digital
Servo myservo1;
Servo myservo2;

// 可變電阻接在 Analog pin 0,1
int potpin1 = 0;
int potpin2 = 1;

// 儲存旋轉角度的變數
int val1,val2;
void setup()
{
  myservo1.attach(9);  // Servo 接在 pin 9
  myservo2.attach(10);  // Servo 接在 pin 10
}
void loop()
{
  val1 = analogRead(potpin1);            // 讀取可變電阻(數值介於 0 到 1023)
  val1 = map(val, 0, 1023, 0, 179);     // 把 0 - 1023 的數值按比例縮放為 0 - 180 的數值
  myservo1.write(val1);                  // 設定 Servo 旋轉角度

  val2 = analogRead(potpin2);            // 讀取可變電阻(數值介於 0 到 1023)
  val2= map(val, 0, 1023, 0, 179);     // 把 0 - 1023 的數值按比例縮放為 0 - 180 的數值
  myservo2.write(val2);                  // 設定 Servo 旋轉角度
  delay(15);                           // 等待 Servo 旋轉指定的位置
}
15#
 樓主| 發表於 2012-11-19 00:58:11 | 只看該作者
謝謝大大給的程式哦...可是好像有問題哦...就是val1 = map(val, 0, 1023, 0, 179);     // 把 0 - 1023 的數值按比例縮放為 0 - 180 的數和val2 = map(val, 0, 1023, 0, 179);     // 把 0 - 1023 的數值按比例縮放為 0 - 180 的數 這裡有問題...我試著吧這兩個都刪除了...會動....可是動到不正常,就是有時控制不到,和手會一直震。
不好好意思一直給你貼麻煩幫我解決問題...感謝不盡~~
16#
發表於 2012-11-19 22:14:39 | 只看該作者
1.你的馬達有獨立供電嗎?
2.map你說有問題是怎樣有問題法?問題描述清楚才有有效的答案。
17#
 樓主| 發表於 2012-11-19 22:35:54 | 只看該作者
就是我按確認的時候他就顯示那段程式有問題啊...
18#
發表於 2012-11-20 20:06:41 | 只看該作者
總有錯誤訊息吧?~~冏rz
19#
發表於 2012-11-20 23:02:54 | 只看該作者
本帖最後由 marbol 於 2012-11-20 23:04 編輯
這樣就可以兩顆一起動
說實話,只是複製一份而已
如果很急,沒時間買書看.....事實上,光問這麼久的時間都 ...
mzw2008 發表於 2012-11-18 23:59


程式中
val1 = analogRead(potpin1); // 讀取可變電阻(數值介於 0 到 1023)
val1 = map(val, 0, 1023, 0, 179); // 把 0 - 1023 的數值按比例縮放為 0 - 180 的數值
是否改成下列方式,變數才能對應到呢~~~試試看


val1 = analogRead(potpin1); // 讀取可變電阻(數值介於 0 到 1023)
val1 = map(val1, 0, 1023, 0, 179); // 把 0 - 1023 的數值按比例縮放為 0 - 180 的數值
20#
 樓主| 發表於 2012-11-21 01:54:47 | 只看該作者
回復 19# marbol


   換了,可以了^^ ...謝謝這位大大哦,現在還是有一點小問題,但是我會自己解決...真的是萬分感謝你們啦 :)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-4-28 07:51 , Processed in 0.124680 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表