Robofun 機器人論壇

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

兩顆可變電阻

[複製鏈接]
1#
發表於 2012-11-14 01:31:55 | 顯示全部樓層
你得先描述清楚你的作法、電路、程式、或是照片吧
只講兩顆電阻,這樣看不出問題耶
2#
發表於 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之類的若稍有阻力就跟本不會動了
3#
發表於 2012-11-16 22:28:04 | 顯示全部樓層
最大的可能應該是電流不夠
你獨立給馬達電力應該就會動了
電池和arduino的gnd 接一起就好
4#
發表於 2012-11-18 01:09:15 | 顯示全部樓層
那是因為你上面貼的程式只有寫一顆馬達啊
5#
發表於 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 旋轉指定的位置
}
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-11 22:31 , Processed in 0.278547 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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