فروشگاه آموزش پرینت 3D انجمن
  1. الهه
  2. الکترونیک و رباتیک
  3. دوشنبه, 23 اسفند 1395
  4.  اشتراک از طریق ایمیل
با سلام
آقای مهندس من می خوام یک فایل رو آماده کنم که در آن اعداد پشت سرهم نوشته شوند و آردینو بر اساس این اعداد مثلا وقتی رسید به عدد 8، 20میلی ثانیه بچرخد حالا من نمی دانم این اعداد را در چه نوع فایل با چه فرمتی و چگونه بنویسم خواهشا کمکم کنید
باتشکر
به این یحث رای دهید:
نظر
هیچ نظری هنوز ایجاد نشده است.
پاسخ پذیرفته شده
فرخ یوسفی پاسخ پذیرفته شده
متخصص
سلام

اگر منظورتون این است که شما یک فایل تکست در کامپیوتر دارید که توی آن تعدادی عدد نوشته شده است و می خواهید این اعداد را بصورت تک تک به آردوینو ارسال کنید و آردوینوهم آنها را دریافت کرده و بر طبق الگوریتمی که نوشتید بر اساس آن عددها تصمیم به انجام کاری کند. مثلا اگر عدد 8 را دریافت کرد استپ موتور را به مدت 20 میلی ثانیه بچرخاند. در این صورت شما بایستی 2 تا برنامه بنویسید. یکی از برنامه ها روی آردوینو باید آپلود بشه و دیگری روی کامپیوتر اجرا بشه.
برنامه ای که روی کامپیوتر اجرا میشه کارش اینه که عدد ها را از فایل تکست یکی یکی بخونه و به پورت USB بفرسته. میتونید این برنامه را به زبان های مختلف بنویسید. در زیر یک برنامه به زبان Processing (این زبان خیلی شبیه به زبان آردوینو هست) نوشته شده است:


import processing.serial.*;
Serial myPort;
int i;
int j=0;
String[] lines;
int index;

void setup(){
printArray(Serial.list());
myPort = new Serial(this, Serial.list()[0], 9600);
lines = loadStrings("data.txt");

}

void draw (){
for (index=0; index < lines.length ; index+=1){
i = Integer.parseInt (lines[index]);
println(j++);
myPort.write(i);
delay(100);
}
while(true);
}


که عدد ها در داخل یک فایلی به اسم data.txt نوشته شده است. فرمت نوشتن عدد ها به این صورت است که هر عدد در یک خط نوشته شده است. یعنی در خط اول مثلا عدد 2 نوشته شده است بعد اینتر خورده و رفته خط بعدی.
خب بعد از این کارنیاز است که یک کدی هم برای آردوینو بنویسید تا داده ها را دریافت کند. دقت کنید که baud rate هر دو برنامه مثل هم باشه. این هم برنامه برای آردوینو که برای سروو نوشته شده است. این برنامه بر اساس اینکه چه عددی از طرف کامپیوتر ارسال میشه تصمیم میگیرد سروو رو به همان مقدار بچرخاند که شما می توانید بجای آن تصمیمات دیگری را بگیرید.


#include <Servo.h>
Servo myservo;
int pos = 0;

void setup()
{
Serial.begin(9600);
myservo.attach(9);
myservo.write(0);
}

void loop()
{
while(!Serial.available());
myservo.write(Serial.read());
}

نظر
هیچ نظری هنوز ایجاد نشده است.
صنعت بازار پاسخ پذیرفته شده
مدیر انجمن
سلام. وقت بخیر.
اجازه بدید اول در مورد خود سوالتون چندتا سوال بپرسم:
1- "20 میلی ثانیه بچرخد" منظورتون رو متوجه نمشم.
2- کل سوالتون این هست که میخواهید برنامه ای برای آردوینو بنویسید که مثلا اعداد را به این صورتی که گفتید به ترتیب پردازش کنه و حالا نمایش بده، لطفا جزئیات رو یکبار دیگه دقیقا بفرمایید.
3- میخواهید اعداد را در نمایشگر ببینید، در کاپیوتر این را هم دقیقا بفرمایید؟
4- ابزار هایی که دارید چیست؟ برد خاصی دارید و میخواید از اون استفاده کنید؟ نمونه ای دیدید که میخواید شبیه اون باشه؟ معرفی کنید.
5- منظور از چرخش استفاده از سروو موتور هست یا استپر موتور؟
متاسفانه سوال مشخص نیست و من نقش آردوینو رو درک نمی کنم تو سوالتون. این مواردی که گفتید با متلب یا برنامه نویسی به هر زبانی بدون نیاز به اردوینو انجام می شود. لطفا دقیق مشخص کنید پروژه شما و نقش آردوینو در سوال شما چیست؟ من قطعه ای نمیبینم که آردوینو به اون وصل باشه یا بخواد کاری انجام بده. لطفا تا جای امکان دقیق تر سوالتون رو مطرح کنید. این سوال جا داره تا 10 خط نوشته بشه تا منظور کامل رسونده بشه تا کاربران بتونند دقیقا جوابی بدن که مناسب کارتون باشه.
سپاسگزارم.
نظر
هیچ نظری هنوز ایجاد نشده است.
فرخ یوسفی پاسخ پذیرفته شده
متخصص
سلام
نظر
هیچ نظری هنوز ایجاد نشده است.
صادق پاسخ پذیرفته شده
سلام
منظور این هست که یک دنباله از اعداد داریم که مثلا از صفر تا صد هستند . و میخواهیم آنها را به ترتیب بخواند و و به هر عددی که میرسد سروو به ازای آن عدد به همان مقدار زاویه بچرخد .
آیا واقعا نیاز است این دنباله و رشته از عددها در یک فایل جداگانه باشد یا اینکه نیتوان همین دنباله از عددها رو در خود برنامه آردوینو بریزیم و یک به یک آنها را بخواند و به ازای هر کدام از عددها سرو به همان مقدار بچرخد .
ممنون میشم جواب بدید .
باسپاس
نظر
هیچ نظری هنوز ایجاد نشده است.
  • صفحه :
  • 1


هنوز به این بحث پاسخی داده نشده است
مهمان
پاسخ شما
فایل ها یا عکس های لازم برای این بحث را از اینجا بارگزاری کنید، فرمت های قابل پشتیبانی: gif,jpg,png,zip,rar
• حذف آپلود فایل ها (بیشترین حجم فایل : 2 MB)
شما می توانید در پست خود رای گیری قرار دهید. رای گیری در پست شما نمایش داده خواهد شد.
تنظیمات رای دادن
به اشتراک گذاری مکان فعلی شما

اگر تمایل دارید که موقعیت جغرافیایی شما به اشتراک گذاشته شود از این بخش استفاده نمایید..

عرض جغرافیایی:
طول جغرافیایی:
کد امنیتی
این بخش برای امنیت سایت و تشخیص انسان از ربات ایجاد شده است.

تماس با ما
  • تلفن و صندوق صوتی: ۰۲۱۲۸۴۲۱۴۹۰

  • تلفن: ۰۲۱۹۱۰۳۵۳۸۱

  • فقط برای پیام تلگرام و واتساپ: 09120870443

  • آدرس: تهران، میدان انقلاب، کوچه جنتی، بن بست فرسار، پلاک 7، واحد 4
  • ساعت کاری از 9 تا 18 شنبه تا چهارشنبه و پنجشنبه از 9 تا 14.
  • info [@] sanatbazar.com
  •  فعالیت فروشگاه بصورت اینترنتی می باشد لذا از مراجعه حضوری خودداری فرمایید.

©کپی رایت 2020-2016 | تمام حقوق برای صنعت بازار محفوظ است