תוכן עניינים:
- שלב 1: דברים שאתה עשוי להזדקק להם …
- שלב 2: חבר את החומרה
- שלב 3: תכנת את הארדואינו
- שלב 4: התקן תוכנה
- שלב 5: השתמש בתוכנית הממשק
- שלב 6: להיות יצירתי
וִידֵאוֹ: בקר סרוו סידורי מבוסס Arduino: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:18
זהו בקר סדרתי פשוט למספר סרוואות המבוססים על ה- Arduino. (גם ההנחיה הראשונה שלי:))
עיקר העבודה בעניין נבע מכך שגרמה לתוכנה לדבר עם הארדואינו וליצור פרוטוקול להעברת הנתונים. באשר להיבט החומרה כל מה שהשתמשתי בו היה שני סרוו (סרוו סטנדרטי של Parallax כאן.) Sparkfun Arduino ProtoShield ו- Arduino Duemilanove עם ATMEGA328, אך ניתן להחליף את רוב החלקים הללו בפריטים דומים. חשבתי על הפרויקט הזה כחלק ממערכת RC, אבל הגדרת התקשורת לקחה הרבה זמן. אם למישהו יש שיפורים, רעיונות או באגים אנא אל תהסס להגיב. עריכה: כתבתי את זה לפני זמן מה, רק פרסמתי אותו לאחרונה.
שלב 1: דברים שאתה עשוי להזדקק להם …
כמה דברים שתצטרך כדי לבנות זאת. 1. לוח Arduino (אתה בוחר) 2. שניים (או אחד) סרוו 3. חוטי מגשר 4. Visual Studio 2008 Express - קישור (אופציונלי) 5. Arduino IDE - קישור מצטערים אוהדי לינוקס ואפל, התוכנית שלי פועלת רק על Windows לעת עתה, אך עדיין תוכל לשלוח פקודות סדרתיות באופן ידני לארדואינו מבלי לשנות את הקוד.
שלב 2: חבר את החומרה
שום דבר לא מורכב במיוחד לשלב זה. רק חבר סרוו אחד לסיכה 9 והשני לסיכה 10.
שלב 3: תכנת את הארדואינו
עכשיו אתה יכול להעלות את הסקיצה על הארדואינו.
להלן פירוט פשוט לקוד: #include Servo myservo; // צור אובייקט סרוו לשליטה בסרוו סרוו myservo1; int incomingByte = 0, datacount = 0, counter = 0, ready = 0; // לנתוני סידורי נתונים נכנסיים [10]; const char verify [8] = "ma11hew"; פקודת צ'אר [3]; הגדרת חלל () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // פותח יציאה טורית, מגדיר את קצב הנתונים Serial.println ("היי ארדואינו כאן!"); // נוסף כדי לסייע בזיהוי היציאה הטורית זה רק מגדיר את היציאה הטורקית ואת סרוווס. int i; עבור (i = 0; i <180; i ++) {myservo.write (i); עיכוב (15); } myservo.write (5); עבור (i = 0; i <180; i ++) {myservo1.write (i); עיכוב (15); } myservo1.write (5); } תנועת סחיפה פשוטה לוודא שהשרווסים פועלים כראוי. לולאת חלל () {מוכן = 0; מונה = 0; בעוד (1 == 1) {if (Serial.read ()! = אמת [counter]) {break; } if (counter == 6) {delay (20); פקודה [0] = Serial.read (); פקודה [1] = Serial.read (); // if (Serial.read () == ((פקודה [1] * 12) % 8)) // {מוכן = 1; //} Serial.println ("פקודה שמורה"); } מונה ++; עיכוב (2); } זה בודק את המאגר הטורי עבור מחרוזת ההרשאה הנכונה ואז תופס שני בתים עבור הפקודה. ההערה אם ההצהרה מאפשרת סכום בדיקה מאולתר אך תקשה על הממשק הידני. ניתן להגדיר מוכן ל- 0 כך שלא ינותחו פקודות כמו במקרה של נתונים פגומים. // חפש באמצעות פקודות אם (מוכן == 1) {אם (פקודה [0] == 'T') {פקודה [0] = 0; Serial.print ("בקרת מצערת על סיכה 9 עד:"); Serial.println (מפה (פקודה [1], 32, 126, 2, 180), DEC); myservo.write (מפה (פקודה [1], 32, 126, 2, 180)); } if (פקודה [0] == 'S') {פקודה [0] = 0; Serial.print ("בקרת מצערת על סיכה 10 עד:"); Serial.println (מפה (פקודה [1], 32, 126, 2, 180), DEC); myservo1.write (מפה (פקודה [1], 32, 126, 2, 180)); }}} שאר הקוד הוא לחפש בפקודה אחר פקודות תקפות (T או S.) אם אחת ההתאמות היא לוקחת את הבייט הבא ושולחת אותו לסרוו. עוד על המפה (פקודה [1], 32, 126, 2, 180) מאוחר יותר … הקוד כאן ניתן להרחבה לכל מה שתצטרך (למשל אורות, מנועים, IR וכו ') הקוד הזה אמור לפעול מצוין ללא שינויים.
שלב 4: התקן תוכנה
יש לי שתי דרכים להתקין את … מתקין nsis: הורד את המתקין לחילוץ עצמי להלן והפעל אותו. תהיה לך אפשרות להתקין מקורות במהלך ההתקנה. החבילה הבינארית של המתקין מתקינה את c ++ dlls הליבה כך שניתן להריץ אותה במחשב מבלי שהתקנת c ++ חזותית כבר מותקנת. לאחר סיום ההתקנה תוכל להריץ אותו משולחן העבודה או מתפריט ההתחלה. zip דרך (לא מאומת): הורד והפעל, זה אמור לעבוד. אולי. (לארכיון ה- zip יש אותו מבנה תיקיות שנוצר על ידי המתקין, ללא מקורות. אין לי מכונה ללא אולפן ויזואלי לבדיקה, כך שאולי זה לא יעבוד).
שלב 5: השתמש בתוכנית הממשק
כדי להשתמש בתוכנית בחר תחילה את קצב השידור שהוגדר במערכון הארדואינו. הסקיצה שלא השתנתה כברירת מחדל היא 38400 באוד אך ניתן לשנות אותה כך שתתאים לצרכים שלך לדברים כמו קישור רדיו איטי יותר. הערה: שיעורי השידור הגבוהים מ- 38400 לא היו יציבים במיוחד, אני חושב שזה בגלל שה- uart מתמלא לפני העיבוד של הנתונים. לאחר מכן, בחר את יציאת ה- COM לשימוש. התוכנית כברירת מחדל ל- COM4 הקפד לשנות אותה או שהתוכנית תקרוס. לבסוף, לחץ על פתח. אם הכל הלך טוב התוכנית תפתח את היציאה הטורית שנבחרה בקצב השידור שנבחר. אם לא התוכנית כנראה תקרוס למעט יוצא מן הכלל. וודא שהיציאה נכונה ונסה שוב. השתמש בתיבות הטקסט כדי לשלוח פקודות ישירות לארדואינו. "המפה (פקודה [1], 32, 126, 2, 180)" מגדילה את כל 94 הפקודות האפשריות, * רווח * עד ~, הנקראות על ידי הארדואינו ב- ASCII ל -2 עד 180 עבור הסרוו. כל בת פחות מ- ASCII 32 (רווח) או מעל 126 (~) ברירת מחדל ל -63 (?) פסי המסלול מספקים ממשק eaiser לפקודות ישירות. כל שלב שולח פקודה סדרתית לארדואינו בהדרגה.
שלב 6: להיות יצירתי
תחשוב על דברים מגניבים לעשות עם זה. כמה רעיונות: 1. מצערת מרחוק למכונית. 2. מצלמה תלת מימדית 3. רובר מתחת למים תהנה !!
מוּמלָץ:
שער UDP/IP סידורי עבור Arduino מבוסס על מגן ESP8266: 8 שלבים
שער UDP/IP סידורי עבור Arduino מבוסס על ESP8266 Shield: כבר פרסמתי בשנת 2016 "כיצד להכין שער Wifi משלך כדי לחבר את Arduino לרשת IP". מכיוון שעשיתי כמה שיפורי קוד ואני עדיין משתמש בפתרון זה. עם זאת יש כעת כמה מגיני ESP8266 לא
בקר משחק DIY מבוסס Arduino - בקר משחקים Arduino PS2 - משחק Tekken עם לוח המשחקים Arduino DIY: 7 שלבים
בקר משחק DIY מבוסס Arduino | בקר משחקים Arduino PS2 | משחק Tekken עם DIY Arduino Gamepad: שלום חבר'ה, משחקים זה תמיד כיף, אבל משחק עם בקר DIY מותאם אישית משלך הוא יותר כיף. אז נכין בקר משחק באמצעות arduino pro micro במדריך זה
מד חום אינפרא אדום מבוסס Arduino - מד חום מבוסס IR באמצעות Arduino: 4 שלבים
מד חום אינפרא אדום מבוסס Arduino | מד חום מבוסס IR באמצעות Arduino: היי חברים במדריך זה נכין מדחום ללא מגע באמצעות arduino. מכיוון שלפעמים הטמפרטורה של הנוזל/מוצק גבוהה מדי או נמוכה ואז קשה ליצור איתו קשר ולקרוא אותו הטמפרטורה אז בתרחיש זה
הנדסה מחדש של מכשיר מבוסס סידורי: 6 שלבים (עם תמונות)
הנדסה מחדש של מכשיר מבוסס סידורי: הזנה מחדש של ממשק סידורי מיועד לשינוי מחדש ב- Fluke 6500 אני אעשה זאת כיוון שהתוכנה המקורית של פלוק היא מאוד "לא ידידותית למשתמש, לא אינטואיטיבית" או איך עמיתי לעבודה אומר "f*d up". בואו נתחיל את התעלומה
מצמצם את מנוע סרוו השלב עם שליטה סידורי באמצעות ארדואינו באמצעות מדפסת תלת מימד - Pt4: 8 שלבים
מצמצם את מנוע סרוו סטפ עם שליטה סדרתית באמצעות ארדואינו באמצעות מדפסת תלת מימד - Pt4: בסרטון הרביעי הזה של סדרת מוטור סטפ, נשתמש במה שלמדנו בעבר כדי לבנות מנוע סרוו צעד עם שליטה באמצעות תקשורת טורית ואמיתית משוב מיקום באמצעות מקודד התנגדות המנוטר על ידי Arduino. בשנת