• ما یک برنامه اندروید برای کنترل ربات خانگی از طریق بلوتوث ایجاد می کنیم. شش راه آسان برای اتصال آردوینو به اندروید

    دارای ماژول وای فای

    بر آردوینو اونووای فای برای همه چیز فراهم شده است عملیات راحتبا میکروکنترلر: 14 ورودی/خروجی دیجیتال (6 عدد از آنها می تواند به عنوان خروجی PWM استفاده شود)، 6 ورودی آنالوگ، کانکتور USB، کانکتور برق، کانکتور برنامه نویسی در مدار (ICSP) و دکمه تنظیم مجدد میکروکنترلر.

    نکته برجسته این برد ماژول WiFi ESP8266 است که به آردوینو اجازه می دهد با ماژول های دیگر از طریق ارتباط برقرار کند. شبکه های بی سیماستانداردهای 802.11 b/g/n.

    ESP8266 به شما این امکان را می دهد که یک برد آردوینو را بدون استفاده از کابل USB فلش کنید حالت OTA(Firmware Over The Air - "firmware over the air").

    بررسی ویدیویی هیئت

    اتصال و راه اندازی

    برای شروع کار با برد WiFi Arduino Uno در سیستم عاملویندوز، Arduino IDE را دانلود و بر روی کامپیوتر خود نصب کنید - آردوینو IDE.

    مشکلی پیش آمده است؟

    پیکربندی ماژول WiFi

    نرم افزار آردوینو از طریق وای فای

    Arduino Uno WiFi یک مورد دیگر در انبار دارد پاداش خوب- امکان آپلود طرح ها بدون استفاده از کابل USB در حالت OTA (Firmware Over The Air). بیایید نگاهی دقیق تر به نحوه انجام این کار بیندازیم.


    برای این کار وارد منو شوید: ابزار بندر و پورت صحیح را انتخاب کنید.

    از آنجایی که ما آردوینو را از طریق WiFi فلش می کنیم، برد به عنوان یک دستگاه راه دور با یک آدرس IP تعریف می شود.

    محیط پیکربندی شده است، برد متصل است. می توانید برای دانلود طرح ادامه دهید. Arduino IDE شامل یک لیست بزرگ است نمونه های آماده، که در آن می توانید راه حل هر مشکلی را مشاهده کنید. بیایید از بین نمونه ها چشمک زدن LED را انتخاب کنیم - طرح "چشمک زدن".
    با کلیک بر روی آیکون دانلود برنامه، برد را فلش کنید.
    پس از بارگذاری، LED شروع به چشمک زدن یک بار در ثانیه می کند. این بدان معنی است که همه چیز درست شد.

    حالا می توانید به موارد استفاده.

    نمونه هایی از استفاده

    وب سرور

    بیایید یک وب سرور ساده راه اندازی کنیم که صفحه ای را با مقادیر فعلی ورودی های آنالوگ نمایش می دهد.

    web-server.ino /* نمونه ای از یک وب سرور ساده که روی یک Arduino Uno WiFi اجرا می شود. سرور مقادیر ورودی های آنالوگ را نمایش می دهد و اطلاعات را هر دو ثانیه به روز می کند. دسترسی به سرور در http:// /arduino/webserver/ توجه داشته باشید که این مثال فقط با Arduino Uno WiFi Developer Edition کار می کند. */#عبارتند از #عبارتند از void setup() ( Wifi.begin () ; Wifi.println ("وب سرور فعال است") ; // نمایش پیامی در مورد شروع سرور در کنسول wifi) void loop() ( while (Wifi.available () ) ( process(Wifi) ; ) delay(50 ) ) ) void process(WifiData client) ( String command = client.readStringUntil ("/" ) ; if (command = = "webserver" ) ( WebServer(client) ; ) ) void WebServer(WifiData client) (client.println ("HTTP/1.1 200 OK") ; client.println ("Content-Type: text/html" ) ; client. println ("اتصال: بستن") ;client.println ("Refresh: 2") ; // عنوانی که دوره بازخوانی صفحه را در چند ثانیه تنظیم می کند client.println(); client.println(" " ) ; // صفحه را تشکیل دهید client.println( " وب سرور UNO WIFI " ) ؛ client.print( "

    نمونه ای از مقادیر خروجی از پین های آنالوگ

    "
    ) ؛ client.print("
      " )؛ برای (int analogChannel = 0 ; analogChannel< 4 ; analogChannel++ ) { int sensorReading = analogRead(analogChannel) ; client.print ("
    • در ورودی آنالوگ ") ؛ client.print(analogChannel); client.print(": " ) ; client.print(sensorReading) ; client.print("
    • " ) ; ) client.println("
    " ); client.print(DELIMITER) ; // فراموش نکنید که اتصال را ببندید! }

    عناصر هیئت مدیره

    میکروکنترلر ATmega328P

    قلب پلتفرم آردوینو Uno وای فای، میکروکنترلر 8 بیتی AVR، ATmega328P است.

    میکروکنترلر ATmega16U2

    میکروکنترلر ATmega16U2 میکروکنترلر ATmega328P را به پورت USB کامپیوتر متصل می کند. هنگام اتصال به رایانه شخصی، Arduino Uno WiFi به عنوان یک پورت COM مجازی تعریف می شود. سیستم عامل تراشه 16U2 استفاده می کند درایورهای استاندارد USB-COM، بنابراین نصب درایورهای خارجی مورد نیاز نیست.

    پین های پاور

      VIN:ولتاژ منبع تغذیه خارجی (به 5 ولت از USB یا سایر ولتاژهای تثبیت شده مربوط نمی شود). از طریق این خروجی، اگر آداپتور خارجی به دستگاه متصل باشد، هم می توانید برق خارجی را تامین کنید و هم جریان مصرف کنید.

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

      3.3 ولت: 3.3 ولت از رگولاتور برد. حداکثر جریان خروجی 1 آمپر است.

      GND:نتیجه گیری های پایه

      IOREF:پین اطلاعات مربوط به ولتاژ عملکرد میکروکنترلر را به بردهای انبساط می دهد. بسته به ولتاژ، برد انبساط می تواند به منبع تغذیه مناسب سوئیچ کند یا از مبدل های سطح استفاده کند که به آن اجازه می دهد با دستگاه های 5 ولت و 3.3 ولت کار کند.

    پورت های ورودی/خروجی

      ورودی/خروجی های دیجیتال:پین های 0 - 13
      سطح منطقی یک 5 ولت، صفر 0 ولت است. حداکثر جریان خروجی 40 میلی آمپر است. مقاومت های کششی به پین ​​ها متصل می شوند که به طور پیش فرض غیرفعال هستند، اما می توانند توسط نرم افزار فعال شوند.

      PWM:پین های 3، 5، 6، 9، 10 و 11
      به شما امکان می دهد مقادیر آنالوگ 8 بیتی را به عنوان سیگنال PWM خروجی دهید.

      ADC:پین های A0 - A5
      6 ورودی آنالوگ که هر کدام می توانند ولتاژ آنالوگ را به صورت یک عدد 10 بیتی (1024 مقدار) نشان دهند. عمق بیت ADC 10 بیت است.

      TWI/I²C:پین های SDA و SCL
      برای برقراری ارتباط با تجهیزات جانبی با استفاده از یک پروتکل همزمان، از طریق 2 سیم. برای کار - از کتابخانه Wire استفاده کنید.

      SPI:پین‌های 10 (SS) , 11 (MOSI) , 12 (MISO) , 13 (SCK).
      از طریق این پین ها، ارتباط از طریق رابط SPI انجام می شود. برای کار - از کتابخانه SPI استفاده کنید.

      UART:پین 0 (RX) و 1 (TX)
      این پین ها به پین ​​های مربوطه میکروکنترلر ATmega16U2 متصل می شوند که به عنوان مبدل USB-UART عمل می کند. برای ارتباط برد آردوینو با کامپیوتر یا دستگاه های دیگر از طریق کلاس سریال استفاده می شود.

    نشانگر LED

    کانکتور USB Type-B

    اتصال دهنده USB Type-Bبرای فلش کردن پلت فرم Arduino Uno WiFi با استفاده از کامپیوتر طراحی شده است.

    کانکتور برای منبع تغذیه خارجی

    کانکتور برای منبع تغذیه خارجی از 7 ولت تا 12 ولت.

    تنظیم کننده ولتاژ 5 ولت

    هنگامی که برد به منبع تغذیه خارجی متصل می شود، ولتاژ از رگولاتور MPM3610 عبور می کند. خروجی تثبیت کننده به پین ​​5 ولت وصل می شود. حداکثر جریان خروجی 1 آمپر است.

    تنظیم کننده ولتاژ 3.3 ولت

    تثبیت کننده MPM3810GQB-33 با خروجی 3.3 ولت. ماژول WiFi ESP8266 را تامین می کند و به پین ​​3.3 ولت خروجی می دهد. حداکثر جریان خروجی 1 آمپر است.

    کانکتور ICSP برای ATmega328P

    کانکتور ICSP برای برنامه ریزی درون مدار میکروکنترلر ATmega328P در نظر گرفته شده است. با استفاده از کتابخانه SPI، این پین ها می توانند از طریق رابط SPI با بردهای توسعه ارتباط برقرار کنند. خطوط SPI به یک کانکتور 6 پین هدایت می شوند و همچنین روی پین های دیجیتال 10 (SS)، 11 (MOSI)، 12 (MISO) و 13 (SCK) کپی می شوند.

    کانکتور ICSP برای ATmega16U2

    کانکتور ICSP برای برنامه ریزی درون مدار میکروکنترلر ATmega16U2 در نظر گرفته شده است.

    تراشه ESP8266 یکی از محبوب ترین ابزارها برای سازماندهی ارتباطات بی سیم در پروژه ها است. خانه هوشمند. با کمک یک کنترلر بی سیم، می توانید ارتباطات را از طریق رابط WiFi سازماندهی کنید پروژه های آردوینودسترسی به اینترنت و امکان کنترل از راه دور و جمع آوری داده ها. بر اساس ESP8266، بردهای محبوبی مانند WeMos و NodeMcu و همچنین تعداد زیادی پروژه خانگی ایجاد شده است. در این مقاله می آموزیم که ESP82266 چیست، انواع آن چیست، چگونه با ESP8266 در Arduino IDE کار کنیم.

    ESP8266 یک میکروکنترلر WiFi است که می تواند برنامه ها را از حافظه فلش اجرا کند. این دستگاه در سال 2014 عرضه شد توسط یک شرکت چینیاسپرسف و تقریباً بلافاصله محبوب شد.

    این کنترلر ارزان است، دارای تعداد کمی از عناصر خارجی است و دارای پارامترهای فنی زیر است:

    • پشتیبانی از پروتکل های Wi-Fi 802.11 b/g/n با WEP، WPA، WPA2.
    • دارای 14 پورت ورودی و خروجی، SPI، I2C، UART، ADC 10 بیتی;
    • پشتیبانی می کند حافظه خارجیتا 16 مگابایت؛
    • منبع تغذیه مورد نیاز از 2.2 تا 3.6 ولت است، مصرف جریان تا 300 میلی آمپر بسته به حالت انتخاب شده است.

    یکی از ویژگی های مهم عدم وجود حافظه غیر فرار کاربر بر روی تراشه است. این برنامه از یک SPI ROM خارجی با استفاده از بارگذاری پویا عناصر برنامه لازم اجرا می شود. دسترسی به تجهیزات جانبی داخلی را می توان نه از طریق اسناد، بلکه از API مجموعه ای از کتابخانه ها به دست آورد. سازنده مقدار تقریبی RAM - 50 کیلوبایت را نشان می دهد.

    ویژگی های برد ESP8266:

    • اتصال راحت به کامپیوتر کابل یو اس بی، توسط آن تغذیه می شود.
    • وجود مبدل ولتاژ داخلی 3.3 ولت؛
    • در دسترس بودن 4 مگابایت حافظه فلش;
    • دکمه های داخلی برای راه اندازی مجدد و چشمک زدن؛
    • همه پورت ها روی دو شانه با گام 2.5 میلی متر به برد آورده می شوند.

    حوزه های کاربردی ماژول ESP8266

    • اتوماسیون؛
    • سیستم های مختلف خانه هوشمند: کنترل بی سیم، سوکت های بی سیم، کنترل دما، علاوه بر سیستم های هشدار.
    • الکترونیک موبایل؛
    • شناسه برچسب
    • اسباب بازی های کودکان؛
    • شبکه های مش.

    پین اوت esp8266

    تعداد زیادی از انواع ماژول ESP8266 وجود دارد. شکل برخی از آنها را نشان می دهد. محبوب ترین گزینه ESP 01 است.

    اجرای برنامه باید با وضعیت پورت های GPIO0، GPIO2 و GPIO15 در زمان پایان منبع تغذیه مشخص شود. 2 حالت مهم وجود دارد - وقتی کد از UART اجرا می شود (GPIO0 = 0، GPIO2 = 1 و GPIO15 = 0) فلش کارت را فلش می کند و زمانی که از رام خارجی اجرا می شود (GPIO0 = 1، GPIO2 = 1 و GPIO15 = 0) در حالت استاندارد.

    پین اوت برای ESP01 در تصویر نشان داده شده است.

    توضیحات تماس:

    • 1 - زمین، 8 - قدرت. طبق اسناد، ولتاژ تا 3.6 ولت تامین می شود - این مهم است که هنگام کار با آردوینو، که معمولاً با 5 ولت عرضه می شود، در نظر بگیرید.
    • 6 - RST، برای راه اندازی مجدد میکروکنترلر زمانی که سطح منطقی پایینی روی آن اعمال می شود، لازم است.
    • 4 - CP_PD، همچنین برای قرار دادن دستگاه در حالت ذخیره انرژی استفاده می شود.
    • 7 و 0 - RXD0 و TXD0، این یک UART سخت افزاری است که برای فلش ماژول مورد نیاز است.
    • 2 - TXD0 به این پین یک LED متصل است که در هنگام پایین بودن سطح منطقی در GPIO1 و هنگام انتقال داده از طریق UART روشن می شود.
    • 5- GPIO0، پورت ورودی و خروجی، همچنین به شما این امکان را می دهد که دستگاه را در حالت برنامه نویسی (زمانی که پورت به سطح منطقی پایین وصل شده و ولتاژ اعمال می شود) قرار دهید.
    • 3 - GPIO2، پورت ورودی و خروجی.

    پین اوت ESP-12

    تفاوت های اصلی بین آردوینو و ESP8266

    • ESP8266 حافظه فلش بیشتری دارد، در حالی که ESP8266 حافظه غیر فرار ندارد.
    • پردازنده ESP8266 سریعتر از آردوینو است.
    • ESP8266 دارای Wi-Fi است.
    • ESP8266 جریان بیشتری نسبت به آردوینو مصرف می کند.

    برنامه نویسی ESP8266 در Arduino IDE

    کیت توسعه دهنده esp8266 شامل:

    • کامپایلر از مجموعه کامپایلر گنو.
    • کتابخانه ها، وای فای، پشته های پروتکل TCP/IP.
    • وسیله ای برای بارگذاری اطلاعات در برنامه کنترلر.
    • IDE عامل

    در ابتدا، ماژول‌های ESP8266 با سیستم‌افزار شرکت سازنده ارسال می‌شوند. با کمک آن می توانید ماژول را از یک میکروکنترلر خارجی کنترل کنید، کار را با Wi-Fi مانند مودم اجرا کنید. بسیاری دیگر نیز وجود دارد فریمور آماده. برخی از آنها به شما امکان می دهند ماژول را با استفاده از رابط وب پیکربندی کنید.

    قابل برنامه ریزی از محیط های آردوینو IDE. با کمک آن می توانید به راحتی اسکچ بنویسید و در ESP8266 آپلود کنید، ESP8266 را فلش کنید و به خود برد آردوینو نیازی نیست. Arduino IDE از انواع ماژول های ESP8266 پشتیبانی می کند.

    که در در حال حاضربرای ESP8266، توابع زیر قابل پیاده سازی هستند:

    • توابع اصلی زبان سیم کشی می‌توانید پورت‌های GPIO را مانند پین‌های روی برد آردوینو کنترل کنید: pinMode، digitalRead، digitalWrite، analogWrite. دستور analogRead(A0) به شما امکان می دهد مقادیر ADC را بخوانید. با استفاده از دستور analogWrite (pin, value) می توانید PWM را به خروجی GPIO مورد نظر متصل کنید. با مقدار=0 PWM غیرفعال است، حداکثر مقداربه مقدار ثابت 1023 می رسد. با استفاده از توابع attachInterrupt، detachInterrupt، می توانید در هر پورت GPIO به جز 16 وقفه ایجاد کنید.
    • زمان بندی و تاخیر با استفاده از دستورات millis و micros می توانید ms و ms را که از ابتدا گذشته است را برگردانید. تاخیر به شما این امکان را می دهد که اجرای برنامه را برای مدت زمان مورد نظر متوقف کنید. همچنین، تابع تاخیر(...) به شما اجازه می دهد تا حالت عادی را حفظ کنید عملیات Wi-Fi، اگر طرح شامل عناصر بزرگی باشد که تکمیل آنها بیش از 50 میلی ثانیه طول می کشد. Yield() مشابه تابع تاخیر(0) است.
    • سریال و سریال 1 (UART0 و UART1). کار سریال در ESP8266 شبیه کار روی آردوینو است. اگر FIFO 128 بایتی و بافر برنامه 256 بایتی پر باشد، نوشتن و خواندن داده ها اجرای کد را مسدود می کند. شی سریال از سخت افزار UART0 استفاده می کند و می تواند به جای GPIO1 (TX) و GPIO3 (RX) روی GPIO15 (TX) و GPIO13 (RX) تنظیم شود. برای انجام این کار، پس از تابع Serial.begin(); باید Serial.swap(); را فراخوانی کنید. به طور مشابه، Serial1 از UART1 استفاده می کند که به عنوان یک انتقال کار می کند. پین مورد نیاز برای این GPIO2.
    • ماکرو PROGMEM. کارش شبیه کار در آردوینو است. انتقال داده های فقط خواندنی و ثابت های رشته ای به حافظه فلش را امکان پذیر می کند. در عین حال، همان ثابت ها در ESP8266 ذخیره نمی شوند، که منجر به هدر رفتن بیشتر حافظه فلش می شود.
    • I2C. قبل از کار با گذرگاه I2C، اتوبوس ها با استفاده از عملکرد Wire.pins (int sda، int scl) انتخاب می شوند.
    • SPI، OneWire به طور کامل پشتیبانی می شوند.

    استفاده از esp8266 برای برقراری ارتباط با آردوینو از طریق WiFi

    قبل از اتصال به آردوینو، مهم است که به یاد داشته باشید که ولتاژ تغذیه ESP8266 نمی تواند بیشتر از 3.6 باشد، در حالی که ولتاژ روی برد آردوینو 5 ولت است. شما باید 2 میکروکنترلر را با استفاده از تقسیم کننده های مقاومتی وصل کنید. قبل از اتصال ماژول، باید با پین اوت ESP8266 انتخاب شده آشنا شوید. نمودار اتصال ESP8266-01 در شکل نشان داده شده است.

    3.3 ولت از آردوینو به Vcc&CH_PD در ماژول ESP8266، زمین از آردوینو به زمین از ESP8266، 0 - TX، 1 - RX.

    برای پشتیبانی عملکرد پایدار ESP8266 به منبع نیاز دارد ولتاژ ثابتدر 3.3 ولت و حداکثر جریان 250 میلی آمپر. اگر برق از مبدل USB-TTL تامین شود، ممکن است خرابی و نقصی رخ دهد.

    کار با کتابخانه Wi-Fi برای ESP8266 مشابه کتابخانه یک محافظ معمولی است. چندین ویژگی وجود دارد:

    • mode(m) - برای انتخاب یکی از سه حالت: مشتری، نقطه دسترسی یا هر دو حالت به طور همزمان.
    • softAP(ssid) - برای ایجاد یک نقطه دسترسی باز مورد نیاز است.
    • softAP(ssid، password) - یک نقطه دسترسی با رمز عبور ایجاد می کند که باید حداقل 8 کاراکتر داشته باشد.
    • WiFi.macAddress(mac) و WiFi.softAPmacAddress(mac) - آدرس MAC را مشخص می کند.
    • WiFi.localIP() و WiFi.softAPIP() - تعیین آدرس IP.
    • printDiag (سریال)؛ - اطلاعات تشخیصی را ارائه می دهد.
    • WiFiUDP - پشتیبانی از انتقال و دریافت بسته چندپخشی در حالت مشتری.

    کار بر اساس الگوریتم زیر انجام می شود:

    • اتصال USB-TTL به USB و ESP.
    • Arduino IDE را راه اندازی کنید.
    • پورت، برد، فرکانس و اندازه فلش مموری مورد نظر را از منوی ابزار انتخاب کنید.
    • فایل - مثالها - ESP8266WiFi - WiFiWebServer.
    • SSID و رمز عبور شبکه وای فای را در طرح یادداشت کنید.
    • شروع به کامپایل و دانلود کد کنید.
    • صبر کنید تا فرآیند فریمور به پایان برسد، GPIO0 را از زمین جدا کنید.
    • سرعت را روی 115200 قرار دهید.
    • اتصال برقرار می شود و آدرس IP ثبت می شود.
    • مرورگر را باز کنید، تایپ کنید نوار آدرسشماره IP/gpio/1
    • مانیتور پورت را مشاهده کنید، اگر یک LED به خروجی GPIO2 متصل است، باید روشن شود.

    NodeMCU مبتنی بر esp8266

    NodeMCU یک پلتفرم مبتنی بر ماژول esp8266 است. برای کنترل مدار از راه دور با استفاده از اینترنت از طریق Wi-Fi استفاده می شود. برد کوچک، جمع و جور، ارزان است، یک کانکتور USB در سمت جلو وجود دارد. در نزدیکی آن دکمه هایی برای اشکال زدایی و راه اندازی مجدد میکروکنترلر وجود دارد. تراشه ESP8266 نیز نصب شده است. ولتاژ تغذیه از 5 تا 12 ولت است، مطلوب است که بیش از 10 ولت تامین شود.

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

    • D1 و D2 - برای رابط I2C / TWI؛
    • D5-D8- برای رابط SPI.
    • D9، D10 - برای UART؛
    • D1-D10 - می تواند به عنوان PWM کار کند.

    این پلتفرم دارای یک API مدرن برای ورودی و خروجی سخت افزار است. این به شما امکان می دهد تعداد اقدامات را در حین کار با تجهیزات و هنگام تنظیم آن کاهش دهید. با سیستم عامل NodeMCU، می توانید از پتانسیل کاری کامل برای توسعه سریع دستگاه استفاده کنید.

    WeMos مبتنی بر esp8266

    WeMos نوع دیگری از پلتفرم مبتنی بر میکروکنترلر esp8266 است. بر این اساس، یک ماژول Wi-Fi وجود دارد، Arduino IDE پشتیبانی می شود، یک رابط برای آنتن خارجی وجود دارد. این برد دارای 11 ورودی/خروجی دیجیتال است که (به جز D0) از interrupt/pwm/I2C/one-wire پشتیبانی می کنند. حداکثر ولتاژ تغذیه به 3.3 ولت می رسد. همچنین یک کانکتور USB روی پلت فرم وجود دارد. ورودی آنالوگ 1 با حداکثر ولتاژ 3.2 ولت.

    برای کار با ماژول، باید درایور CH340 را نصب کرده و Arduino IDE را برای ESP8266 پیکربندی کنید. برای انجام این کار، آدرس http://arduino.esp8266.com/stable/package_esp8266com_index.json را در منوی تنظیمات در خط "پیوند اضافی برای مدیر هیئت مدیره" اضافه کنید.

    پس از آن باید بسته esp8266 by ESP8266 را پیدا کرده و آن را نصب کنید. سپس باید میکروکنترلر Wemos D1 R2 را در منوی ابزار انتخاب کنید و طرح مورد نظر را یادداشت کنید.

    ESP8266 نتیجه گیری

    با بردهای مبتنی بر تراشه ESP8266، می‌توانید « اینترنت بزرگ"، آنها را بسیار باهوش تر می کند. کنترل از راه دور، جمع آوری و تجزیه و تحلیل داده ها در سرور، پردازش صدا و پردازش تصویر - همه اینها زمانی در دسترس قرار می گیرند که پروژه خود را از طریق WiFi به اینترنت متصل کنیم. در مقالات بعدی نگاهی دقیق تر به نحوه برنامه ریزی دستگاه های مبتنی بر esp8266 خواهیم داشت و همچنین به بردهای محبوبی مانند WeMos و NodeMcu توجه خواهیم کرد.

    آنها می نویسند که بردهای آردوینو و میکروکنترلرهای مشابه خلاقیت را بیش از همیشه در دسترس قرار می دهند. صرف نظر از هدف استفاده - خودکار کردن خانه یا کنترل شما نوارهای LED، یا حتی برای محافظت از دارایی خود، این کمی شگفت انگیز است دستگاه های فنیهسته اکثر دستگاه های الکترونیکی DIY هستند.

    اگر نیاز دارید که به آردوینو خود دستور دهید که موقعیت پین جامپرها را تغییر دهد (مثلاً چراغ را روشن کنید)، آردوینو از کاربر می خواهد که فشار دهد. دکمه فیزیکییا از سنسور استفاده کنید برای بسیاری از پروژه‌ها، استفاده از فشار انگشت انسان یا روش‌های مشابه کنترل دستگاه‌ها کاملاً قابل قبول است، اما اگر فقط می‌خواهید مداری با دسترسی از راه دور بسازید، چه چیزی باید اعمال شود؟

    این مقاله می دهد توضیح کوتاهشش راه برای اتصال دستگاه اندرویدی خود به هر برد آردوینو سازگار.

    1. ArduinoDroid به شما اجازه می دهد تا طرح ایجاد کنید

    اولین دستگاه در لیست ما ArduinoDroid است. این برنامه از طریق USB On The Go (OTG) کار می کند و دستگاه تلفن همراه شما را از طریق کابل USB به آردوینو متصل می کند. یکی از مزایای USBکابل عدم نیاز به اتصال به اینترنت یا بلوتوث برای عملکرد دستگاه است.

    این برنامه یک IDE با امکانات کامل است که به کاربر امکان می‌دهد روی یک گوشی هوشمند کد بنویسد، طرح‌های نوشته شده قبلی را که در Dropbox ذخیره شده‌اند آپلود کند یا درایو گوگلو سپس فرآیند کامپایل را شروع کنید.

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

    اشکال آشکار برنامه ArduinoDroid این است که نوشتن کد بر روی دستگاه شما می تواند کمی دردسرساز باشد، به خصوص اگر از گوشی هوشمند برای این منظور استفاده می کنید. با این حال، هنگامی که در یک طرف ترازو، راحتی برنامه نویسی فوق العاده قابل حمل بر روی برد خود بدون نیاز به اتصال به اینترنت و در طرف دیگر ترازو است، این نقطه ضعف برنامه چندان مشخص نیست. روش خیلی راحت برای نوشتن کد نیست.

    از سوی دیگر، داشتن ArduinoDroid یک راه ارزان برای یادگیری است اصول اولیه آردوینوزیرا یک کلون برد آردوینو و USB On The Go چند دلار قیمت دارند. برای کسانی که به ندرت به رایانه دسترسی دارند، برنامه ArduinoDroid یک جایگزین عالی است!

    2. کنترلر بلوتوث آردوینو

    برنامه بعدی در لیست ما کنترلر بلوتوث آردوینو است. این اپلیکیشن برای ایجاد تغییرات در اسکچ های آپلود شده اهمیت زیادی دارد و برای برنامه نویسی آردوینو از اهمیت کمتری برخوردار است. کنترلر آردوینواز طریق بلوتوث داده ها را از طریق بلوتوث به برد شما می فرستد و به شما امکان می دهد با لمس یک دکمه داده های سریال را ارسال کنید. شما نیاز خواهید داشت ماژول بلوتوثبرای هیئت مدیره شما، اگر چه ماژول HC-06به طور گسترده مورد استفاده قرار می گیرد و با قیمتی کمتر از 3 دلار در دسترس است.

    قابل ذکر این واقعیت است که برنامه در بارگذاری شده است زبان انگلیسی، حتی اگر تصاویر Play Store ایتالیایی را نشان دهد!

    3. برنامه Blynk برای توسعه پروژه

    برنامه Blynk یک توسعه عالی برای ایجاد پروژه است. انعطاف‌پذیری و سادگی برنامه یک رویکرد بصری برای راه‌اندازی رویدادها در هیئت مدیره شما فراهم می‌کند. کار با Blynk به اتصال اینترنت نیاز دارد زیرا برنامه از اتصال خود استفاده می کند سرور خود. برای دسترسی به برنامه Blynk که برای گوشی های هوشمند عالی است، می توانید از Wi-Fi یا داده های تلفن همراه استفاده کنید.

    یکی از نقاط قوت اپلیکیشن، تنوع اتصالات به دستگاه است. با پشتیبانی از تقریباً همه بردهای توسعه، می توانید به صورت بی سیم یا با استفاده از اترنت و حتی رایانه از طریق USB به سرور متصل شوید. این سرویس به خوبی مستند شده است و کاربرد بصری آن ادغام کنترل سفارشی روی پروژه شما را آسان می کند. کتابخانه Blynk برای Arduino IDE همه ارتباطات را مدیریت می کند.

    اگر ترجیح می دهید صبح زود قبل از بلند شدن از رختخواب دستگاه قهوه خود را با استفاده از تلفن هوشمند خود روشن کنید، این برنامه واقعاً برای شما مناسب است!

    Blynk تنها سرویس در این دسته نیست. ارزش توجه به خدمات بسیار سفارشی شده ای مانند Thinger.io و OpenHAB تقریبا نامحدود، هرچند بسیار دشوار را دارد. از بین این سه سرویس، Blynk سریع‌ترین راه‌اندازی و راه‌اندازی است، اگرچه یادگیری OpenHAB در دراز مدت ایده خوبی است.

    4. ارتباط از ابتدا

    برنامه هایی که در بالا توضیح داده شد استفاده از قبلا را فرض می کنند خدمات موجود، که به شما در ارائه گزینه های مختلف اتصال کمک می کند. برای اعمال کنترل کامل و کامل بر هر جنبه ای از برنامه های خود چه کاری باید انجام دهید دستگاه های اندرویدی? چرا خودتان و از اول این موضوع را حل نمی کنید؟

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

    لازم به ذکر است که اگر روش ها و روش هایی برای ایجاد برنامه های کاربردی برای دستگاه ها در پلتفرم اندروید بدون کد وجود دارد، مطالعه مبانی کدنویسی شایسته توجه است. نرم افزاردر جاوا

    5. آردوینو خود را به سرور تبدیل کنید

    یک راه جایگزین برای برقراری ارتباط با برد، تبدیل آن به یک سرور کوچک است. مزیت کلیدیچنین تبدیلی از برد به یک سرور، ظهور توانایی برقراری ارتباط با بردها از هر دستگاهی است که می تواند به یک آدرس IP حرکت کند یا یک درخواست وب ارسال کند. این نیاز به پیوست دارد شبکه محلی کابلی سپربه کارت شبکه خانگی شما

    اگر محافظ اترنت ندارید , سپس یک اثر مشابه را می توان از طریق یک محافظ Wi-Fi یا از طریق یک برد متصل به Wi-Fi مانند NodeMCU به دست آورد.

    اگر کد node.js جم شماست، منطقی است که نگاهی به پروژه github arduino-android بیندازید. بار دیگر برنامه های اندروید بر اساس طراحی شده اند متن بازو تنها کاری که باید انجام دهید این است که سرور node.js را روی برد آردوینو مورد نظر خود نصب کنید.

    6. کنترل مادون قرمز

    اگر به دنبال یک ابزار ارتباطی جهانی با آردوینو خود هستید یا می خواهید نقش مامور مخفی افسانه ای مک گیور را بازی کنید، آن را بررسی کنید. گیرنده مادون قرمز(IT) از پخش کننده استریو یا VHS قدیمی خود و از آن برای برقراری ارتباط با دستگاه خود استفاده کنید برد آردوینو!

    میخوای بفرستی پیام متنیاز گوشی هوشمند اندرویدی گرفته تا برد آردوینو؟ این مقاله به شما می گوید که چگونه این کار را انجام دهید!

    آنچه مورد نیاز خواهد بود

    • گوشی هوشمند اندرویدی که از حالت میزبان USB پشتیبانی می کند (به عنوان مثال پشتیبانی OTG) - اکثر دستگاه های دارای اندروید 3.1 و بالاتر از این حالت پشتیبانی می کنند. تلفن خود را با USB Host Diagnostics App از فروشگاه Play بررسی کنید.
    • آردوینو - هر نسخه. من از Uno R3 استفاده خواهم کرد.
    • کابل USB برای آردوینو؛
    • یو اس بی کابل OTG- برای اتصال کابل USB آردوینو به آن نیاز دارید پورت میکرو USBتلفن؛
    • Android Studio - باید آن را نصب کنید. انجام آن بسیار آسان است. Android Studio با مفروضات و تولید کد خود، توسعه برنامه را آسان‌تر می‌کند. این یکی از بهترین IDE ها. شما همچنین می توانید از این مقاله به عنوان راهنما استفاده کنید نصب اندروید IDE.

    اجزای اصلی یک برنامه اندروید

    در یک برنامه اندروید سه فایل اصلی وجود دارد:

    MainActivity.java این کد اجرایی جاوا است که نحوه عملکرد برنامه را کنترل می کند. activity_main.xml شامل طرح‌بندی برنامه، به عنوان مثال، اجزای: دکمه‌ها، اجزای نمایش متن و غیره است. AndroidManifest.xml اینجاست که شما تعیین می‌کنید برنامه چه زمانی اجرا شود، به چه مجوزهایی نیاز دارد و به چه سخت‌افزاری دسترسی داشته باشد.

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

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

    چیدمان

    ما از همان چیدمان برنامه USB و برنامه بلوتوث استفاده خواهیم کرد. این ساده است و حاوی حداقل ویجت های مورد نیاز برای بررسی ارتباط بین دستگاه ها است.

    همانطور که می بینید، شامل یک ویجت EditText برای دریافت ورودی از کاربر، دکمه هایی برای شروع اتصال، ارسال داده، پایان دادن به اتصال و پاک کردن TextView است. داده های دریافتی در TextView (فضای خالی زیر دکمه ها) نمایش داده می شود.

    در اینجا بخشی از کد XML آمده است. از آنجایی که کد دکمه ها مشابه است، در اینجا نشان داده نمی شود. کد کامل را می توانید از لینک انتهای مقاله دانلود کنید.