شیلد USB Host آردوینو مبدل دستگاههای USB
توجه: جزئیات مشاهده شده در تصویر ملاک انتخاب کالا نیستند.
معرفی شیلد آردوینو Arduino USB Host Shield
شیلد USB Host با نام MAX3421E یک ماژول سخت افزاری است که قابلیت اتصال و کنترل دستگاههای USB را بر روی پلتفرمهای میکروکنترلرها و آردوینو فراهم میکند. این شیلد بر پایه چیپ MAX3421E از شرکت Maxim Integrated ساخته شده است. شیلد USB Host با استفاده از پروتکل USB On-The-Go (OTG) قابلیت اتصال به دستگاههای USB را دارد. این شیلد تبدیل یک پلتفرم میکروکنترلری مانند آردوینو به یک میزبان USB قادر به ارتباط با دستگاههای USB متنوع مانند فلش درایو، کیبورد، ماوس، دستهبازی و دستگاههای USB دیگر میشود. با استفاده از Arduino USB Host Shield میتوانید انواع دستگاهها از جمله هاردهای اکسترنال، کیبورد، فللش مموری، ماوس و... را از طریق پورت USB به برد آردوینو متصل کنید. طبق ادعای سازنده این شیلد توانایی اتصال به بردهای آردوینو Arduino UNO ، آردوینو Mega2560 Arduino و حتی آردوینو DUE Arduino را دارد.
ویژگیهای USB Shield آردوینو
این شیلد با بردهای استاندارد (دوگانه 5 / 3.3V) و فقط 3.3V (به عنوان مثال Arduino Pro) کار می کند. مطابق با مشخصات دیتاشیت USB Revision (هاست کامل با سرعت 12 مگابیت بر ثانیه، هاست با سرعت 12 مگابیت در ثانیه / 1.5 مگابیت در ثانیه). دستگاه های HID مانند صفحه کلید، ماوس، جوی استیک و دستگاه های ذخیره سازی مانند درگاه های USB و همچنین کارت خوان های حافظه میتوان از این ماژول استفاده کرد. شیلد USB Host MAX3421E دارای ویژگیهای زیر است.
پشتیبانی از پروتکل USB 2.0: شیلد قابلیت ارتباط با دستگاههای USB با سرعتهای بالا را دارد.
پشتیبانی از USB On-The-Go (OTG): شیلد قابلیت تبدیل خود به میزبان USB یا دستگاه USB را دارد، بسته به نیاز کاربر انجام پذیر است.
رابط ساده: شیلد به آردوینو یا میکروکنترلر دیگر اتصال مییابد و با استفاده از پینها و ارتباط سریال، دستگاههای USB را کنترل میکند.
کتابخانه نرمافزاری: برای استفاده آسان از شیلد، کتابخانهای برای آردوینو وجود دارد که عملیات خواندن و نوشتن اطلاعات از و به دستگاههای USB را ساده میکند.
قابلیت پشتیبانی از مصرف برق خارجی: برای اتصال دستگاههای USBی که به منبع تغذیه خارجی نیاز دارند، شیلد قابلیت اتصال به منبع تغذیه خارجی را دارد.
شیلد USB Host MAX3421E به عنوان یک ابزار کاربردی برای پروژههایی که نیاز به ارتباط با دستگاههای USB دارند، استفاده میشود. با استفاده از این شیلد، میتوانید از امکانات گستردهتری که دستگاههای USB ارائه میدهند بهرهبرداری کنید و کنترل بیشتری را بر روی آنها داشته باشید.
بررسی پایههای PinOut شیلد USB Host
شیلد USB Host MAX3421E دارای یک سری پینها و پایهها برای اتصال به میکروکنترلر یا برد آردوینو است. در ادامه، توضیح مختصری از پایههای اصلی این شیلد را ارایه میکنیم.
- VCC: پین تغذیه با ولتاژ 5 ولت که باید به منبع تغذیه خارجی با ولتاژ مناسب متصل شود. این پین ولتاژ تغذیه برد را فراهم میکند.
- GND: پین اتصال به زمین منبع تغذیه است و باید به زمین میکروکنترلر یا برد آردوینو متصل شود.
- INT: پین خروجی قابل برنامهریزی برای اعلام رویدادها و مقادیر تغییری که در شیلد رخ میدهد. معمولاً از این پین برای اتصال به پینهای وقفه میکروکنترلر استفاده میشود.
- SDA و SCL: این پینها برای اتصال به خطوط داده (Data) و ساعت (Clock) میکروکنترلر یا برد آردوینو استفاده میشوند. آنها برای ارتباط با دستگاههای USB از پروتکل I2C استفاده میکنند.
- RESET: پین ورودی برای بازنشانی شیلد MAX3421E. با ارسال سیگنال LOW به این پین، شیلد مجدداً شروع به کار میکند.
- VBUS: پین ورودی برای اندازهگیری ولتاژ VBUS (ولتاژ تغذیه دستگاه USB متصل شده) است.
- D+ و D-: این پینها برای اتصال به خطوط داده USB D+ و D- استفاده میشوند.
علاوه بر این، شیلد MAX3421E دارای دیگر پینها و اتصالات است که برای وظایف خاص مانند تغذیه مجدد، اتصال به LEDها و دیگر ارتباطات دیجیتال استفاده میشوند. توضیحات مربوط به این پینها و اتصالات دقیق میتواند در دستورالعمل و مستندات مربوطه به شیلد MAX3421E در دسترس شما قرار گیرد.
به همراه شیلد USB Host چه اقلامی باید خریداری شود؟
برای استفاده از شیلد USB Host MAX3421E، علاوه بر خود ماژول، ممکن است به برخی اقلام دیگر نیاز داشته باشید. در ادامه، لیستی از اقلامی که ممکن است برای استفاده موثر از این شیلد نیاز باشد را بررسی میکنیم.
- میکروکنترلر یا برد آردوینو: شیلد MAX3421E برای کنترل و ارتباط با دستگاههای USB نیاز به میکروکنترلر دارد. میتوانید از یک برد آردوینو، مانند آردوینو Uno یا Mega، استفاده کنید یا از میکروکنترلرهای دیگری مانند ESP32 یا STM32 استفاده کنید. در این صورت، باید توجه کنید که اتصالات شیلد با میکروکنترلر شما سازگار باشد.
- منبع تغذیه خارجی: در صورتی که دستگاههای USB متصل شده به شیلد نیاز به تغذیه خارجی دارند، باید یک منبع تغذیه خارجی با ولتاژ مناسب (معمولا 5 ولت) را تهیه کنید و به پین VCC شیلد متصل کنید.
- دستگاههای USB: برای تست و استفاده از شیلد، ممکن است به دستگاههای USB نیاز داشته باشید. میتوانید از فلش درایوها، دستهبازی، کیبورد، ماوس و سایر دستگاههای USB استفاده کنید.
- کابل USB: برای اتصال دستگاههای USB به شیلد و انتقال دادهها و تغذیه، باید از کابل USB استفاده کنید. توصیه میشود کابلهای USB با کیفیت و قابلیت انتقال دادهها با سرعت بالا را انتخاب کنید.
این موارد فقط یک لیست کلی است و نیازهای ویژهتر برای پروژه خاص شما ممکن است متفاوت باشد. لطفاً مستندات و منابع مربوطه به شیلد USB Host MAX3421E را بررسی کنید تا بهترین و کاملترین لیست اقلام مورد نیاز را برای پروژه خود مشخص کنید.
راه اندازی شیلد USB Host با آردوینو Uno
برای راه اندازی شیلد USB Host MAX3421E با آردوینو Uno، میتوانید مراحل زیر را دنبال کنید.
اتصال شیلد: ابتدا، شیلد USB Host MAX3421E را روی برد آردوینو Uno قرار دهید. مراقب باشید که سوکتهای پینهای آردوینو با پینهای شیلد همخوانی داشته باشد و به درستی قرار گیرد.
تغذیه: اگر دستگاههای USB متصل شده به شیلد نیاز به تغذیه خارجی دارند، منبع تغذیه خارجی را با ولتاژ مناسب (معمولاً 5 ولت) به پین VCC شیلد متصل کنید. همچنین، میتوانید از تغذیه آردوینو Uno استفاده کنید.
کد نمونه: برنامهریزی آردوینو IDE را باز کنید و کد نمونه زیر را در آن وارد کنید:
#include <Max3421e.h>
#include <Usb.h>
#include <UsbHost.h>
Max3421e max3421e;
USB usb;
void setup() {
max3421e.init();
USB::Init(max3421e);
Serial.begin(115200);
}
void loop() {
usb.Task();
}
آپلود کد: آردوینو Uno را به کامپیوتر خود متصل کرده و کد را به برد آپلود کنید.
اتصال دستگاه USB: حالا میتوانید دستگاه USB مورد نظر خود را مانند فلش درایو، کیبورد یا ماوس به شیلد MAX3421E متصل کنید.
مشاهده خروجی: بازتاب و خروجی مربوط به اتصال دستگاه USB به شیلد MAX3421E را میتوانید از طریق پورت سریال مشاهده کنید. با استفاده از Serial Monitor در آردوینو IDE، اطلاعات مربوط به دستگاه USB و ارتباط آن را مشاهده کنید.
یک برنامه ساده برای راهاندازی شیلد USB Host MAX3421E با استفاده از آردوینو Uno است. این برنامه در حلقه اصلی loop()، تابع usb.Task() را فراخوانی میکند. این تابع باعث اجرای وظایف مربوط به کتابخانه USB Host میشود و ارتباط با دستگاههای USB را برقرار میکند. در تابع setup()، ابتدا شیلد MAX3421E را مقداردهی اولیه میکنیم با فراخوانی max3421e.init()، سپس کتابخانه USB را مقداردهی اولیه میکنیم با فراخوانی USB::Init(max3421e)، و در نهایت پورت سریال را با سرعت 115200 بیت بر ثانیه راهاندازی میکنیم با فراخوانی Serial.begin(115200). این برنامه تکرار میشود و تمام وظایف مربوط به کتابخانه USB Host را به درستی انجام میدهد تا بتوانید با دستگاههای USB ارتباط برقرار کنید و دادهها را مبادله کنید. برای پروژههای خاصتر و کنترل دستگاههای USB به صورت جزئیات، باید از کتابخانه MAX3421E و مستندات مربوطه استفاده کنید.
برنامهی کامل فعال سازی و ارتباط با دستگاه های USB توسط آردوینو Uno
در ادامه یک کد کاملتر برای راهاندازی شیلد USB Host MAX3421E با آردوینو Uno را میتوانید بررسی کنید. این کد شامل توابع بیشتری است که قادر خواهید بود دستگاههای USB را تشخیص داده و با آنها تعامل کنید. لطفا قبل از استفاده از کد، مطمئن شوید که کتابخانههای Max3421e, Usb, و UsbHost در آردوینو IDE شما نصب شده باشند.
#include <Max3421e.h>
#include <Usb.h>
#include <UsbHost.h>
Max3421e max3421e;
USB usb;
void setup() {
max3421e.init();
USB::Init(max3421e);
Serial.begin(115200);
delay(2000); // تا به شیلد زمان دهید تا راهاندازی کامل شود
Serial.println("شیلد USB Host MAX3421E آماده به کار است");
}
void loop() {
usb.Task();
if (usb.getUsbTaskState() == USB_DETACHED_SUBSTATE_INITIALIZE) {
Serial.println("دستگاه USB متصل شده است");
if (usb.Init() == -1) {
Serial.println("شروع دستگاه USB ناموفق بود");
return;
}
delay(500);
Serial.println("دستگاه USB آماده به کار است");
}
if (usb.getUsbTaskState() == USB_STATE_RUNNING) {
USBHub hub(&usb);
usb.Task();
uint8_t rcode = usb.getUsbTaskState();
if (rcode == USB_ATTACHED_SUBSTATE_SETTLE) {
Serial.println("دستگاه USB آماده به کار است");
} else if (rcode == USB_ATTACHED_SUBSTATE_RESET_DEVICE) {
Serial.println("دستگاه USB ریست شده است");
} else if (rcode == USB_STATE_RUNNING) {
uint8_t rcode = hub.SetPortFeature(0, PORT_ENABLE);
if (rcode) {
Serial.print("خطای فعالسازی پورت: ");
Serial.println(rcode, HEX);
} else {
Serial.println("پورت فعال شد");
}
}
}
}
این کد توابع بیشتری از کتابخانه USB Host را استفاده میکند و مراحل بیشتری را برای تشخیص و راهاندازی دستگاههای USB انجام میدهد. در حلقه loop()، کد مربوط به تشخیص دستگاه USB و انجام عملیات مربوطه را میتوانید مشاهده کنید. لطفا توجه داشته باشید که برای استفاده از این کد، باید کتابخانههای Max3421e, Usb, و UsbHost را به درستی نصب کرده باشید و به طور معمول از طریق بخش "کتابخانهها" در آردوینو IDE آنها را پیدا کنید و نصب کنید. از طریق این کد، میتوانید دستگاههای USB را تشخیص داده، عملیات مختلفی مانند خواندن و نوشتن دادهها را با آنها انجام دهید.
کاربرد شیلد USB آردوینو Arduino
وقتی هر دستگاه USB مانند ماوس یا صفحه کلید را به رایانه خود متصل می کنید، رایانه شما به عنوان میزبان عمل می کند و دستگاه کلاینت، صفحه کلید یا ماوس یا حتی آردوینو را کنترل می کند. برای اینکه یک ارتباط موفقیت آمیز با استفاده از پروتکل USB اتفاق بیفتد، حداقل به یکی از دستگاه ها نیاز دارید تا میزبان باشید، به این معنی که نمی توانید دو صفحه کلید را به هم متصل کنید و انتظار داشته باشید که آنها با یکدیگر ارتباط برقرار کنند.
آموزش اتصال Mouse به آردوینو Arduino Uno توسط شیلد Usb host
موس، موشواره یا موشی وسیلهای آشنا از زمانهای دور است. زمانی که مخترع این وسیله کوچک و جالب جعبه کوچک و چوبی خود را ساخت تا بتواند رایانه را با آن کنترل کند؛ هیچ وقت تصور نمیکرد تمامی کامپیوترهای پس از آن تا به امروز به این وسیله جالب مجهز شوند. همچنین برای ادامه حیاط نیازمند آن باشند! البته موسهای امروزی به مراتب پیشرفتهتر و به روزتر شدهاند که ما در این آموزش قصد داریم نحوه ارتباط یک موس usb را با آردوینو Arduino با هم برسی کنیم.
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- شیلد - Shield
- نوع شیلد
- شیلد آردوینو - Arduino Shield
- تعداد قطعات
- 19 عدد
- ابعاد فیبر
- 50 * 54 میلی متر
- تعداد فیبر
- 1 عدد
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ولتاژ مورد نياز
- 3.3 و 5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دورو متالیزه
- دمای کاری
- 40- تا 85+ درجه سانتی گراد
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 28 پایه
- کشور سازنده
- چین
- نسخه آردوینو
- لوازم جانبی آردوینو
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.