ما یک برنامه اندروید برای کنترل ربات خانگی از طریق بلوتوث ایجاد می کنیم. شش راه آسان برای اتصال آردوینو به اندروید
دارای ماژول وای فای
بر آردوینو اونووای فای برای همه چیز فراهم شده است عملیات راحتبا میکروکنترلر: 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://نمونه ای از مقادیر خروجی از پین های آنالوگ
" ) ؛ 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("
عناصر هیئت مدیره
میکروکنترلر 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 آمده است. از آنجایی که کد دکمه ها مشابه است، در اینجا نشان داده نمی شود. کد کامل را می توانید از لینک انتهای مقاله دانلود کنید.
من در اینجا از RelativeLayout استفاده کردهام، به این معنی که هر ویجت نسبت به ویجتهای اطراف خود قرار دارد. طرح را می توان به راحتی در برگه طراحی دوباره ایجاد کرد، جایی که می توانید ویجت ها را به هر کجا که می خواهید بکشید و رها کنید. باید توضیح دهیم که با کلیک روی دکمه چه اتفاقی می افتد. برای این کار از روش onClick استفاده می شود. نام روش را در کد XML برای دکمه مشخص کنید. برای انجام این کار، خط را اضافه کنید:
Android:onClick="onClickMethod"
اکنون ماوس خود را روی این خط قرار دهید، یک هشدار باید در سمت چپ ظاهر شود که به نظر می رسد:
بر روی گزینه "Create onClick..." کلیک کنید. این به طور خودکار کد روش onClick را به MainActivity.java اضافه می کند. برای هر دکمه باید این کار را انجام دهید.
کتابخانه سریال USB
تنظیمات اتصال سریالدر اندروید بسیار پر زحمت است، زیرا به شما نیاز دارد تنظیم دستیخیلی چیزها، بنابراین چند کتابخانه پیدا کردم که همه این کارها را به صورت خودکار انجام می دهند. من تعدادی از آنها را آزمایش کردم و در نهایت روی کتابخانه UsbSerial از کاربر Github felHR85 مستقر شدم. در میان کتابخانه های مشابهی که پیدا کردم، تنها کتابخانه ای است که هنوز در حال به روز رسانی است. تنظیم و استفاده از آن بسیار آسان است. برای افزودن کتابخانه به پروژه خود، آخرین فایل JAR را از Github دانلود کنید. آن را در زیر شاخه libs در فهرست پروژه خود قرار دهید. سپس در فایل اکسپلورر در اندروید استودیو، روی فایل JAR کلیک راست کرده و گزینه "Add as Library" (Add as Library) را انتخاب کنید. همین!
الگوریتم اجرای برنامه
این یک طرح کلی از نحوه ادامه کار است. هر اکتیویتی دارای یک متد onCreate() است که هنگام ایجاد اکتیویتی فعال می شود. هر کدی که می خواهید در ابتدا اجرا کنید باید در داخل این متد قرار داده شود. توجه داشته باشید که خواندن از دستگاه ناهمزمان است، به این معنی که در پسزمینه اجرا میشود. این برای اطمینان از دریافت اطلاعات در اسرع وقت است.
باز کردن یک اتصال
ابتدا روش onClick را برای دکمه Begin تعریف می کنیم. وقتی روی آن کلیک کردید، باید همه دستگاههای متصل را جستجو کنید و سپس بررسی کنید که آیا VendorID دستگاه متصل (شناسه تأمینکننده) با VendorID آردوینو مطابقت دارد یا خیر. اگر مطابقت پیدا شد، باید از کاربر اجازه درخواست شود. هر دستگاه Slave USB دارای شناسه فروشنده و شناسه محصول است که می تواند برای تعیین درایورهای مورد استفاده برای آن دستگاه استفاده شود. شناسه فروشنده برای هر برد آردوینو 0x2341 یا 9025 است.
فضای خالی عمومی onClickStart (نمایش) (HashMap usbDevices = usbManager.getDeviceList()؛ if (!usbDevices.isEmpty()) ( نگه داشتن بولی = درست؛ برای (مدخل Map.Entry: usbDevices.entrySet()) (دستگاه = ورودی. getValue(); int deviceVID = device.getVendorId(); if (deviceVID == 0x2341) //شناسه فروشنده آردوینو ( PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0)؛ requestPermissionger(usbManager). دستگاه، پی؛ نگه داشتن = نادرست؛ ) else (اتصال = پوچ؛ دستگاه = پوچ؛ ) اگر (! نگه داشتن) خراب شود؛ ) )
حال بیایید یک BroadcastReceiver برای دریافت پیام های پخش تعریف کنیم تا از کاربر اجازه بخواهد و همچنین شروع خودکارهنگامی که دستگاه وصل است، اتصال را برقرار کنید و در صورت قطع اتصال آن را ببندید.
// دریافت کننده پیام های پخش برای شروع و بستن خودکار اتصال سریال. خصوصی نهایی BroadcastReceiver broadcastReceiver = new BroadcastReceiver() ( @Override public void onReceive(Context context, Intent intent) ( if (intent.getAction().برابر(ACTION_USB_PERMISSION)) (قبولی اعطا شده = intent.getExtras.boleger(U). EXTRA_PERMISSION_GRANTED)؛ if (اعطا شده) (اتصال = usbManager.openDevice(device)؛ serialPort = UsbSerialDevice.createUsbSerialDevice(دستگاه، اتصال)؛ if (SerialPort != null) (اگر (serialPort.open()) (//Set serial پارامترها connections.setUiEnabled(true)؛ //دکمههای فعال در UI.serialPort.setBaudRate(9600);serialPort.setDataBits(UsbSerialInterface.DATA_BITS_8);serialPort.setStopBits(UsbSerialInterface.BitSerface. PARITY_NONE)؛ پورت سریال . setFlowControl(UsbSerialInterface.FLOW_CONTROL_OFF)؛ serialPort.read(mCallback)؛ // tvAppend(textView,"Serial Connection Opened!\n")؛ ) other (Log.d("SERIAL", "PORT NOT OPEN")؛ ) ) else (Log.d("SERIAL"، "PORT IS NULL"); ) ) else (Log.d("SERIAL"، "PERM NOT GRANTED")؛ ) ) other if (intent.getAction().equals(UsbManager.ACTION_USB_DEVICE_ATTACHED)) ( onClickStart(startButton)؛ ) other if (intent.getAction ().equals(UsbManager.ACTION_USB_DEVICE_DETACHED)) ( onClickStop(stopButton); ) ); )
اگر اولین شرط IF برآورده شد، و اگر کاربر اجازه داده است، اتصال را با دستگاهی شروع کنید که شناسه فروشنده آن با شناسه فروشنده مورد نیاز ما مطابقت دارد. همچنین، اگر پخش اتصال یا قطع اتصال دستگاه دریافت شد، روش های onClick را برای دکمه های Start و Stop به صورت دستی فراخوانی کنید. SerialPort با استفاده از دستگاه و اتصال به عنوان آرگومان تعریف می شود. اگر موفقیت آمیز بود، SerialPort را باز کنید و پارامترهای مناسب را تنظیم کنید. مقادیر پارامتر برای Arduino Uno عبارتند از: 8 بیت داده، 1 بیت توقف، بدون برابری، کنترل جریان خاموش است. نرخ باود می تواند 300، 600، 1200، 2400، 4800، 9600، 14400، 19200، 28800، 38400، 57600 یا 115200 bps باشد، اما ما از 9600 bps استاندارد استفاده خواهیم کرد.
دریافت اطلاعات از دستگاه
در قطعه کد بالا، به خط حاوی serialPort.read(mCallback) توجه کنید. در اینجا، تابع خواندن یک مرجع به آبجکت Callback ارسال میشود، که وقتی با دادههای ورودی مواجه میشود، به طور خودکار فعال میشود.
UsbSerialInterface.UsbReadCallback mCallback = جدید UsbSerialInterface.UsbReadCallback() ( // متد برگشتی فراخوانی را تعریف کنید که هنگام دریافت داده فراخوانی می شود. "UTF-8"); data.concat("/n"); tvAppend(textView، data); ) catch (UnsupportedEncodingException e) (e.printStackTrace(); ) ) );
داده های دریافتی به صورت بایت خام خواهد بود. ما باید آنها را دوباره رمزگذاری کنیم قالب قابل خواندنبه عنوان مثال UTF-8. سپس با استفاده از روش tvAppend() ویژه به TextView اضافه می شوند. این کار به این صورت انجام می شود زیرا هر تغییری در رابط کاربری فقط روی thread قابل انجام است. رابط کاربری. از آنجایی که این Callback به عنوان یک رشته پسزمینه اجرا میشود، نمیتواند مستقیماً بر رابط کاربری تأثیر بگذارد.
Private void tvAppend(TextView tv, CharSequence text) ( final TextView ftv = tv; final CharSequence ftext = text; runOnUiThread(new Runnable() ( @Override public void run() ( ftv.append(ftext); ));
انتقال داده به دستگاه
انتقال داده ها در مقایسه با خواندن داده ها از یک دستگاه نسبتاً آسان است. این یک فراخوانی تابع ساده با بایت های داده است که باید به عنوان آرگومان ارسال شوند. این در روش onClick دکمه Send پیاده سازی خواهد شد.
SerialPort.write(string.getBytes());
بستن یک اتصال
برای بستن اتصال کافی است درگاه سریال.
SerialPort.close();
مانیفست برنامه
مانیفست اعلام می کند که یک برنامه به چه مجوزهای اضافی ممکن است نیاز داشته باشد. تنها مجوزی که به آن نیاز داریم مجوز تبدیل تلفن به میزبان USB است. خط زیر را به مانیفست خود اضافه کنید:
می توان با افزودن یک فیلتر قصد به MainActivity، برنامه را به طور خودکار شروع کرد. این فیلتر هدف زمانی که دستگاه جدیدی متصل می شود فعال می شود. نوع دستگاه را می توان به صراحت با استفاده از شناسه فروشنده و/یا شناسه محصول در فایل XML مشخص کرد.
به خط " android:resource="@xml/device_filter " توجه کنید. این خط به کامپایلر می گوید که می تواند ویژگی های دستگاه را در فایلی به نام device_filter در دایرکتوری src/main/res/xml بیابد، بنابراین یک زیر شاخه "xml" در دایرکتوری src /main/res و فایلی با محتوای زیر در آن قرار دهید:
تست اپلیکیشن
برنامه را بسازید و آن را روی گوشی هوشمند خود اجرا کنید. حالا آردوینو IDE را روشن کنید و آردوینو را طوری تنظیم کنید که به سادگی هر چیزی را که برد روی پورت سریال دریافت میکند بازتاب دهد. در اینجا یک کد بسیار ساده برای کمک به شما در انجام این کار وجود دارد:
void setup() ( Serial.begin(9600); ) void loop() (char c; if(Serial.available()) (c = Serial.read(); Serial.print(c); ))
اکنون آردوینو خود را با استفاده از کابل OTG به پورت microUSB گوشی خود وصل کنید. برنامه باید به طور خودکار شروع شود. سعی کنید مقداری متن ارسال کنید و همان داده ها برگردانده می شوند!
نتیجه
این مقاله نشان می دهد که آردوینو چگونه می تواند با گوشی هوشمند شما ارتباط برقرار کند. و امکانات استفاده از آن بی پایان است! در مواقعی که به دادهای از هر سنسوری نیاز است که در بین سنسورهای تعبیهشده در گوشی هوشمند نیست، میتوانید از هر میکروکنترلری برای خواندن دادههای این سنسور و انتقال آنها به گوشی هوشمند استفاده کنید. مقاله زیر به شما نشان می دهد که چگونه گوشی هوشمند خود را با استفاده از ماژول بلوتوث محبوب HC05 به آردوینو متصل کنید.
دستگاه روی آردوینو و بلوتوث بدون ویرایش کد. ما از نرم افزار رایگان تخصصی برای طراحی استفاده خواهیم کرد. علاوه بر این، شما نیازی به خرید شاسی برای صنایع دستی ما ندارید، تقریباً هر مدل معیوب رادیویی کنترل شده ماشین یا تانک این کار را انجام می دهد.
من پیشنهاد می کنم یک ویدیوی کلی در مورد دستگاه کنترل شده با بلوتوث و پر کردن آن تماشا کنید.
بنابراین، بیایید به یک مثال زنده نگاهی بیندازیم که چگونه می توان یک ماشین را از راه دور از طریق بلوتوث از تبلت یا تلفن هوشمند اندرویدی با دستان خود ساخت. مقاله، به اندازه کافی عجیب، برای سطح دانش اولیه طراحی شده است. در اینجا هیچ راهنمای ویرایش کد در Arduino IDE وجود ندارد و ما فقط از آن برای آپلود کد خود استفاده خواهیم کرد. و الگوریتم کنترل را در برنامه ای به نام FLProg می سازیم. برنامه کنترل گوشی هوشمند - HmiKaskada_free. اما ابتدا در مورد سخت افزاری که نیاز داریم.
ماشین روی آردوینو و بلوتوث - سخت افزار.
اولین چیزی که لازم است این است شاسییعنی بدنه ای با چرخ و موتور که برای ما و اطرافیانمان سوار خواهد شد. در مورد من، یک کیس از یک اسباب بازی رادیویی استفاده شد که در آن واحد برق سوخت. چشم انداز تعمیر به نظرم کسل کننده به نظر می رسید و من چیز جدیدی برای فرزندانم می خواستم. و به این ترتیب این پروژه متولد شد. دو موتور در بدنه وجود دارد که چرخ ها را در کناره های دستگاه مانند یک مخزن به حرکت در می آورند. تمام قطعات الکترونیکی برای قطعات یدکی رفتند.
برای کنترل موتورهای الکتریکی خلقت آینده ما، به شما نیاز دارید H-bridge روی تراشه L298Nلینک علی این یکی رو از خودم گرفتم. عکس قابل کلیک است
H-bridge برای آردوینو
می تواند دو موتور در محدوده ولتاژ 5 تا 35 ولت را کنترل کند. از PWM پشتیبانی می کند، یعنی می توانید سرعت موتورها را تنظیم کنید. این برد دارای ولتاژ خروجی تثبیت شده 5 ولت برای تغذیه آردوینو است.
طرح اتصال ساده و بی تکلف است:
بخش جدایی ناپذیر بعدی پر کردن الکترونیکی پروژه ما است ماژول بلوتوث HC-06.رایج ترین ماژول برای آردوینو، آنقدر محبوب است که در توضیحات اضافینیاز ندارد.
بلوتوث HC-06 برای آردوینو
عنصر اصلی و مغز در مورد من است آردوینو نانو، من حتی عکسی را در اینجا پست نمی کنم زیرا همه در مورد آن می دانند و می دانند چگونه با آن کار کنند. به هر حال، هر برد آردوینو تا زمانی که در کیس جا شود این کار را می کند 😀
باتری ها و سیم ها برای لحیم کاری نیازی به تعیین مشخصات ندارند. انتخاب باتری به ولتاژ کار موتورهای الکتریکی بستگی دارد.
ماشین روی آردوینو و بلوتوث - طراحی یک طرح.
تکرار می کنم - اینجا هیچ حفاری در کد وجود نخواهد داشت. ما استفاده خواهیم کرد برنامه محبوب FLProg. آخرین نسخه آن را می توانید از وب سایت رسمی دانلود کنید. رابط کاربری این برنامه ساده و بی تکلف است، اما تقریباً همه ماژول های محبوب دارای عملکرد و پشتیبانی زیادی هستند. من نحوه استفاده از آن را نمی نویسم، زیرا چند مقاله طول می کشد. فقط می توانم بگویم که من راحت تر و برنامه موجودبرای طراحی برای آردوینو و کلون های آن. اسکرین شات از رابط:
رابط FLProg
سایت پر از کتابچه راهنمای متنی و تصویری است، فکر کنم متوجه شوید.
پروژه من برای یک دستگاه کنترل از راه دور را می توان از طریق سرویس کوتاه کردن پیوند از دیسک Yandex بارگیری کرد.
دستگاه آردوینو و بلوتوث یک رابط کنترلی در تبلت اندرویدی است.
با تقاضای عمومی، دستورالعمل های دقیقی برای توسعه یک رابط کنترلی بر اساس اندروید HmiKaskada در مقاله نوشتم. لینک قابل کلیک است.
برای دستگاه های اندرویدی، یک برنامه HmiKaskada (پیوند به YandexDisk) وجود دارد. در ابتدا به عنوان جایگزینی برای پانل های صنعتی گران قیمت HMI توسعه یافت. اما ذهن های کنجکاو به سرعت متوجه شدند که او می تواند هر چیزی را مدیریت کند. در مورد ما، یک ماشین. پشتیبانی می کند رابط های بی سیم Wi-Fi و بلوتوث، علاوه بر این، می توانید دستگاه را مستقیماً از طریق USB متصل کنید.
نسخه های پولی و رایگان این برنامه وجود دارد. من هر دو را دارم، اما اساساً یک پروژه در نسخه رایگان ساختم تا به شما نشان دهم و یک بار دیگر مطمئن شوید که نسخه رایگان کاملاً کار می کند. تفاوت اصلی بین نسخه رایگان و PRO این است که فقط روی بلوتوث کار می کند.
انجمن FLProg یک موضوع بزرگ در مورد سازگاری با Kaskada دارد و توسعه دهنده فعال و اجتماعی است. من هدفی در چیدمان صفحه کنترل پنل نمی بینم - این در ویدیو است.