Robofun 機器人論壇

標題: S05馬達 [打印本頁]

作者: 驚天動地    時間: 2012-10-21 00:34
標題: S05馬達
想問各位大大有這個機器手的程式碼嗎?

braccio_robot-montato-04.jpg (36.86 KB, 下載次數: 497)

braccio_robot-montato-04.jpg

作者: 驚天動地    時間: 2012-10-21 15:20
求各位大大幫幫忙...真的很急...
作者: xu3u4rmp4    時間: 2012-10-21 18:30
請爬文
已經有相當多的伺服馬達控制程式及討論
作者: 驚天動地    時間: 2012-10-22 00:13
可以是可以了...可是現在有一個問題...就是只能有一個馬達可以動而已...如果我要讓兩個馬達都動的話要怎樣呢?求解~
作者: g921002    時間: 2012-10-22 00:43
你一個都能動了,2個還會成問題嗎?
就算有問題,你講得這樣不明不白,是叫大家都用猜的?
作者: 驚天動地    時間: 2012-10-22 14:51
/*
Prova_pinza.pde
Il programma aziona il servo connesso alla porta 9
in base al valore letto sulla porta 0.
  
Vengono utilizzati i seguenti pin
Pin +5V         -> Alimentazione
Pin GND         -> Alimentazione
Pin Digital 9  -> Azionamento servo
Pin Analogico 0 -> lettura potenziometro

Creato il 17/08/2011
da Adriano Gandolfo <http://www.adrirobot.it>
This example code is in the public domain.
*/

#include <Servo.h>
Servo myservo;     // creiamo la variabile myservo per controllare il servo-motore
int potpin = 0;   // pin analogico per leggere il potenziometro
int val;          // variabile per controllare i valori del potenziometro

void setup(){
  myservo.attach(9);  // pin in cui colleghiamo il servo-motore
  Serial.begin(9600);
}

void loop() {
  val = analogRead(potpin);          // leggiamo i valori del potenziometro (i valori analogici sono da 0 a 1024)
  val = map(val, 0, 1024, 0, 180);   // mappiamo il valori, ho messo un massimo di 180 ma possiamo cambiare
  Serial.println(val);               // verifichaimo i valori se corrispondono alle nostre esigenze
  myservo.write(val);
}

這就是網上找的程式~ 但只能控制一個馬達~
我也不知道那裡出了問題~
所以請高手指點~感謝不盡~
作者: 驚天動地    時間: 2012-10-22 14:53
忘了一點~ 我是用arduino io expansion v5.0 來控制的~
作者: g921002    時間: 2012-10-22 19:40
本帖最後由 g921002 於 2012-10-24 11:36 編輯
  1. #include <Servo.h>
  2. Servo servo1,servo2;   
  3. int potpin = 0;  
  4. int val;         

  5. void setup(){
  6.   servo1.attach(9);  
  7.   servo2.attach(10);  
  8.   Serial.begin(9600);
  9. }

  10. void loop() {
  11.   val = analogRead(potpin);         
  12.   val = map(val, 0, 1024, 0, 180);   
  13.   Serial.println(val);              
  14.   servo1.write(val);
  15.   servo2.write(val);
  16. }
複製代碼


註:我完全不會寫arduino~~~冏rz,要是能動你就實在有夠混~~~
作者: 驚天動地    時間: 2012-10-22 21:54
那你給我的是什麼程式碼呢?
作者: g921002    時間: 2012-10-23 00:52
本帖最後由 g921002 於 2012-10-23 00:53 編輯
那你給我的是什麼程式碼呢?
驚天動地 發表於 2012-10-22 21:54


你真的會arduino嗎?上面的code當然是arduino的code~~~
不會寫是一回事,看懂程式碼後修改又是另一回事~~~


重點是,你試過了沒?
作者: mzw2008    時間: 2012-10-23 00:53
哈哈
作者: 驚天動地    時間: 2012-10-23 01:55
不好意思啦...因為我是新手...剛剛接觸罷了...
還是不行...還是只能讓其中一個馬達動罷了...而且都是在pin9~
作者: g921002    時間: 2012-10-23 18:29
本帖最後由 g921002 於 2012-10-23 18:34 編輯

servo2.attach(10);  <---另外一顆要接PIN10
作者: 驚天動地    時間: 2012-10-23 19:22
都有放在第九第十了...可是第十的不行...是電壓的問題嗎?
作者: g921002    時間: 2012-10-23 22:43
本帖最後由 g921002 於 2012-10-24 11:41 編輯

有用示波器確認嗎?
http://www.dfrobot.com/wiki/index.php?title=IO_Expansion_Shield_For_Arduino%28V5%29_%28SKU:_DFR0088%29


作者: 驚天動地    時間: 2012-10-24 22:23
可是就算我的程式該去10還是其他的話都不可以...只能在9而已~~是中間有什麼問題嗎?




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2