PDA

View Full Version : استفاده از USB آدوئینو برای دریافت داده



aqm176
چهارشنبه 18 فروردین 1395, 12:30 عصر
سلام و خسته نباشید.
میخواستم ببینم که میشه از همین usb که آردو داره، بجای برنامه نویسی برای دریافت داده استفاده کنیم؟

اگه ممکنه چطوریش رو هم در قالب لینکی، مطلبی و ... بگید.
ممنون

مهدی کرامتی
چهارشنبه 18 فروردین 1395, 14:23 عصر
پورت USB همون پورت سریال است.

برای نوشتن داده بر روی پورت Serial از دستورات Serial.print و println و برای خواندن داده ها اول چک می کنید داده ای برای خواندن آمده یا نه:

if(Serial.available() >0)
سپس با Serial.read و دیگر توابع مانند این داده ها را از پورت سریال می خوانید.

aqm176
چهارشنبه 18 فروردین 1395, 17:20 عصر
پورت USB همون پورت سریال است.

برای نوشتن داده بر روی پورت Serial از دستورات Serial.print و println و برای خواندن داده ها اول چک می کنید داده ای برای خواندن آمده یا نه:

if(Serial.available() >0)
سپس با Serial.read و دیگر توابع مانند این داده ها را از پورت سریال می خوانید.

علاوه بر سپاس گزاری.
دم شما هم گرم.
ممنون

aqm176
چهارشنبه 18 فروردین 1395, 17:20 عصر
پورت USB همون پورت سریال است.

برای نوشتن داده بر روی پورت Serial از دستورات Serial.print و println و برای خواندن داده ها اول چک می کنید داده ای برای خواندن آمده یا نه:

if(Serial.available() >0)
سپس با Serial.read و دیگر توابع مانند این داده ها را از پورت سریال می خوانید.

بعد من خوندم که آردو برای مبتدیاس.
اما میشه پروژه های اینترپرایز رو هم باهاش انجام داد؟

مهدی کرامتی
پنج شنبه 19 فروردین 1395, 00:30 صبح
بعد من خوندم که آردو برای مبتدیاس.
از قدیم میگن: چون قافیه تنگ آید، شاعر به جفنگ آید.

معادل فارسی روان: طرف حرف و مطلب کم آورده، چرت و پرت گفته.

از دو سال پیش هر کی این حرف رو زده طوری قانعش کردم که با هر چی داشته کار می کرده رها کرده و سویچ کرده به آردوئینو.


اما میشه پروژه های اینترپرایز رو هم باهاش انجام داد؟
قطعا بله.
ما تو شرکت مون کدنویسی پروژه های سخت افزاری مبتنی بر ARM, AVR و .... را با آردوئینو انجام می دهیم. چون به جای درگیر شدن با جزئیات ریزی مانند رجیسترها و ... یک زبان نزدیک به سخت افزار به همراه یک فریم ورک عالی در اختیار داریم.

مثلا به جای اینکه چند خط کد بنویسیم که به میکرو بگیم فلان پایه ورودی و خروجی است، کافیه یک تابع به نام PinMode رو فراخوانی کنیم. همچنین خیلی لازم نیست درگیر این بشیم که فلان قطعه یا دستگاهی که قراره بهش متصل شویم چطوری کار می کنه، چون کتابخانه کار با اون در 99% اوقات از قبل نوشته شده و روی github هست، در حالی که پیدا کردن کد معادلش برای CodeVision کار سختی هست (حقیقت اش خنده ام گرفت وقتی جزو قابلیت های آخرین نسخه ارائه شده CodeVision، نوشته بود اضافه شدن کتابخانه کار با LCD های کاراکتری، چون جزو اولین چیزهایی که چند سال پیش تو آردوئینو من استفاده کردم و باهاش تمرین کردم همین کتابخانه LiquedCrystal بود و برای آردوئینو موجود بود).

سخت افزار آردوئینو هم انصافا کار Prototype سازی رو راحت کرده. وقتی کار نمونه سازی تموم شد و نرم افزار تست شد و همه چی کار کرد، برد خودمون رو با همون اتصالاتی که روی برد برد بسته شده بود در EagleCad طراحی می کنیم.

حتی خیلی ها زحمت طراحی یک برد اختصاصی رو هم به خودشون نمیدن و تو پروژه های تجاری که به دیگران می فروشند مستقیما خود بردهای آماده آردوئینو رو قرار میدهند (نمونه اش این: http://www.aparat.com/v/2Y9ht ، وسط های فیلم، اونجایی که داخل باکس کنترل رو نشون میده، سمت راست باکس یک برد آردوئینو مگا نصب شده. این پکیج که تو فیلم توضیح میده تو آمریکا در حال فروخته شدن هست).

بنابراین کسی که اون حرف رو زده قطعا شناخت درستی درباره آردوئینو نداشته.

aqm176
پنج شنبه 19 فروردین 1395, 03:57 صبح
از قدیم میگن: چون قافیه تنگ آید، شاعر به جفنگ آید.

معادل فارسی روان: طرف حرف و مطلب کم آورده، چرت و پرت گفته.

از دو سال پیش هر کی این حرف رو زده طوری قانعش کردم که با هر چی داشته کار می کرده رها کرده و سویچ کرده به آردوئینو.


قطعا بله.
ما تو شرکت مون کدنویسی پروژه های سخت افزاری مبتنی بر ARM, AVR و .... را با آردوئینو انجام می دهیم. چون به جای درگیر شدن با جزئیات ریزی مانند رجیسترها و ... یک زبان نزدیک به سخت افزار به همراه یک فریم ورک عالی در اختیار داریم.

مثلا به جای اینکه چند خط کد بنویسیم که به میکرو بگیم فلان پایه ورودی و خروجی است، کافیه یک تابع به نام PinMode رو فراخوانی کنیم. همچنین خیلی لازم نیست درگیر این بشیم که فلان قطعه یا دستگاهی که قراره بهش متصل شویم چطوری کار می کنه، چون کتابخانه کار با اون در 99% اوقات از قبل نوشته شده و روی github هست، در حالی که پیدا کردن کد معادلش برای CodeVision کار سختی هست (حقیقت اش خنده ام گرفت وقتی جزو قابلیت های آخرین نسخه ارائه شده CodeVision، نوشته بود اضافه شدن کتابخانه کار با LCD های کاراکتری، چون جزو اولین چیزهایی که چند سال پیش تو آردوئینو من استفاده کردم و باهاش تمرین کردم همین کتابخانه LiquedCrystal بود و برای آردوئینو موجود بود).

سخت افزار آردوئینو هم انصافا کار Prototype سازی رو راحت کرده. وقتی کار نمونه سازی تموم شد و نرم افزار تست شد و همه چی کار کرد، برد خودمون رو با همون اتصالاتی که روی برد برد بسته شده بود در EagleCad طراحی می کنیم.

حتی خیلی ها زحمت طراحی یک برد اختصاصی رو هم به خودشون نمیدن و تو پروژه های تجاری که به دیگران می فروشند مستقیما خود بردهای آماده آردوئینو رو قرار میدهند (نمونه اش این: http://www.aparat.com/v/2Y9ht ، وسط های فیلم، اونجایی که داخل باکس کنترل رو نشون میده، سمت راست باکس یک برد آردوئینو مگا نصب شده. این پکیج که تو فیلم توضیح میده تو آمریکا در حال فروخته شدن هست).

بنابراین کسی که اون حرف رو زده قطعا شناخت درستی درباره آردوئینو نداشته.

سلام مجدد قربان.
خسته نباشید.
ممنون از اطلاعاتتون، راستش رو بخواید منم درگیر همچین مسائلی شدم که یه برنامه با سی چقدر میتونه دردسر داشته باشه(منظورم همین طبیعی کار کردنشه).

راستش رو بخواید هم استادمون همچین حرفی زد و هم یک کتاب انگلیسی زبان.
ولی با تفاسیر شما، دیدم خدایی خیلی می ارزه، لذا وقتی دارم به طریقه کارش نگاه میکنم، خیلی چیزا دستم اومد، برای ARM باید بگم یکی از دوستانم یک گوشی موبایل رو شبیه سازی کرده.

من واقعا فانع شدم، صد در صد میرم به سمت آردوئینو:متفکر:، اما باید قبول داشت پایه و اساس AVR و ARM رو باید خوند:لبخند:
ممنون از شما

مهدی کرامتی
پنج شنبه 19 فروردین 1395, 04:54 صبح
اما باید قبول داشت پایه و اساس AVR و ARM رو باید خوند:لبخند:
اگر وقت داشته باشید و بنشینید اونها رو بخونید برای آگاهی از عملکرد سیستم خوبه.

اما دنیای امروز دنیای بیزنس و پول است. اگر بخواهید یک پروژه سخت افزاری را با روش Low-Level انجام دهید قطعا باید وقت بسیار بیشتری بگذارید. من تو کلاس هام همیشه یک فرمول اقتصادی رو می گم به این شرح:

میزان درآمد شما از یک پروژه حاصل تقسیم مبلغ پروژه بر مدت زمان انجام کار است. بنابراین هر چه وقت بیشتری برای انجام کاری که میشه آسون تر و با صرف زمان کمتر انجامش داد صرف کنید، مبلغ دریافتی شما تقسیم بر عدد بزرگتری میشه و خروجی رفته رفته عدد کوچک تری میشه. در حقیقت درآمد شما اون عدد خروجی است، نه مبلغ کل دریافتی.

یک خطر جدی هم برای افرادی که قراره یک پروژه سخت افزاری تجاری رو انجام بدن هنگام عدم توجه به زمان صرف شده وجود داره: مطمئن باشید شما تنها کسی نیستید که اون ایده خاص که دارید رویش کار می کنید به ذهن تون اومده. وقتی زمان زیادی برای تبدیل کردن ایده به یک دستگاه قابل استفاده صرف کنید در پایان کار ممکن است متوجه شوید شخص دیگری اون کار رو زودتر از شما انجام داده و به بازار ارائه داده. در این حالت ممکن است متوجه شوید که هزینه هایی که میبایست برای تولید دستگاه و تبلیغش خرج کنید دیگه صرفه اقتصادی نداره و کاری که برایش زحمت کشیده اید رو با کمال تاسف باید بی خیال شوید و کنار بگذارید.

aqm176
پنج شنبه 19 فروردین 1395, 05:08 صبح
اگر وقت داشته باشید و بنشینید اونها رو بخونید برای آگاهی از عملکرد سیستم خوبه.

اما دنیای امروز دنیای بیزنس و پول است. اگر بخواهید یک پروژه سخت افزاری را با روش Low-Level انجام دهید قطعا باید وقت بسیار بیشتری بگذارید. من تو کلاس هام همیشه یک فرمول اقتصادی رو می گم به این شرح:

میزان درآمد شما از یک پروژه حاصل تقسیم مبلغ پروژه بر مدت زمان انجام کار است. بنابراین هر چه وقت بیشتری برای انجام کاری که میشه آسون تر و با صرف زمان کمتر انجامش داد صرف کنید، مبلغ دریافتی شما تقسیم بر عدد بزرگتری میشه و خروجی رفته رفته عدد کوچک تری میشه. در حقیقت درآمد شما اون عدد خروجی است، نه مبلغ کل دریافتی.

یک خطر جدی هم برای افرادی که قراره یک پروژه سخت افزاری تجاری رو انجام بدن هنگام عدم توجه به زمان صرف شده وجود داره: مطمئن باشید شما تنها کسی نیستید که اون ایده خاص که دارید رویش کار می کنید به ذهن تون اومده. وقتی زمان زیادی برای تبدیل کردن ایده به یک دستگاه قابل استفاده صرف کنید در پایان کار ممکن است متوجه شوید شخص دیگری اون کار رو زودتر از شما انجام داده و به بازار ارائه داده. در این حالت ممکن است متوجه شوید که هزینه هایی که میبایست برای تولید دستگاه و تبلیغش خرج کنید دیگه صرفه اقتصادی نداره و کاری که برایش زحمت کشیده اید رو با کمال تاسف باید بی خیال شوید و کنار بگذارید.

آره متاسفانه، همینطوریه.
ممنونم که تجربیاتتون رو در اختیار من گذاشتید.
امیدوارم خدا هم صدای شما رو بشنوه انشاءالله.

ممنونم.
روزتون خوش

aqm176
پنج شنبه 19 فروردین 1395, 16:21 عصر
اگر وقت داشته باشید و بنشینید اونها رو بخونید برای آگاهی از عملکرد سیستم خوبه.

اما دنیای امروز دنیای بیزنس و پول است. اگر بخواهید یک پروژه سخت افزاری را با روش Low-Level انجام دهید قطعا باید وقت بسیار بیشتری بگذارید. من تو کلاس هام همیشه یک فرمول اقتصادی رو می گم به این شرح:

میزان درآمد شما از یک پروژه حاصل تقسیم مبلغ پروژه بر مدت زمان انجام کار است. بنابراین هر چه وقت بیشتری برای انجام کاری که میشه آسون تر و با صرف زمان کمتر انجامش داد صرف کنید، مبلغ دریافتی شما تقسیم بر عدد بزرگتری میشه و خروجی رفته رفته عدد کوچک تری میشه. در حقیقت درآمد شما اون عدد خروجی است، نه مبلغ کل دریافتی.

یک خطر جدی هم برای افرادی که قراره یک پروژه سخت افزاری تجاری رو انجام بدن هنگام عدم توجه به زمان صرف شده وجود داره: مطمئن باشید شما تنها کسی نیستید که اون ایده خاص که دارید رویش کار می کنید به ذهن تون اومده. وقتی زمان زیادی برای تبدیل کردن ایده به یک دستگاه قابل استفاده صرف کنید در پایان کار ممکن است متوجه شوید شخص دیگری اون کار رو زودتر از شما انجام داده و به بازار ارائه داده. در این حالت ممکن است متوجه شوید که هزینه هایی که میبایست برای تولید دستگاه و تبلیغش خرج کنید دیگه صرفه اقتصادی نداره و کاری که برایش زحمت کشیده اید رو با کمال تاسف باید بی خیال شوید و کنار بگذارید.

سلام مجدد.
کتاب آموزش فارسی هم داریم؟

kolibri
سه شنبه 24 فروردین 1395, 03:21 صبح
از قدیم میگن: چون قافیه تنگ آید، شاعر به جفنگ آید.

معادل فارسی روان: طرف حرف و مطلب کم آورده، چرت و پرت گفته.

از دو سال پیش هر کی این حرف رو زده طوری قانعش کردم که با هر چی داشته کار می کرده رها کرده و سویچ کرده به آردوئینو.


قطعا بله.
ما تو شرکت مون کدنویسی پروژه های سخت افزاری مبتنی بر ARM, AVR و .... را با آردوئینو انجام می دهیم. چون به جای درگیر شدن با جزئیات ریزی مانند رجیسترها و ... یک زبان نزدیک به سخت افزار به همراه یک فریم ورک عالی در اختیار داریم.

مثلا به جای اینکه چند خط کد بنویسیم که به میکرو بگیم فلان پایه ورودی و خروجی است، کافیه یک تابع به نام PinMode رو فراخوانی کنیم. همچنین خیلی لازم نیست درگیر این بشیم که فلان قطعه یا دستگاهی که قراره بهش متصل شویم چطوری کار می کنه، چون کتابخانه کار با اون در 99% اوقات از قبل نوشته شده و روی github هست، در حالی که پیدا کردن کد معادلش برای CodeVision کار سختی هست (حقیقت اش خنده ام گرفت وقتی جزو قابلیت های آخرین نسخه ارائه شده CodeVision، نوشته بود اضافه شدن کتابخانه کار با LCD های کاراکتری، چون جزو اولین چیزهایی که چند سال پیش تو آردوئینو من استفاده کردم و باهاش تمرین کردم همین کتابخانه LiquedCrystal بود و برای آردوئینو موجود بود).

سخت افزار آردوئینو هم انصافا کار Prototype سازی رو راحت کرده. وقتی کار نمونه سازی تموم شد و نرم افزار تست شد و همه چی کار کرد، برد خودمون رو با همون اتصالاتی که روی برد برد بسته شده بود در EagleCad طراحی می کنیم.

حتی خیلی ها زحمت طراحی یک برد اختصاصی رو هم به خودشون نمیدن و تو پروژه های تجاری که به دیگران می فروشند مستقیما خود بردهای آماده آردوئینو رو قرار میدهند (نمونه اش این: http://www.aparat.com/v/2Y9ht ، وسط های فیلم، اونجایی که داخل باکس کنترل رو نشون میده، سمت راست باکس یک برد آردوئینو مگا نصب شده. این پکیج که تو فیلم توضیح میده تو آمریکا در حال فروخته شدن هست).

بنابراین کسی که اون حرف رو زده قطعا شناخت درستی درباره آردوئینو نداشته.
سلام!
آقای کرامتی، برای یادگیری بر روی برد های آردوئینو سرمایه گذاری کنیم یا Raspberry Pi (http://barnamenevis.org/forumdisplay.php?223-Raspberry-Pi) ؟!
نکته اینکه من دارم سی شارپ یاد می گیرم.
تشکر.

مهدی کرامتی
سه شنبه 24 فروردین 1395, 03:40 صبح
بستگی به کاری داره که می خواهید انجام دهید.

مثال هایی که برای کار با انواع سنسورها و ... پیدا می کنید عمدتا مبتنی بر Arduino هستند.

در سیستم هایی که ما در شرکت طراحی می کنیم سنسورها و اجرا کننده های دستورات عمدتا بردهای مبتنی بر آردوئینو هستند، و نیز هر کجا نیاز به یک سیستم کنترل مرکزی هست که بتونه از اون سنسورها اطلاعات جمع کنه و تصمیم گیری کرده و به اجرا کننده ها دستور بده چه کاری انجام دهند، از رسپبری و بردهای مشابه دارای سیستم عامل به عنوان سیستم مرکزی استفاده می کنیم.