ماژول USB HOST CH376S
ماژول USB Host CH376S یک ماژول سختافزاری است که امکان اتصال و کنترل دستگاههای USB را در میکروکنترلرها و سیستمهای امبدد فراهم میکند. این ماژول یک رابط سریال (UART) را برای ارتباط با میکروکنترلر ارائه میدهد و قابلیت خواندن و نوشتن دادهها به و از دستگاههای USB را داراست. ماژول CH376S با استفاده از پروتکل های ارتباطی USB 1.0 و 2.0 سازگاری دارد و قابلیت اتصال به انواع دستگاههای USB مانند فلشهای USB، هاردهای جانبی USB، دستگاههای ارتباطی سریال USB و سایر دستگاههای USB را داراست. این ماژول دارای حافظه داخلی برای ذخیره سازی دادهها است و میتواند به عنوان یک کنترلر ساده برای دستگاههای USB عمل کند. همچنین، ماژول CH376S قابلیت پشتیبانی از فرمتهای فایل FAT16 و FAT32 را دارد که به شما اجازه میدهد با سادگی فایلهای موجود در دستگاههای USB را مدیریت کنید. برنامهنویسان میتوانند با استفاده از دستورهای ساده ماژول CH376S، فایلها را خوانده، نوشته و حذف کنند، اطلاعات فایلها را بخوانند و حتی دستورات پیشرفتهتری مانند تشخیص پورت USB خارجی و مدیریت آن را انجام دهند. ماژول USB Host CH376S معمولا در پروژههایی استفاده میشود که نیاز به ارتباط با دستگاههای USB دارند، مانند خواندن و نوشتن اطلاعات از فلشهای USB یا کنترل دستگاههای USBی مختلف. با توجه به رابط سریالی (UART) آن، این ماژول میتواند با انواع میکروکنترلرها و سیستمهای تعبیه شده مانند Arduino و ARM استفاده شود.
مشخصات فنی ماژول USB HOST CH376S
- ولتاژ کاری 3.3 الی 5 ولت DC
- دارای کریستال داخلی 12 مگاهرتزی
- دارای پورت SPI جهت تبدیل به USB
- دارای پورت USB تعبیه شده بر روی برد
- پشتیبانی از فرمتهای فایل FAT16 و FAT32
- دارای پایه ارتباط موازی جهت تبدیل به USB
- سازگاری با استانداردهای USB 1.0 و USB 2.0
- دارای پورت سریال UART جهت تبدیل به USB
- دارای حافظه داخلی و بافر برای ذخیره سازی داده ها
- پشتیبانی از U DISK ،USB HARD DISK ،USB FLASH DRIVE، USB CARD READER ،USB STORAGE DEVICE
بررسی پایه های ماژول USB HOST CH376S
پایههای pinOut ماژول USB Host CH376S
ماژول USB Host CH376S دارای پینهای مختلفی است که برای اتصال به میکروکنترلر یا سیستمهای تعبیه شده استفاده میشوند. پایههای پرکاربرد این ماژول به شرح زیر است.
- VCC: پایه VCC به منبع تغذیه ماژول متصل میشود و ولتاژ تغذیه ماژول را فراهم میکند. ولتاژ تغذیه ماژول CH376S معمولا در محدوده 3.3 تا 5 ولت است.
- GND: پایه GND به زمین (GND) متصل میشود و ارتباط الکتریکی با سیستم را فراهم میکند.
- TXD: پایه TXD نماینده خروجی دادهها از ماژول به میکروکنترلر است. دادههایی که توسط ماژول ارسال میشوند، از طریق این پایه به میکروکنترلر ارسال میشوند.
- RXD: پایه RXD نماینده ورودی دادهها به ماژول از میکروکنترلر است. دادههایی که توسط میکروکنترلر ارسال میشوند، به ماژول از طریق این پایه وارد میشوند.
- CS: پایه CS (Chip Select) برای انتخاب ماژول CH376S استفاده میشود. وقتی این پایه به سطح فعال (معمولا LOW) کشیده میشود، ماژول فعال میشود و برای ارتباط با میکروکنترلر آماده میشود.
- INT: پایه INT (Interrupt) به میکروکنترلر وصل میشود و به عنوان یک خروجی قابل برنامهریزی برای اعلان وقوع رویدادها مانند اتمام عملیات یا رویدادهای ورودی استفاده میشود.
- SCK: پایه SCK (Serial Clock) مربوط به ارتباط سریال با میکروکنترلر است. این پایه برای همگامسازی انتقال دادهها بین ماژول و میکروکنترلر استفاده میشود.
- MOSI: پایه MOSI (Master Out Slave In) به عنوان ورودی داده به ماژول در حالت ارتباط سریال استفاده میشود. دادههایی که از میکروکنترلر به ماژول ارسال میشوند، از طریق این پایه وارد ماژول میشوند.
- MISO: پایه MISO (Master In Slave Out) نماینده خروجی داده از ماژول به میکروکنترلر است. دادههایی که توسط ماژول ارسال میشوند، از طریق این پایه به میکروکنترلر ارسال میشوند.
توجه داشته باشید که نام پایهها ممکن است در مدلهای مختلف ماژول CH376S متفاوت باشد، لذا همواره به دیتاشیت ماژول رجوع کرده و نام و وظیفه هر پایه را بررسی کنید.
به همراه ماژول USB Host CH376S چه اقلامی بایستی خریداری شود؟
میکروکنترلر یا برد امبدد: برای کنترل و برنامهریزی ماژول CH376S، نیاز به میکروکنترلری مانند Arduino، ARM، AVR و یا هر سیستم تعبیه شده دیگری دارید. میکروکنترلر باید با رابط سریال (UART) سازگار باشد تا بتوانید ارتباط با ماژول برقرار کنید.
کابلها: برای اتصال ماژول CH376S به میکروکنترلر، نیاز به کابلهای مناسب دارید. معمولا از کابلهای جک مادگی به نری سریال برای اتصال پینهای ماژول به پینهای میکروکنترلر استفاده میشود.
منبع تغذیه: برای تامین ولتاژ تغذیه ماژول CH376S، نیاز به منبع تغذیه مناسب دارید. ولتاژ تغذیه معمولا در محدوده 3.3 تا 5 ولت است. از آداپتورهای مناسب یا منبع تغذیه قابل تنظیم استفاده کنید.
دستگاههای USB: برای تست و ارتباط با ماژول CH376S، میتوانید دستگاههای USB مختلفی مانند فلشدرایو، ماوس، کیبورد، دوربین و سایر دستگاههای USB را استفاده کنید. این دستگاهها باید با استانداردهای USB 1.0 و 2.0 سازگار باشند.
با توجه به نیازهای خاص پروژه خود، ممکن است به عناصر دیگری نیز نیاز داشته باشید. بنابراین، همیشه معتبرترین منابع و دیتاشیت ماژول CH376S را مورد بررسی قرار داده و به نیازهای خاص پروژه خود توجه کنید.
راه اندازی ماژول USB Host با تراشه CH376S توسط برد آردوینو
پس از برقراری اتصالات ماژول با برد آردوینو بایستی کد را روی برد آپلود کنید. این کد به طور خلاصه عملیات زیر را انجام میدهد:
ابتدا کتابخانه CH376S را به پروژه اضافه میکنیم و شیء ch376s را ایجاد میکنیم. در تابع setup، ارتباط سریال را با سرعت 9600 بیت در ثانیه راهاندازی میکنیم و ماژول CH376S را با استفاده از تابع begin تنظیم میکنیم. در حلقه loop، ابتدا بررسی میکنیم که آیا دستگاه USB متصل شده است یا خیر. سپس وضعیت دیسک USB را بررسی میکنیم. اگر دیسک آماده باشد، نام فایل را تنظیم کرده و فایل را باز میکنیم. در این مثال، عبارت "Hello, USB!" را در فایل مینویسیم. پس از نوشتن دادهها، فایل را ببندید. در پایان حلقه loop، با توجه به نیاز میتوانید تاخیر مناسب را قرار دهید.
#include <CH376S.h>
CH376S ch376s;
void setup() {
Serial.begin(9600);
ch376s.begin(10, 2); // پین CS: 10، پین INT: 2
delay(1000);
if (ch376s.init()) {
Serial.println("CH376S initialized successfully.");
} else {
Serial.println("CH376S initialization failed.");
}
}
void loop() {
if (ch376s.diskConnection()) {
Serial.println("USB device connected.");
if (ch376s.getDiskStatus() == USB_INT_SUCCESS) {
Serial.println("USB device ready.");
if (ch376s.setFileName("test.txt")) {
Serial.println("File name set successfully.");
if (ch376s.openFile(FA_CREATE_ALWAYS | FA_WRITE)) {
Serial.println("File opened successfully.");
if (ch376s.writeFile("Hello, USB!")) {
Serial.println("Data written to file successfully.");
} else {
Serial.println("Failed to write data to file.");
}
ch376s.closeFile();
} else {
Serial.println("Failed to open file.");
}
} else {
Serial.println("Failed to set file name.");
}
} else {
Serial.println("USB device not ready.");
}
ch376s.diskDisconnection();
}
delay(1000);
}
لطفا توجه داشته باشید که این یک نمونه ساده است و شما میتوانید با توجه به نیازهای خود، عملیات دیگری را با استفاده از توابع کتابخانه CH376S انجام دهید. همچنین، در صورت نیاز، میتوانید نحوه خواندن اطلاعات از فایلها و انجام عملیات دیگر را در دیتاشیت ماژول CH376S بررسی کنید.
راه اندازی ماژول USB Host با تراشه CH376S توسط میکروپایتون
برای راه اندازی ماژول USB Host CH376S با میکروپایتون، میتوانید از طریق پورت سریال (UART) به ماژول متصل شوید. در ادامه، توضیحاتی درباره راه اندازی ماژول CH376S با استفاده از میکروپایتون را ارایه میکنیم.
نصب کتابخانه pySerial: قبل از شروع، باید کتابخانه pySerial را در Python خود نصب کنید. برای این منظور، میتوانید از دستور pip install pyserial در خط فرمان استفاده کنید.
اتصال سختافزاری: اتصال پایه VCC ماژول به منبع تغذیه 5 ولت. اتصال پایه GND ماژول به زمین مشترک. اتصال پایه TXD ماژول به پورت RX سریال میکروپایتون. اتصال پایه RXD ماژول به پورت TX سریال میکروپایتون.
کد میکروپایتون: برای راه اندازی و ارتباط با ماژول CH376S، میتوانید از کد زیر استفاده کنید.
import serial
import time
# باز کردن پورت سریال
ser = serial.Serial('COM1', 9600) # عوض کنید COM1 با پورت مربوطه
# تاخیر برای استقرار اتصال
time.sleep(1)
# ارسال دستورها به ماژول CH376S
ser.write(b"\x57") # دستور ریست کردن
time.sleep(0.5)
ser.write(b"\x41") # دستور دریافت نسخه
time.sleep(0.5)
response = ser.read(4) # خواندن پاسخ
print("نسخه ماژول CH376S: ", response)
# بستن پورت سریال
ser.close()
در این مثال، ابتدا پورت سریال با استفاده از کتابخانه pySerial باز میشود. سپس دستورات مربوط به ماژول CH376S ارسال میشوند. به عنوان مثال، دستورهای ریست کردن و دریافت نسخه ارسال میشوند و پاسخ ماژول دریافت میشود و چاپ میشود. در نهایت، پورت سریال بسته میشود. لطفا توجه داشته باشید که شما باید پورت سریال مربوطه را در خط ser = serial.Serial('COM1', 9600) با نام پورت سریال مورد استفاده خود تغییر دهید (به عنوان مثال، COM1 در ویندوز یا /dev/ttyUSB0 در لینوکس). همچنین، سرعت بود را نیز مطابق با تنظیمات ماژول CH376S تنظیم کنید.
کاربردهای ماژول USB HOST CH376S
- طراحی و پیاده سازی دیتالاگر به کمک فلش USB با آردوینو
- طراحی و پیاده سازی سیستم های مختلف با پورت USB با آردوینو
- ایجاد ارتباط بین بردهای آردوینو و سایر تجهیزات دارای پورت USB
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- سطح تجربه مورد نیاز
- پیشرفته
- ابعاد
- 48x28mm
- ولتاژ مورد نياز
- 3. تا 5 ولت DC
- ترتیب پایه ها
- مطابق چاپ روی برد
- کشور سازنده
- چین
- نوع کانکتور
- پین هدر
- خانواده آی سی
- مبدل
- پروتکل ارتباطی
- USB/SPI/UART/PARALLEL
- ارتباط UART
- دارد
- پردازنده
- CH376S
- سایر توضیحات
- مناسب برای آردوینو
- سایر قابلیتها
- USB HOST
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.