آموزش کنترل کردن یک لامپ LED توسط گوشی اندروید – بلوتوث و برد Arduino
آموزش اتوماتیک سازی منازل با اپلیکیشن اندرویدی و برد Arduino و ماژول بلوتوث به همراه سورس کد برنامه
بیشتر بخوانیدسلام دوستان با یک آموزش دیگه در خدمت شما هستم.
خوشبختانه میل به بررسی اینترنت اشیا این روزها در کشور خیلی زیاد شده و بیشتر افراد دوست دارند که زندگیشون کمی راحت تر بشه و وسایل دور و اطراف شون رو با اپلیکیشن و یا وب سایت کنترل کنند.این رو من نمیگم بلکه استقبال عمومی از این آموزش بلوتوثی نشون میده.
اگه شما هم از این دسته از افراد هستید پس با ما باشید.درآینده ای نزدیک خبر های خوبی دارم براتون.
امروز میخوام ماژول ESP8266 که یک ماژول وای فای هست رو بررسی کنم.راستش بلوتوث خیلی بدرد نمی خوره چون ما بیشتر کارمون با wifi یا اینترنت هستش و بلوتوث توی این تکنولوژی خیلی جایی نداره.
این ماژول وای فای (عکس زیر) توسط کشور چین تولید انبوه میشه و نسخه های اولیه اش به جرأت میتونم بگم که افتضاحه اما چون خیلی ارزون هستش حدود 10 هزارتومان برای همین ارزش داره که روش کار کنیم.
ولتاژ کاری این ماژول 3.3V هستش از 8 پین یا پایه تشکیل شده که توی عکس دیده میشه .پایه های RX/TX برای نقل و انتقال داده استفاده میشه .این نکته رو هم بگم که انتقال داده به صورت سریال انجام میشه ،یعنی هرچیزی رو که این ماژول از طریق wifi دریافت کنه اون رو روی سریال خودش که پایه RX هست میریزه و همین طور اگه میخواید داده ای رو بفرستید این کار از طریق پایه TX انجام میشه .
این برد کمی هوشمنده و خیلی نیازی نیست که شما بدونید چطوری نقل و انتقال داده انجام میگیره .
اما بقیه پایه ها
پایه VCC برای ولتاژ ورودی 3.3v استفاده میشه و GND همون پایه منفی برد هستش .دوتا پایه CH_PD و RESET بیشتر برای برنامه نویسی این برد و کامپایل کد بکار میاد اما این نکته رو هم بدونید که بیشتر وقت ها (تقریبا همیشه) پایه CH_PD هم باید به ولتاز مثبت ورودی برد وصل بشه.
این برد دوتا پایه دیگه هم داره که GPIO 0 و GPIO 2 هستند General-purpose input/output GPIO این پایه ها در حقیقت پایه های ورودی و خروجی هستند که مستقیما میتونند برای کار با وسایل دیگه مورد استفاده قرار بگیرند اما برای کاربر های عادی این دو تا پایه تقریبا غیر قابل استفاده هستند.
علتش اینه که تنظیمات این بورد bootloader دیفالت و کارخانه ای اون روی AT Command ست شده و این بورد تمامی دستورات کاریش رو از طریق یک نوع خاص از مجموعه دستورات میگیره .این یک نقطه ضعف این بورد هستش.پس این نکته رو در نظر بگیرید که برای استفاده از GPIO های این ماژول باید اونو دوباره برنامه ریزی کنید.(بله این برد کد کامپایل شده می پذیره و میشه دقیقا مثل میکرو کنترلر برنامه ریزیش کرد)
در زیر لیست دستورت این بورد جهت اتصال به دستگاه های وای فای دار مثل تلفن همراه و یا حتی مودم ADSL آورده شده.(توی یک صفحه دیگه از مرورگر بازش کنید خواناست)
خب فکر کنم دیگه تقریبا کامل توضیحاتش رو گفتم باز هم اگه سوالی بود زیر همین پست کامنت کنید و من جواب میدم.
اما این رو بدونید که این برد خیلی خیلی کم به صورت تکی به عنوان یک برد برنامه نویسی شده استفاده میشه .بالاتر گفتم که میشه GPIO هاشو باز نویسی کرد.اما چون برد چینی هست خیلی کسی این کار رو نمیکنه .
این برد به صورت ترکیبی با میکرو های ATMEGA خصوصا 32 خیلی زیاد مورد استفاده قرار میگیره.روش کار اینه که این ماژول به مثلا Arduino وصل میشه و از طریق همین ماژول ESP8266 برد Arduino وای فای دار میشه و میتونه دستور بگیره یا کار خاصی رو انجام بده.
تصویر بالا نشون میده که تقریبا این نتظیم خوبه اما بیشتر برای مواقعی کاربردیه که arduino باید دستور و کارهای روتین ای رو انجام بده مشکل زمانی شروع میشه که برد باید دستوری رو از طریق wifi یا بهتر بگم از طریق سریال های ESP8266 که همون پین های Rx/TX هست بگیره و اون ها رو آنالیز کنه و کار لازم رو انجام بده.
چون دستورات به صورت AT command به میکرو کنترلر ARduino میرسه تحلیل دستورات برای میکرو خیلی مشکله علتشم اینه که دستورات ، رشته String هستند و کلاک و حافظه Arduino ضعیفه و این یعنی کُندی بیش از حد.
فکر کن یه دستوری رو با wifi بفرستی و بعد از چندین ثانیه سخت افزارتون عکس العمل نشون بده.
تنها راه حل نرم افزاریش اینه که هم ESP8266 و هم Arduino رو جدا جدا برنامه نویسی کنی و بعد به هم وصلشون کنی.
خوشبختانه این مشکل رو برد های NodeMCU برای ما حل کردند و قیمتشون هم خیلی خوبه .
تولید کنندهای این برد مشکلاتش رو حل کردند یعنی این برد هم میکروکنترلر قابل برنامه ریزی داره و هم ماژول wifi.
موفق باشید.
آموزش اتوماتیک سازی منازل با اپلیکیشن اندرویدی و برد Arduino و ماژول بلوتوث به همراه سورس کد برنامه
بیشتر بخوانیدآموزش اتوماتیک سازی منازل با اپلیکیشن اندرویدی و برد Arduino و ماژول بلوتوث به همراه سورس کد برنامه
بیشتر بخوانید