نظام القائمة/التفاعل العامة لإطار Arduino
نظام الملاحة الآلي أو رمز المستخدم الكامل. باستخدام هذا النظام ، يمكنك تحديد القوائم والرابطة الفرعية وحقول الإدخال وغيرها من كائنات التكرار التي تتعامل مع جميع الإدخال/الإخراج ويمكنها الاتصال بالمعالج المحدد للمستخدم نتيجة لتكرار المستخدم. يمكن تشغيل وظيفة المستخدم كإجراء واحد يسمى على النقر/الإدخال أو كدالة مدفوعة بالحدث تستجيب للتركيز في/OUT أو إدخال/ESC. تم تصميم النظام كنظام اقتراع غير حظر ، مما يسمح للمهمة المتزامنة بالتشغيل. اختياريا يمكن تشغيل النظام في وضع شبه أوتوم ، إصدار أمر التنقل من رمز المستخدم.
انظر الويكي
# include < menu.h >
# include < menuIO/serialOut.h >
# include < menuIO/chainStream.h >
# include < menuIO/serialIn.h >
using namespace Menu ;
# define LEDPIN LED_BUILTIN
# define MAX_DEPTH 1
unsigned int timeOn= 10 ;
unsigned int timeOff= 90 ;
MENU (mainMenu, " Blink menu " , Menu::doNothing, Menu::noEvent, Menu::wrapStyle
,FIELD(timeOn, " On " , " ms " , 0 , 1000 , 10 , 1 , Menu::doNothing, Menu::noEvent, Menu::noStyle)
,FIELD(timeOff, " Off " , " ms " , 0 , 10000 , 10 , 1 ,Menu::doNothing, Menu::noEvent, Menu::noStyle)
,EXIT( " <Back " )
);
serialIn serial (Serial);
MENU_INPUTS (in,&serial);
MENU_OUTPUTS (out,MAX_DEPTH
,SERIAL_OUT(Serial)
,NONE // must have 2 items at least
);
NAVROOT (nav,mainMenu,MAX_DEPTH,in,out);
void setup () {
pinMode (LEDPIN, OUTPUT);
Serial. begin ( 115200 );
while (!Serial);
Serial. println ( " Menu 4.x " );
Serial. println ( " Use keys + - * / " );
Serial. println ( " to control the menu navigation " );
}
bool blink ( int timeOn, int timeOff) { return millis ()%( unsigned long )(timeOn+timeOff)<( unsigned long )timeOn;}
void loop () {
nav. poll ();
digitalWrite (LEDPIN, blink (timeOn,timeOff));
}المكونات الإضافية هي مجموعات قائمة معينة أو السلوكيات المخصصة للبند و/أو الرسم.
قد تكون بعض المكونات الإضافية محددة من النظام الأساسي أو تتطلب بعض الأجهزة.
بعض التطبيقات/البرامج التعليمية باستخدام Arduinomenu ، (الإصدارات الحالية والأقدم).
هل لديك آخر؟ واسمحوا لي أن أعرف على Gitter أو مراسلتي عبر البريد الإلكتروني.
سيناريو أردوينو لمستشعر درجة الحرارة وجهاز ضبط الوقت. يسمح بتشغيل المدفأة والضوء وفقًا لذلك للجدول الزمني
https://github.com/vikulin/lcd_lat
فرن المشروع Glasskilntoller محمولة كهربائيا لصنع "زجاج دافئ"
https://arduinoinfo.mywikis.net/wiki/project-glasskilntoller
Arduinomenu Demo ttgo t-display تعليمي رائع.
https://sites.google.com/site/jmaathuis/arduino/lilygo-tgo-tgo-display-esp32/arduinomenu-demo-ttgo-tgoplay
MVC-Interface Arduinomenu البرنامج التعليمي
https://zaragozamakerspace.com/index.php/courses/mvc-interface/
قاطع شريط النحاس التلقائي Arduino
https://www.thingiverse.com/thing:3557719
إعادة تحميل مقياس مستوى القادوب للمسحوق والإنذار
https://github.com/nathandarnell/reloading-powder-hopper-level-gauge-and-alarm
Servobox Servo Tester & Monitor
https://github.com/jarkman/servobox
بانوبوت روبوت بانوراما
https://github.com/robertfach/panobot
Teensy-midi-looper microcontroller المستندة إلى MIDI Sequencer
https://github.com/newdigate/teensy-midi-looper
AmplifierControl أتمتة الإجراء لتبديل/OFF Amplifier وفك تشفير النطاق من Kenwood
https://github.com/petrlab/amplifierControl
SPNA An Arduino Single Port Network Analyzer (SPNA)
https://github.com/tczerwonka/spna
Lrduino in Car Multi Gauge System - STM32 ، SSD1306 ، MAX31856 ، ADXL345 ، ELM327
https://github.com/bennehhboy/lrduino
lrduinotd5 في نظام القياس المتعدد للسيارة - STM32 ، SSD1306 ، MAX31856 ، ADXL345 ، L9637D ، TD5 ECU
https://github.com/bennehhboy/lrduinotd5
Thom-Radio Internet Radio Build
https://github.com/evfool/thom-radio
Midi_drums 7 شانيل بيزو ميدي مربع أسطوانة مع القائمة على شاشة LCD
https://github.com/sobollion/midi_drums
الموازنة
https://github.com/slbarker/balancingRobot
Swatili 50L Mater Meter مع التحكم في الصمام ، LCD ، الأزرار ، RTC وقارئ نبضات تأثير القاعة
https://github.com/daniel-leonard-robinson/swatili
Fielduino Hardware PWM Generator باستخدام القائمة لتحديد التردد و dutty.
https://github.com/neu-rah/fielduino
مفهوم Arduinomultidesktop multidesktop لأجهزة الأجهزة
https://github.com/dontsovcmc/arduinomultktop
SmartGreenhouse
https://github.com/dontsovcmc/smartgreenhouse/tree/master/src
Console.Arduino Portable Serial Debug Project باستخدام ILI9341
https://github.com/malachib/console.arduino
ATMEL AVR ، ATMEL SAM ، Espressif 32 ، Espressif 8266 ، Intel ARC32 ، Microchip PIC32 ، NORDIC NRF51 ، NORDIC NRF52 ، STM32 ، TEENSY ، TI MSP430
Arduino IDE - تثبيت باستخدام Manager Library (مكتبة Arduinomenu - Rui Azevedo)
منصة - http://platformio.org/lib/show/1468/arduinomenu٪20library
مسلسل
https://www.arduino.cc/en/reference/serial
مكتبة Arduino LCD القياسية
https://www.arduino.cc/en/reference/liquidcrystal
F Malpartida LCDs
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/home
Matthias Hertel PCF8574 Driver
https://github.com/mathertel/liquidcrystal_pcf8574
أجهزة Arduino TFT
https://www.arduino.cc/en/guide/tft
SSD13066ASCII
https://github.com/greiman/SSD13066ASCII
TFT_ESPI
مكتبة وخطوط متوافقة مع Arduino IDE لـ ESP8266 و ESP32
https://github.com/bodmer/tft_espi
TFT_HX8357 برنامج تشغيل
https://github.com/bodmer/tft_hx8357
أجهزة GFX Adafruit
https://github.com/adafruit/adafruit-gfx-library
أجهزة UTFT
http://www.rinkydinkelectronics.com/library.php؟id=51
أجهزة U8GLIB
https://github.com/olikraus/u8glib_arduino
SSD1306 ، 128x64 ، SSD1306 ، 128x32 ، SSD1306 ، 64x48 ، SSD1309 ، 128x64 ، SSD1322 ، 256x64 ، SSD1325 ، 128x64 ، SSD1327 ، 96x96 ، Sh1106 ، UC1608 ، 240X64 ، UC1610 ، 160X104 ، UC1611 ، 240X64 ، UC1611 ، 240X128 ، UC1701 ، 128X64 ، UC1701 ، 102X64 ، ST7565 ، 128X64 ، ST7565 ، 128X32 ، ST7920 ، ST7920 ، ST7920 ، ST7920 ، ST7920 ، 192x32 ، ST7920 ، 202x32 ، LD7032 ، 60x32 ، PCD8544 ، 84x48 ، TLS8204 ، 84x48 ، PCF8812 ، 96X65 ، KS0108 ، 128X64 ، T6963 ، 128x64 ، T6963 ، 240x128 ، SBN1661 ، 122X32 ، LC7981 ، 160X80 ، LC7981 ، 240X64 ، LC7981 ، 240X128 ، LC7981 ، 320X64 ، SSD1351 ، HT1632 ، 24X16 ،
أجهزة U8G2 و U8x8
https://github.com/olikraus/u8g2_arduino
SSD1305 128x32_noname ، SSD1305 128x32_noname ، SSD1305 128x64_ADAFRUIT ، SSD1305 128X64_ADAFRUIT ، SSD1306 128X64_NONAME ، SSD1306 128X64_VCOMH0 ، SSD1306 128X_ 128x64_noname ، ssd1306 128x64_vcomh0 ، ssd1306 128x64_alt0 ، sh1106 128x64_noname ، sh1106 128x64_vcomh0 ، sh1106 128x64_winstar ، sh1106 sh1106 128x64_winstar ، sh1106 72x40_wise ، sh1106 72x40_wise ، sh1106 64x32 ، sh1106 64x32 ، sh1107 64x128 ، sh1107 64x128 ، sh1107 see_96x96 SH1107 128x128 ، SH1122 256x64 ، SH1122 256x64 ، SSD1306 128x32_Univision ، SSD1306 128x32_Univision ، SSD1306 64X48_ER ، SSD1306 64x48_ER ، SSD1306 48X64. 48x64_winstar ، ssd1306 64x32_noname ، ssd1306 64x32_1f ، ssd1306 64x32_noname ، ssd1306 64x32_1f ، ssd1306 96x16_er ، ssd1306 96x16_er ، ssd1309 128x64_noname2 ، ssd1309 128x64_noname0 ، ssd1309 128x64_noname0 ، ssd1325 nhd_128x64 ، ssd1325 nhd_128x64 ، ssd1326 er_256x32 ، ssd1325. er_256x32 ، ssd1327 seeed_96x96 ، ssd1327 seeed_96x96 ، ssd1327 midas_128x128 ، ssd1327 midas_128x128 ، ssd1329 128x96_noname ، ld7032 60x32 ، ST7920 192x32 ، ST7920 192x32 ، ST7920 192x32 ، ST7920 128x64 ، ST7920 128x64 ، ST7920 128x64 ، LS013B7DH03 128X128 ، UC1701 EA_DOGS102 ، UC1701 MINI12864 PCF8812 96x65 ، HX1230 96x68 ، UC1604 JLX19264 ، UC1604 JLX19264 ، UC1608 ERC24064 ، UC1608 erc24064 ، UC1608 ERC240120 ، UC1608 240x128 ، UC1608 240x128 ، UC1638 160X128 ، UC1610 EA_DOGXL160 ، UC1610 EA_DOGXL160 ، UC1611 EA_DOGM240 ، UC1611 EA_DOGM240 ، UC1611 EA_DOGXL240 ، UC1611 EW50850 ، UC1611 EW50850 ، ST7565 EA_DOGM128 ، ST7565 64128N ، ST7565 ZOLEN_128X64 ، ST7565 LM6059 ، ST7565 LX12864 ، ST7565 NHD_C12864 ، ST7565 JLX12864 ، ST7565 NHD_C12832 ، UC1601 128X32 ، UC1601 128X32 ، ST7565 EA_DOGM132 ، ST7567 PI_132X64 end_dg128064 ، st7567 end_dg128064i ، ST7588 JLX12864 ، ST7588 JLX12864 ، ST75256 JLX256128 ، ST75256 JLX256128 ، ST75256 JLX2560 ، ST7 JLX256160 ، ST75256 JLX240160 ، ST75256 JLX240160 ، ST75256 JLX25664 ، ST75256 JLX25664 ، ST75256 JLX172104 ، ST75256 JLX172104 ، IST3020 ERC19264 ، SBN1661 122X32 ، SED1520 122X32 ، KS0108 128X64 ، KS0108 ERM19264 ، LC7981 160X80 ، LC7981 160X160 ، LC7981 240X128 ، T6963 ، T6963 240X64, T6963 256X64, T6963 128X64, SSD1322 NHD_256X64, SSD1322 NHD_128X64, SSD1606 172X72, SSD1607 200X200, SSD1607 GD_200X200, IL3820 296X128, IL3820 V2_296x128 ، SED1330 240X128 ، RA8835 NHD_240X128 ، RA8835 320X240 ، MAX7219 32X8 ، A2PRINTER 384X240
أجهزة Ucglib
https://github.com/olikraus/ucglib_arduino
ST7735 ، ILI9163 ، ILI9325 ، ILI9341 ، ILI9486 ، LD50T6160 ، PCF8833 ، SEPS225 ، SSD1331 ، SSD1351 ، HX8352C
محطة ANSI التسلسلية
https://github.com/neu-rah/ansistream
Grove RGB LCD I2C 2x16
https://wiki.seeedstudio.com/grove-lcd_rgb_backlight/
متصفح الويب
الويب JSON
WebSockets
ملاحظة: سوف تتطلب ESP8266 مكتبة دفق حتى لو لم تستخدم واجهة الويب ، إلى جانب #include <menuIO/esp8266Out.h>
اعتمادًا على برنامج تشغيل الإخراج الخاص بك ، قد يكون أحدهما (يمكن تثبيت كليهما)
https://www.arduino.cc/en/reference/serial
Quadencoder - المشفر العام باستخدام PCINT (مصمم)
الأزرار - لوحة مفاتيح رقمية بسيطة (مصممة)
لوحة المفاتيح العامة (بدون PCINT) - قابلة للتكوين لألواح المفاتيح الرقمية أو التناظرية (مصممة)
عصا التناظرية
clickencoder https://github.com/0xpit/encoder
لوحة المفاتيح المصفوفة
http://playground.arduino.cc/code/keypad https://github.com/nullkraft/keypad
PCF8574 القائم على I2C Matrix Keypad https://github.com/whatnick/i2ckeypad
مستخدم محدد استدعاء استدعاء استدعاء واجهة برمجة تطبيقات
متصفح الويب (تجريبي) عند استخدام أجهزة ESP
تعتمد هذه المكتبة على المكتبات التالية:
اعتمادًا على نوع الإدخال أو الإخراج ، قد تكون هناك حاجة إلى مكتبات أخرى. في الأساس أي مكتبة مطلوبة لأجهزتك.
مزيد من المعلومات في
صفحات الويكي أو القضايا أو r-site.net
يرجى الإبلاغ عن الأخطاء أو المشكلات أو أفكار التحسين ، أقوم بتسجيل التعليقات. شكرًا.
في تقرير المشكلات ، يرجى تحديد برامج تشغيل الإدخال والإخراج أو الأجهزة وكذلك النظام الأساسي المستهدف.
يحتاج المشفر الآن إلى بدء () لاستدعاء الإعداد (2.x)
تتم قراءة الإدخال من التدفقات العامة ، وتضمين تدفقات بسيطة للتشفير ولوحات المفاتيح - شريطة أن يستخدم برنامج التشغيل المشفر عمليات سحب داخلية ومنطق عكسي
تعبئة دفق متعددة للإدخال لخلط دفق التشفير مع لوحة مفاتيح التشفير (عادةً مفتاح واحد أو 2 مفتاح)
تمت إزالة خيار InvertFieldKeys ، يتم الآن دعم الاكتشاف بواسطة كائنات MENINE المحددة.
الانحدار: لا تزال هناك حاجة لتخفيف حالات الإدخال البسيطة.
تم نقل NumValueInput إلى كائن Menuin
خيارات Navroot الإضافية ، سابقًا على كائن الخيارات العالمية
bool nav2D= false ; // not used
bool canExit= true ; // v4.0 moved from global options
bool useUpdateEvent= false ; // if false, use enterEvent when field value is changed.
idx_t inputBurst= 1 ; // limit of inputs that can be processed before output لم يعد المسلسل مقبولًا كمدخلات مباشرة ، استخدم Serialin بدلاً من ذلك
تم تغيير وظيفة Printto Member من:
Used printTo (navRoot&, bool ,menuOut&, idx_t , idx_t );ل
Used printTo (navRoot&, bool ,menuOut&, idx_t , idx_t , idx_t = 0 );يجب أن يؤثر هذا فقط على المكونات المخصصة
المدخلات هي الآن من الفئة Menuin ، مشتقة من الدفق ولكن بما في ذلك وظائف العلم لانعكاس محور الحقل لكل فئة الإدخال.
خطأ = متابعة القائمة
صواب = قائمة الخروج