תגובה: שאלה לאנשי הארדואינו ...
ציטוט:
נכתב במקור על ידי
guy1a
אני מסתבך עם הסרבו .. השאלה היא האם הבעיה בסרבו .. או ... במה ?
הקוד מינימלי לצורך הבדיקה,אני מזיז את הסרבו לפה, מחכה קצת ומזיז אותו לשם, שוב מחכה ומחזיר לפה .. ושוב ...
#include <Servo.h>
Servo myservo;
void setup()
{
myservo.attach(10);
}
void loop()
{
while (1) {
myservo.write(0);
delay(1000);
myservo.write(100);
delay(1000);
}
}
אבל ככה זה נראה,
http://www.youtube.com/watch?v=oNwAg6jEdc4&list=UUVJ5hrOWFZkNd-uqOACk5fg&index=1&feature=plcp
אין לי כרגע סרבו אחר לבדוק .. אבל זה לא נראה כמו בעיית קוד.
יש לכם רעיון ?
לא יצא לי לחשק עם סרוו עדין
אבל לפי התעוד כתוב ש 90 זה אמצע
נראה לי אפס זה רחוק מדיי
נסה להזיז מ 70 ל 110
בנוסף יכול להיות שהסרוו מעמיס על מקור הזרם שלך
תראה את הדוגמא כאן :
http://arduino.cc/en/Tutorial/Sweep
הפקודות הן קטנות בכל פעם עם השיהיה ביניהם שבטח תורמת לתנועה איטית
אתה לעומת זאת מעיף את הסרוו מ 0 ל 100 מעלות במהירות המקסימלית
תגובה: שאלה לאנשי הארדואינו ...
ניסיתי כבר כל מיני .. אחרי שיחתנו הקודמת.
מ raw הוא בכלל לא זז, רק מ vcc
הוא אמור לזוז בין 0 - 179.
למרות שזה ספציפית סרבו ששיניתי שיזוז ללא גבולות.
Re: שאלה לאנשי הארדואינו ...
נסה את הSWEEP תראה איך הסרוו מתנהג....
או אפילו עדיף יותר עם ה KNOB
ככה תוכל לראות את הערך של הסרוו במוניטור
תגובה: שאלה לאנשי הארדואינו ...
אהה ... הם לא עבדו לי .. הוא מרטט.
אבל איך מוציאים פלט למוניטור ?
תגובה: שאלה לאנשי הארדואינו ...
ראיתי ואין לי זמן כרגע לעזור. מקווה שבסופש אוכל :)
תגובה: שאלה לאנשי הארדואינו ...
תגובה: שאלה לאנשי הארדואינו ...
ציטוט:
נכתב במקור על ידי
guy1a
ניסיתי כבר כל מיני .. אחרי שיחתנו הקודמת.
מ raw הוא בכלל לא זז, רק מ vcc
הוא אמור לזוז בין 0 - 179.
למרות שזה ספציפית סרבו ששיניתי שיזוז ללא גבולות.
מ RAW הסרוו לא יכול לעבוד
ל RAW מחברים מקור מתח חיצוני כי כרגע הכל עובד מה FTDI .
סרווים יכולים לקפוץ גם ל 1A בתזוזה עצבנית מה שבטוח ה USB לא יכול לספק.
בסרוו שזז ללא גבולות לא זז לנקודה מסויימת
תגובה: שאלה לאנשי הארדואינו ...
תגובה: שאלה לאנשי הארדואינו ...
ציטוט:
נכתב במקור על ידי
guy1a
איזה קוד?
יגאל. ל raw אני אמור לחבור מקור מתח חיצוני לבורד? אה..את זה לא הבנתי. כמה וולט צריך שם?
ואת המתח של הסרבו לחבר ל vcc ?
SGS2 ..
עד 12V אפשר לחבר ל RAW ועל הלוח יש מייצב ל 5V שאפשר להשתמש מה VCC
עדיין אני בכלל לא בטוח שאפשר להפעיל סרוו ישירות ממתח המייצב
הסרווים HXT900 צורכים מאות מילי אמפר בתנועה מהירה לא יודע כמה צורכים סרויים אחרים.
תגובה: שאלה לאנשי הארדואינו ...
ציטוט:
נכתב במקור על ידי
igalr
עד 12V אפשר לחבר ל RAW ועל הלוח יש מייצב ל 5V שאפשר להשתמש מה VCC
עדיין אני בכלל לא בטוח שאפשר להפעיל סרוו ישירות ממתח המייצב
הסרווים HXT900 צורכים מאות מילי אמפר בתנועה מהירה לא יודע כמה צורכים סרויים אחרים.
כדי להיות בטוח שהבנתי, אני מחבר מקור מתח חיצוני של עד 12 וולט ל RAW ולא צרכן של עד 12 וולט .. נכון ?
ואם מקור מתח חיצוני, אז את הצרכן לאן אני מחבר ?
1 קבצים מצורפים
תגובה: שאלה לאנשי הארדואינו ...
1. מתח לסרבואים תחבר בנפרד, ממקור מתח חיצוני. בטריה,בקר מהירות,מקלט. מה שמסתדר לך. (במתח המתאים לסרבואים כמובן)
הארדוינו יודע לקבל מתחים שונים, בין 7-12 וולט בערך. אבל זה כבר לא קשור אלינו כרגע.
2. את האדמה של המקור מתח החיצוני, תחבר ל "אדמה" של הארדוינו. ז"א לפין GND על הבורד.
3. פין 10 של הארדונו לסיגנל של הסרבו.
במידה ואתה עובד עם הארדונו מחובר למחשב בכבל USB אזי יש לך אפשרות להשתמש בתקשורת סיראלית עם הבקר, אתה יכול לשלוח ולקבל ממנו מידע.
אתה פותח את החלון התקשורת על הכפתור מימין לצריבת בתוכנית. ראה תמונה.
קוד התוכנית שכתבתי מזיז את הסרוו שמאלה וימינה , ברציפות.קובץ מצורף 60008
נ.ב. בדקתי את הקוד שלך, הוא עובד מעולה :-)
תגובה: שאלה לאנשי הארדואינו ...
קוד:
// send servo PWM swing up and down.
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int val; // variable to send to the servo 0 to 180.
int last_val;
int temp=0; // direction of swing, up or down.
void setup()
{
myservo.attach(10); // attaches the servo on pin 10 to the servo object
Serial.begin(9600); // serial comunication your PC.
Serial.println("Ready to work"); // Print the string window.
}
void loop()
{
if (temp==0) // swing up
val=val+1;
if (temp==1) // swing down
val=val-1;
if (val > 180){
val=180;
temp=1;
}
if (val < 0){
val=0;
temp=0;
}
// show on window the data send to the servo.
if (val != last_val) {
last_val=val;
Serial.println(val);
}
myservo.write(val); // sets the servo position according to the scaled value
delay(8); // waits for the servo to get there
}
תגובה: שאלה לאנשי הארדואינו ...
מגניב !
תודה על הטיפ :)
ראיתי את זה אבל לא הצלחתי להבין איך להפעיל את זה.
1 קבצים מצורפים
תגובה: שאלה לאנשי הארדואינו ...
מה לא הצלחת להבין,את הקטע עם התקשורת ??
יש לך תקשורת, אתה יכול לקרוא משתנים או טקסט מהתוכנית שלך
ולשלוח מידע לתוכנית, בזמן שהיא רצה.
יש לך שם כמה פקודות בסיסיות.
אחד זה
קוד:
Serial.println(val);
מדפיס לך את ערך של המשתנה val.
או אם אתה רוצה להדפיס מחרוזת, יענו טקסט אז ככה :
קוד:
Serial.println("Why U don't Understand this");
והשני לשלוח אינפורמציה לתוכנית :
inbyte מקבל לדוגמא את הערך ה ASCII ששלחת מהמקלדת. יש שם כפתור SEND.. תרשום משהו בתיבת טקסט ותלחץ על SEND.
קוד:
inByte = Serial.read();
קובץ מצורף 60009