Remotexy flprog: Как перенести интерфейс в IDE FLProg

Содержание

FLProg + RemoteXY = Беспроводная клавиатура для компьютера на Вашем телефоне

У меня дома сложилась интересная ситуация. Телевизор в спальне подключен к компьютеру расположенному в другой комнате, и для того что бы жена могла посмотреть очередную серию сериала (хотя у меня есть андроидная приставка, которая стоит рядом с телевизором, она предпочитает смотреть с компа), приходится приложить достаточно много усилий. В виду присутствия детей, беспроводные мыши и клавиатуры у нас не приживаются. Я давно с интересом присматривался к возможности Arduino Leonardo прикидываться мышкой и клавиатурой, и когда эта плата пришла ко мне, реализовал данную возможность в программе FLProg версии 2.2. В паре с возможностями проекта RevoteXY получилась очень интересная штука. Для начала видео работы получившегося устройства.


В первую очередь создаётся проект на сайте RemoteXY. Особенность этого проекта в том что созданный Вами интерфейс не надо грузить на телефон. Достаточно иметь на телефоне саму программу RemoteXY, а все созданные интерфейсы хранятся в прошивке Arduino.

При соединении с ней, описание интерфейса передаётся на телефон, и открывается в программе.

Сейчас на сайте RemoteXY появилась возможность делится своими проектами, и вот ссылка на мой проект для рассматриваемого в этом уроке устройства. Проект состоит из четырёх экранов.

Для управления перемещением мыши служит джойстик. Управление с помощью него очень напоминает управление с помощью той штуки, которая торчала посередине клавиатуры на известном «ThinkPad T41».

У меня достаточно долго такой был, так что опыт есть. Разработчики проекта RemoteXY обещали сделать новый элемент – «Сенсорная панель», с помощью которой можно будет полностью имитировать тачпад ноутбука. Когда это произойдёт в данном проекте я заменю джойстик на него. Слайдер в правой части экрана имитирует колесо прокрутки. Чем сильнее его сдвиг от центра, тем быстрее будет крутиться колесо виртуальной мышки.

Три столбца кнопок в левой части экрана имитируют разные нажатия на кнопки виртуальной мыши.

Каждый столбец отвечает за свою кнопку – левую, среднюю, и правую соответственно. Верхний ряд кнопок (с символом “P”) имитирует обычное нажатие. То есть при нажатии на эту кнопку, будет нажата соответствующая кнопка виртуальной мыши, при отпускании — отпущена. Второй ряд (с символом “PF”) – имитирует нажатие с фиксацией. При первом нажатии на эту кнопку, кнопка виртуальной мыши будет нажата, при втором – отпущена. Это удобно при перетаскивании окон например. Навели мышь на заголовок окна, нажали кнопку “PF” (закрепили окно к мышке), перетащили окно, ещё раз нажали “PF” (отпустили окно). Ну а третий ряд (с символом “C”) – клик по соответствующей кнопке виртуальной мыши.

Тут объяснять особенно нечего. Кнопочка “Caps” включает ввод прописных символов, кнопка “Shft”включает прописные символы на один символ. После ввода одного символа она сбрасывается.

Тут то же все понятно. Клавиши “Caps” и “Shift” работают так же как и на предыдущем экране.

Тут есть небольшая тонкость. В онлайн редакторе RemoteXY обнаружилась небольшая бага. Если в надписи на кнопке использовать символ “” то проект не сохраняется и не обрабатывается. Поэтому для кнопки этого символа я использовал надпись “not/”. Ну не придумал я ничего лучше.

После создания проекта на сайте RemoteXY необходимо получить код для загрузки в блок “RemoteXY” в проекте FLProg. Для этого в свойствах проекта RemoteXY выбираем среду программирования – FLProg.

Код, полученный на сайте RemoteXY для данного урока

REMOTEXY_MODE__SOFTSERIAL
REMOTEXY_SERIAL_RX 8
REMOTEXY_SERIAL_TX 9
REMOTEXY_SERIAL_SPEED 9600
[128,5,144,5,6,8,4,5,32,41
,11,47,47,7,1,4,48,92,11,7
,50,7,1,1,1,1,18,12,12,7

,1,80,0,1,1,14,18,12,12,7
,1,80,0,1,1,27,18,12,12,7
,1,80,0,1,1,1,32,12,12,7
,1,80,70,0,1,1,14,32,12,12
,7,1,80,70,0,1,1,27,32,12
,12,7,1,80,70,0,1,1,1,47
,12,12,7,1,67,0,1,1,14,47
,12,12,7,1,67,0,1,1,27,47
,12,12,7,1,67,0,1,1,1,22
,8,8,6,2,81,0,1,1,10,22
,8,8,6,2,87,0,1,1,19,22
,8,8,6,2,69,0,1,1,28,22
,8,8,6,2,82,0,1,1,37,22
,8,8,6,2,84,0,1,1,46,22
,8,8,6,2,89,0,1,1,55,22
,8,8,6,2,85,0,1,1,64,22
,8,8,6,2,73,0,1,1,73,22
,8,8,6,2,79,0,1,1,82,22
,8,8,6,2,80,0,1,1,1,31
,8,8,6,2,65,0,1,1,10,31
,8,8,6,2,83,0,1,1,19,31
,8,8,6,2,68,0,1,1,28,31
,8,8,6,2,70,0,1,1,37,31
,8,8,6,2,71,0,1,1,46,31
,8,8,6,2,72,0,1,1,55,31
,8,8,6,2,74,0,1,1,64,31
,8,8,6,2,75,0,1,1,1,40
,8,8,6,2,90,0,1,1,10,40
,8,8,6,2,88,0,1,1,19,40
,8,8,6,2,67,0,1,1,28,40
,8,8,6,2,86,0,1,1,37,40
,8,8,6,2,66,0,1,1,46,40
,8,8,6,2,78,0,1,1,55,40
,8,8,6,2,77,0,1,1,1,49
,98,13,6,2,0,1,1,73,31,8
,8,6,2,76,0,1,1,91,22,8
,8,6,2,60,0,1,1,82,31,17
,17,6,2,69,110,116,101,114,0,1
,1,64,40,8,8,6,2,44,0,1
,1,73,40,8,8,6,2,46,0,1
,1,1,16,17,5,6,2,83,104,105
,102,116,0,1,1,7,10,11,5,6
,2,67,97,112,115,0,1,1,1,25
,7,7,0,3,208,153,0,1,1,8
,25,7,7,0,3,208,166,0,1,1
,15,25,7,7,0,3,208,163,0,1
,1,22,25,7,7,0,3,208,154,0
,1,1,29,25,7,7,0,3,208,149
,0,1,1,43,25,7,7,0,3,208
,147,0,1,1,57,25,7,7,0,3
,208,169,0,1,1,78,25,7,7,0
,3,208,170,0,1,1,36,25,7,7
,0,3,208,157,0,1,1,64,25,7
,7,0,3,208,151,0,1,1,71,25
,7,7,0,3,208,165,0,1,1,50
,25,7,7,0,3,208,168,0,1,1
,86,25,13,7,0,3,60,0,1,1
,1,49,98,13,0,3,0,1,1,1
,41,7,7,0,3,208,175,0,1,1
,9,41,7,7,0,3,208,167,0,1
,1,17,41,7,7,0,3,208,161,0
,1,1,25,41,7,7,0,3,208,156
,0,1,1,33,41,7,7,0,3,208
,152,0,1,1,41,41,7,7,0,3
,208,162,0,1,1,49,41,7,7,0
,3,208,172,0,1,1,57,41,7,7
,0,3,208,145,0,1,1,65,41,7
,7,0,3,208,174,0,1,1,1,33
,7,7,0,3,208,164,0,1,1,9
,33,7,7,0,3,208,171,0,1,1
,17,33,7,7,0,3,208,146,0,1
,1,25,33,7,7,0,3,208,144,0
,1,1,33,33,7,7,0,3,208,159
,0,1,1,41,33,7,7,0,3,208
,160,0,1,1,49,33,7,7,0,3
,208,158,0,1,1,57,33,7,7,0
,3,208,155,0,1,1,65,33,7,7
,0,3,208,148,0,1,1,73,33,7
,7,0,3,208,150,0,1,1,81,33
,7,7,0,3,208,173,0,1,1,73
,41,7,7,0,3,44,0,1,1,81
,41,7,7,0,3,46,0,1,1,89
,33,10,15,0,3,69,110,116,101,114
,0,1,1,7,13,11,5,0,3,67
,97,112,115,0,1,1,1,19,17,5
,0,3,83,104,105,102,116,0,1,1
,1,13,9,8,5,4,49,0,1,1
,11,13,9,8,5,4,50,0,1,1
,21,13,9,8,5,4,51,0,1,1
,41,13,9,8,5,4,53,0,1,1
,51,13,9,8,5,4,54,0,1,1
,61,13,9,8,5,4,55,0,1,1
,91,13,9,8,5,4,48,0,1,1
,81,13,9,8,5,4,57,0,1,1
,71,13,9,8,5,4,56,0,1,1
,31,13,9,8,5,4,52,0,1,1
,32,49,68,13,5,4,0,1,1,51
,40,9,8,5,4,60,0,1,1,61
,40,9,8,5,4,39,0,1,1,71
,40,9,8,5,4,34,0,1,1,1
,31,9,8,5,4,95,0,1,1,91
,22,9,8,5,4,60,60,0,1,1
,41,40,9,8,5,4,62,0,1,1
,31,40,9,8,5,4,125,0,1,1
,21,40,9,8,5,4,123,0,1,1
,11,40,9,8,5,4,93,0,1,1
,1,40,9,8,5,4,91,0,1,1
,51,22,9,8,5,4,38,0,1,1
,61,31,9,8,5,4,124,0,1,1
,51,31,9,8,5,4,110,111,116,47
,0,1,1,41,31,9,8,5,4,47
,0,1,1,31,31,9,8,5,4,61
,0,1,1,21,31,9,8,5,4,45
,0,1,1,11,31,9,8,5,4,43
,0,1,1,71,31,9,8,5,4,63
,0,1,1,1,22,9,8,5,4,33
,0,1,1,11,22,9,8,5,4,64
,0,1,1,21,22,9,8,5,4,35
,0,1,1,31,22,9,8,5,4,36
,0,1,1,41,22,9,8,5,4,94
,0,1,1,61,22,9,8,5,4,42
,0,1,1,71,22,9,8,5,4,40
,0,1,1,81,22,9,8,5,4,41
,0,1,1,81,40,9,8,5,4,44
,0,1,1,91,40,9,8,5,4,46
,0,1,1,91,31,9,8,5,4,69
,110,116,101,114,0,1,1,81,31,9
,8,5,4,37,0,1,1,1,49,9
,8,5,4,58,0,1,1,11,49,9
,8,5,4,59,0,1,1,21,49,9
,8,5,4,126,0,65,10,1,10,5
,5,2,2,65,10,1,13,5,5,2
,3,65,9,1,1,5,5,2,2,65
,9,1,1,5,5,2,3,65,9,1
,1,5,5,2,4,131,1,82,1,17
,6,7,1,77,111,117,115,101,0,131
,0,64,1,17,6,6,2,69,110,0
,131,0,46,1,17,6,0,3,208,160
,209,131,209,129,0,131,0,28,1,17
,6,5,4,49,46,46,57,0];
input signed char joystick_1_x; /* =-100. .100 координата x положения джойстика */
input signed char joystick_1_y; /* =-100..100 координата y положения джойстика */
input signed char slider_1; /* =-100..100 положение слайдера */
input unsigned char pressL; /* =1 если кнопка нажата, иначе =0 */
input unsigned char PressM; /* =1 если кнопка нажата, иначе =0 */
input unsigned char PressR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char pressLF; /* =1 если кнопка нажата, иначе =0 */
input unsigned char pressMF; /* =1 если кнопка нажата, иначе =0 */
input unsigned char pressRF; /* =1 если кнопка нажата, иначе =0 */
input unsigned char ClickL; /* =1 если кнопка нажата, иначе =0 */
input unsigned char ClickM; /* =1 если кнопка нажата, иначе =0 */
input unsigned char ClickR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bQ; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bW; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bE; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bT; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bY; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bU; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bI; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bO; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bP; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bA; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bS; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bD; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bF; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bG; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bH; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bJ; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bK; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bZ; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bX; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bC; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bV; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bB; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bN; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bM; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSpace; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bL; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bBacspace; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bEnter; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bZap; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bTochka; /* =1 если кнопка нажата, иначе =0 */
input unsigned char ShiftEn; /* =1 если кнопка нажата, иначе =0 */
input unsigned char CapsEn; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bQR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bWR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bER; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bRR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bTR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bUR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bOR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bTverdR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bYR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bPR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bXXR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bIR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bBacspaceR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSpaceR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bZR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bXR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bCR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bVR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bBR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bMR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bRusBR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bRusUR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bAR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bDR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bFR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bGR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bHR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bJR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bKR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bLR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bRusGR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bRusER; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bZapR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bTochkaR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bEnterR; /* =1 если кнопка нажата, иначе =0 */
input unsigned char CapsRus; /* =1 если кнопка нажата, иначе =0 */
input unsigned char ShiftRus; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum1; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum2; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum3; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum5; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum6; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum7; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum0; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum9; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum8; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bNum4; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSpaceSim; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim24; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim25; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim26; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim10; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bBacspaceSim; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim23; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim22; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim21; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim20; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim19; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim6; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim16; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim15; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim14; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim13; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim12; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim11; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim17; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim1; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim2; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim3; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim4; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim5; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim7; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim8; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim9; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim27; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim28; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bEnterSim; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim18; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim29; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim30; /* =1 если кнопка нажата, иначе =0 */
input unsigned char bSim31; /* =1 если кнопка нажата, иначе =0 */
output unsigned char IsShiftEn_g; /* =0. .255 яркость зеленого цвета индикатора */
output unsigned char IsShiftRus_g; /* =0..255 яркость зеленого цвета индикатора */
output unsigned char hasEngSim_b; /* =0..255 яркость синего цвета индикатора */
output unsigned char hasRusSim_b; /* =0..255 яркость синего цвета индикатора */
output unsigned char hasSpecSim_b; /* =0..255 яркость синего цвета индикатора */

Прикидываться стандартной (то есть не требующей специальных драйверов) мышью и клавиатурой могут контроллеры Arduino Leonardo (проверено), Arduino DUE (поддержка данного контролера появилась с версии 2.3 — проверено), и Arduino Micro (теоритически, ещё не пришла, жду что бы проверить).

Проект FLProg для данного урока можно скачать здесь . В качестве устройтва связи с телефоном используется модуль блютуз HC-05. Подключён он в соответствии с таблицей.

Здесь присутствует очень большой блок “RemoteXY” который обеспечивает связь с телефоном. Для его настройки необходимо загрузить в него код полученный с сайта проекта RemoteXY. Процесс загрузки подробно описан в информации к блоку (свойства блока -> закладка “Информация”), поэтому не будем здесь её дублировать. Отмечу только для тех, кто работает в версии FLProg 2.3 и младше. В этих версиях есть небольшая бага. Если при создании проекта на сайте RemoteXY в настройках выбрать порт который отсутствует или занят в проекте в который будет производится загрузка описания, то при загрузке произойдёт падение программы. Что бы этого избежать, необходимо СНАЧАЛА выбрать в настройках блока свободный порт, а ЗАТЕМ загружать описание. В более поздних версиях программы FLProg эта ошибка исправлена.

Блоки CD (шифратор) служат для определения номера нажатой кнопки. Они выдают на своём выходе номер входа на котором появилась логическая 1. В случае отсутствия лог. 1 на всех входах, на выходе этого блока 0.

Здесь мы из данных полученных с телефона детектируем направление перемещения мыши и колеса. Зону нечувствительности я выбрал 5 едениц (при максимальном изменении сигнала от джойстика и слайдера 0-100 в каждую сторону). В принципе для улучшения работы с мышкой этой величиной можно поиграться. Так же здесь определяется величина шага (скорость перемещения мыши или прокрутки). Параметрами блоков “Scale” так же можно поиграть для более комфортного управления мышью.

Здесь мы непосредственно отправляем команды на перемещение виртуальной мыши. Для этого используем новый блок “Mouse move”. Каждый из блоков отправляет команду на перемещение мыши в определённом направлении каждые 10мс (задаётся в настройках блока), на шаг, рассчитанный в предыдущей плате при наличии высокого уровня на входе “Send”.

Здесь так же используется новый блок “Mouse wheel”. Тот блок отправляет команду на поворот колеса прокрутки виртуальной мыши. Здесь для достижения эффекта плавности используется другой (отличный от перемещения мыши) принцип. При наличии высокого уровня на входе “Send” блок передает на виртуальную мышь команду на поворот колеса прокрутки на один шаг, но с периодичностью рассчитанной на плате 2. Эта периодичность зависит от положения слайдера на телефоне и меняется от 200 миллисекунд до 5 миллисекунд при изменении значения получаемого со слайдера от 5 (зона нечувствительности) до 100 (крайнее положение).

Здесь используется блок “MousePressKey”. При высоком уровне на входе “Send” он держит нажатой выбранную в настройках кнопку виртуальной мыши, при низком – отпускает её. Для реализации эффекта нажатия с фиксацией используются триггеры ТТ (счётные триггеры). По первому переднему фронту на своём входе они переводят свой выход в состояние лог. 1 а при втором сбрасывают его в 0. И так по кругу.

Здесь используется блок “MouseClickKey”, который по переднему фронту на входе “Send” производит короткий клик на выбранную в настройках блока кнопку виртуальной мыши.

Здесь используются блоки “KeyboardStatus” и “MouseStatus” которые при высоком уровне на входе “Status” включают виртуальные клавиатуру и мышь соответственно, а при низком уровне – выключают их. В данной схеме для управления включением и отключением служит сигнал наличия соединения телефона с ардуинкой. Он формируется на выходе “CS” блока “RemoteXY” (плата 1). Кроме этого при наличии соединения мы зажигаем встроенный в плату ардуино светодиод (пин 13).

Здесь определяется факт нажатия кнопки на одной из клавиатур в приложении на телефоне, и на какой конкретно клавиатуре была нажата кнопка – русской или английской. Кроме того формируются сигналы для зажигания светодиода расположенного правом верхнем углу каждой из клавиатур приложения на телефоне. Этот светодиод показывает, что сигнал о нажатии кнопки дошёл до контроллера. Я использовал его при наладке, но решил оставить его и в финальной версии приложения.

Здесь определяется необходимость ввода прописного символа. Передний фронт нажатия кнопки “Shift” в приложении на телефоне устанавливает SR тригер в состояние лог.1. После окончания ввода символа (задний фронт сигнала наличия нажатого символа) тригер сбрасывается в 0.
Каждое нажатие кнопки “Caps” в приложении на телефоне инвертирует работу кнопки “Shift”. То есть в начальном положении основное состояние ввода – строчные символы, а при нажатии кнопки “Shift” вводится один прописной символ, то после однократого нажатия кнопки “Caps” режим меняется. Основными становятся прописные буквы, а при нажатии кнопки “Shift” вводится один строчный символ. При повторном нажатии кнопки “Caps” ввод переводится в основной режим. Кроме того здесь формируется сигнал для зажигания индикатора “Shift” в приложении на телефоне.

Здесь из номера нажатой на клавиатуре в приложении на телефоне кнопки формируется код символа этой кнопки. Это делается с помощью блока “Code table”этот блок выдаёт на выходе “Q” код, номер которого в загруженной в блоке таблице соответствует значению на входе “I”.

Таблица кодов загруженная в блок “Code table” на этой плате.

Код Значение
113 Строчный символ q
119 Строчный символ w
101 Строчный символ e
114 Строчный символ r
116 Строчный символ t
121 Строчный символ y
117 Строчный символ u
105 Строчный символ i
111 Строчный символ o
112 Строчный символ p
97 Строчный символ a
115 Строчный символ s
100 Строчный символ d
102 Строчный символ f
103 Строчный символ g
104 Строчный символ h
106 Строчный символ j
107 Строчный символ k
108 Строчный символ l
122 Строчный символ z
120 Строчный символ x
99 Строчный символ c
118 Строчный символ v
98 Строчный символ b
110 Строчный символ n
109 Строчный символ m
91 Специальный символ [
93 Специальный символ ]
59 Специальный символ
39 Специальный символ ‘
44 Специальный символ ,
46 Специальный символ .

Обратите внимание, что и для русских символов и для английских символов используется одна таблица кодов. Дело в том, что библиотека Keybord понимает только однобайтовые коды, и реально нажимает кнопку виртуальной клавиатуры на которой написан символ с переданным ей кодом. Для ввода русских символов метод ввода на компьютере принудительно переключается на русский при их вводе. Как это сделано рассмотрим на следующей плате.

Здесь используются два блока “SequenceKeybord”. Эти блоки по переднему фронту на входе “Send” выполняют сценарий действий с клавиатурой, который был сконфигурирован при настройке блока. Именно с помощью этого блока мы можем настроить ввод русских или английских символов, а так же переключение строчных или прописных символов. Но для этого так же требуется некоторая настройка компьютера к которому подключено наше устройство. Надо настроить сочетание клавиш для включения русских и ангдийских раскладок. Это делается в панели управления компьютера.

Для данного устройства я настроил включение английского языка с помощью клафиш CTRL+1 а русского CTRL+0. Именно эти комбинации и используются блоках сценария.
Рассмотрим сценарий верхнего блока.

Сценарий выполняется по шагам сверху вниз по переднему фронту на входе “Send” (Когда появился сигнал наличия нажатого символа на клавиатуре приложения в телефоне). На первом шаге на виртуальной клавиатуре нажимается и удерживается кнопка CTRL. На втором шаге производится короткое нажатие на кнопку, код который подан на вход “Code Step 2”. В случае если нажатие было на русской клавиатуре это будет 48 (код символа 1) а если на английской – 49 (код символа 0). На третьем шаге отпускается кнопка CTRL. Таким образом, мы переключили язык ввода на нужный нам для ввода данного символа.

Выполнение следующего шага зависит от наличия высокого уровня на входе “Activity Step 4”. Он возникает при активном режиме ввода прописных символов. В этом случае шаг 4 выполняется, и нажимается и удерживается кнопка “Shift” на виртуальной клавиатуре. Таким образом производится ввод прописных символов.

Ну и на последнем шаге нажимается и удерживается кнопка виртуальной клавиатуры, код который приходит на вход “Code Step 5” (код нажатой нами кнопки на клавиатуре в приложении на телефоне).

При пропадании сигнала наличия нажатой кнопки на клавиатуре в приложении на телефоне, за счет инверсии на входе нижнего блока сценария, происходит выполнение сконфигурированного в нём сценария.

Сначала мы отпускаем ранее нажатую кнопку символа, а затем отпускаем кнопку “Shift”

Здесь аналогично плате 10 формируем сигнал о наличии нажатой кнопке на клавиатуре спецсимволов и цифр в приложении на телефоне, и код этой кнопки.

Таблица кодов загруженная в блок “Code table” на этой плате.

Код Описание
44 Специальный символ ,
44 Специальный символ ,
46 Специальный символ .
46 Специальный символ .
178 Кнопка клавиатуры BACKSPACE
178 Кнопка клавиатуры BACKSPACE
178 Кнопка клавиатуры BACKSPACE
32 Специальный символ «Пробел»
32 Специальный символ «Пробел»
32 Специальный символ «Пробел»
176 Кнопка клавиатуры RETURN
176 Кнопка клавиатуры RETURN
176 Кнопка клавиатуры RETURN
49 Код цифрового символа 1
50 Код цифрового символа 2
51 Код цифрового символа 3
52 Код цифрового символа 4
53 Код цифрового символа 5
54 Код цифрового символа 6
55 Код цифрового символа 7
56 Код цифрового символа 8
57 Код цифрового символа 9
48 Код цифрового символа 0
33 Специальный символ !
64 Специальный символ @
35 Специальный символ #
36 Специальный символ $
94 Специальный символ ^
38 Специальный символ &
42 Специальный символ *
40 Специальный символ (
41 Специальный символ )
95 Специальный символ _
43 Специальный символ +
45 Специальный символ —
61 Специальный символ =
47 Специальный символ /
92 Специальный символ
124 Специальный символ |
63 Специальный символ ?
37 Специальный символ %
91 Специальный символ [
93 Специальный символ ]
123 Специальный символ {
125 Специальный символ }
62 Специальный символ >
60 Специальный символ <
39 Специальный символ ‘
34 Специальный символ «
44 Специальный символ ,
46 Специальный символ .
58 Специальный символ :
59 Специальный символ
126 Специальный символ ~

При появлении сигнала наличия нажатой клавише на клавиатуре спецсимволов в приложении на телефоне выполняется сценарий, сконфигурированный в блоке “SequenceKeyboard”. В нём мы сначала переводим способ ввода на английский (нажатие клавиши “CTRL” → нажатие клавиши “1” → отпускание клавиши “CTRL” ), а затем нажимаем необходимую символную клавишу. При пропадании сигнала наличия нажатой кнопки, выполняется блок однократного воздействия на клавиатуру “OneKeyboard” который выполняет одно запрограммированное в настройках действие. В данном случае отпускает ранее нажатую клавишу специального символа.

После компиляции данный проект занимает чуть более половины памяти контроллера Arduino Leonardo что позволяет произвести ещё различные доработки данного проекта.
Удачного Вам творчества.

FLProg — визуальное программирование Arduino для домашнего пользования

Похожие презентации:

3D печать и 3D принтер

Видеокарта. Виды видеокарт

Программирование на Python

Анализ компании Apple

Трансформаторы тока и напряжения

Транзисторы

Устройство стиральной машины LG. Электрика

Моя будущая профессия. Программист

Конструкции распределительных устройств. (Лекция 15)

Электробезопасность. Правила технической эксплуатации электроустановок

В проекте я расскажу вам про замечательную
визуальную среду программирования FLProg для
Arduino. Программа FLProg работает с Arduino. Плата
очень удобна для быстрой разработки и отладки своих
устройств, что важно не только радиолюбителям, но
весьма полезно, например, и в школьных кружках, и в
учебных лабораториях. Вы подключаете плату Arduino
к компьютеру и загружаете готовую программу. В
настоящее время существует богатый выбор модулей
Arduino, датчиков и исполняющих устройств.
Arduino UNO представляет собой плату, с размещенными на ней
компонентами, главным из которых является микроконтроллер
ATmega328P. Микроконтроллер взаимодействует с внешним миром
посредством специальных портов ввода/вывода данных.
Для лучшего понимания можно привести очень яркий пример, которым
мы с вами и являемся. У человека есть мозг, то есть некоторая
вычислительная система снабженная памятью, и этот мозг, посредством
нервных окончаний управляет различными органами, будь то глаза или
руки. Тоже самое делает и микроконтроллер, а что и как ему делать, а так
же какими устройствами управлять, решаете уже непосредственно вы,
указывая все это в программном коде.
Вторым основным элементом является Bluetooth модуль, сегодня он
один из самых популярных типов связи для коротких дистанций,
которым пользуются большинство бытовых приборов и электронных
устройств — наушники, компьютерные клавиатуры и мышки и
другие гаджеты. В робототехнике Bluetooth модуль используют для
управления различных устройств на Arduino, например, управление
со смартфона.
Микросхема DS3231 является
часами реального времени с
температурной компенсацией.
Погрешность составляет ±2
минуты за год при температуре
окружающей среды от -40°С до
+85°С.
Датчик присутствия HC-SR501.
Модуль представляет собой
датчик движения человека. При
вхождении человека в зону
обзора, датчик регистрирует
инфракрасное излучения от
подвижного объекта.
Датчик протечки воды. При
попадании воды на контакты
происходит срабатывание
датчика. Также возможно
определить уровень воды в
пределах высоты датчика и
влажность почвы.
Генерировать звуки с
помощью Ардуино можно разными
способами. Самый простой из них
подключить к плате пьезоизлучатель
(или, как его ещё называют,
«пьезопищалку»). У нас она будет
служить для оповещения о протечки
воды в С/У и при срабатывании
датчика газа.
DHT11 цифровой датчик темпе
ратуры и влажности. Он
использует
емкостной датчик влажности
и терморезистор для
измерения температуры
окружающего воздуха, данные
выдает в цифровой форме
DS18B20 Выносной
датчик измеряет температуру в
градусах Цельсия. Датчик может
измерять температуру от -55 до
125 °C.
Датчик газа MQ 135. Это
универсальный датчик,
обнаруживающий в воздухе
бензол, спирт, пыль, дым и т.д.
Перед началом использования
рекомендуется прогреть датчик,
т.е. оставить его включенным на
сутки. В квартире он может
использоваться для определения
угарного газа. А также в квартирах
или домах с газовым отоплением,
утечку газа.
Разгрузочное реле.
Реле предназначается для
включения с помощью малого
тока например, с помощью
сигнала, исходящего от платы
Ардуино на 5 v включать
освещение или розетку 220 v
Из картонной коробки из-под обуви и деталей конструктора LEGO я
изготовил макет квартиры. Для наглядного показа применения
автоматики.
Далее я расскажу о схеме подключения и программировании.
Первая схема для управления со смартфона освещением, розеткой в
комнате и коридоре, сигнализации дыма, а также подключение датчиков
для метеостанции.
Далее покажу как эта схема выглядит в FLProg.
Схема представляет собой набор плат, на каждой, из которой собран законченный
модуль общей схемы. Для удобства работы каждая плата имеет наименование и
комментарии. При работе с программой пользователю нет необходимости
заниматься написанием кода. За всем этим следит программа. Так же она
проверяет корректность проекта целиком и указывает на наличие ошибок.
Схема каждой платы собирается из функциональных блоков. Большинство
функциональных блоков имеют возможность настройки, с помощью
которой их работу можно настроить для нужных нам целей
Так же для каждого функционального блока есть развернутое описание,
которое доступно в любой момент и помогает разобраться в его работе и
настройках.
Для управления с телефона была использована программа Remote XY.
Все настройки и оформление осуществляется на сайте программы, после этого
копируется код и вставляется в блок Remote XY программы FLProg.
В итоге получились 4 экрана для управления и отображения показаний
датчиков.
Экран 2-управление освещением
Экран 1 – метеостанция
и розеткой в комнате
Экран 3-управление
освещением в коридоре
Экран 4- управление RGB
подсветкой
Схема
подключения
автоматики в
С/У.
В программе FLProg блоки для этой схемы выглядят следующим образом.

English     Русский Правила

Разрешите представиться – проект FLProg

Добрый день.

Меня зовут Сергей Глушенко, и я являюсь автором проекта FLProg. Данный блог посвящён этому проекту, и здесь я буду рассказывать о новостях проекта, и достижениях участников сообщества пользователей программы. Проект посвящён созданию визуальной среды программирования плат Arduino, и поэтому прежде чем рассказывать о программе FLProg, я хочу сделать небольшой обзор существующих программ предназначенных для программирования этих плат.

Среды программирования плат ардуино можно разделить на следующие типы:

  1. Прокачанные «Блокноты»
  2. Текстовые среды разработки
  3. Графические среды, визуализирующие структуру кода.
  4. Графические среды, отображающие код в виде графики.
  5. Визуальные среды программирования, не использующие кода.


Рассмотрим каждый тип.

Прокачанные «Блокноты»

К этому типу относятся оригинальная среда программирования Arduino-IDE, а так же множество её клонов.

Проектирование программы для контроллера в ней происходит на языке Processing/Wiring, который является диалектом языка Си (скорее Си++). Эта среда представляет собой, по сути, обычный текстовый редактор с возможностью загрузки написанного кода в контроллер

Текстовые среды разработки

Альтернативой Arduino IDE является среда разработки от производителя микроконтроллеров Atmel — AVRStudio.

Программирование в ней ведётся на чистом C, и она уже имеет намного больше возможностей и более похожа на серьёзные IDE для «настоящих» языков программирования.

Эти два типа программ рассчитаны на опытных программистов, которые хорошо знают язык и могут с помощью них создавать серьёзные проекты.

Графические среды, визуализирующие структуру кода.

Это программы, которые, по сути, являются расширением форматирования для обычного текстового редактора кода. В нем программа так же пишется на языке С, но в более удобном варианте. Сейчас таких сред очень много, самые яркие примеры: Scratch, S4A, Ardublock. Они очень хорошо подходят для начального обучения программированию на языке С, поскольку отлично показывают структуру и синтаксис языка. Но для больших серьёзных проектов программа получается громоздкой.

Графические среды, отображающие код в виде графики

Это программы, скрывающие код и заменяющие его графическими аналогами. В них так же повторяется структура языка, формируются циклы, переходы, условия. Так же очень хорошо подходят для обучения построению алгоритмов, с последующим переходом на программирование на классических языках. И так же не подходят для построения больших проектов ввиду громоздкости получаемого отображения. Пример такой программы: MiniBlog, Algorithm Builder, Flowcode

Описанные выше типы программ рассчитаны на программистов или на тех, кто решил изучать классическое программирование. Но для изготовления конечного устройства кроме непосредственно программирования контроллера обычно требуется разработка внешней обвязки платы, разработка и расчет силовой части, входных развязок и многого другого. С этим у программистов часто возникают проблемы. Зато с этим прекрасно справляются электрики и электронщики. Но среди них мало программистов, которые смогли бы составить программу для контроллера. Сочетание программиста и электронщика — достаточно редкий случай. В результате такой ситуации реальных, законченных проектов на основе плат Arduino (да и других контроллеров) единицы. Для решения этой проблемы и служат программы последнего типа.

Визуальные среды программирования, не использующие кода.

Данные программы реализуют принцип, который уже много лет применяется практически всеми производителями контроллеров промышленного применения. Он заключается в создании программ для контроллера на языках FBD или LAD. Собственно говоря, как таковыми языками они не являются. Это, скорее, графические среды для рисования принципиальных или логических схем. Вспомним, что процессоры далеко не всегда были микропроцессорами, а создавались на базе цифровых микросхем. Поэтому тем, кто привык работать с цифровой техникой, больше понравится работа на них, чем написание кода на классических языках программирования. Примером таких программ являются проекты Horizont и FLProg. Программы этого типа хорошо подходят как для изучения построения импульсной и релейной техники, так и для создания серьезных проектов.


Ну и наконец, герой этого блога, проект FLProg.

Поскольку я много лет работаю разработчиком систем АСУТП, я постарался собрать в программе FLProg все, что мне наиболее понравилось в средах от ведущих производителей промышленного оборудования (Tia-Portal, Zelio Soft, Logo Soft Comfort).
Программа позволяет составлять схемы в двух видах: функциональные схемы (FBD) и релейные схемы (LAD).

FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131–3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.



Ladder Diagram (LD, LAD, РКС) — язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на специалистов по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.


Такой способ программирования оказался очень удобным для легкого вхождения в разработку систем АСУ инженеров-электриков и электронщиков. Разрабатывая проекты устройств, они могут легко привязать работу этих установок к алгоритмам работы контроллера.

Построенная на этих представлениях программа FLProg работает с Arduino. Почему?
Плата очень удобна для быстрой разработки и отладки своих устройств, что важно не только радиолюбителям, но весьма полезно, например, и в школьных кружках, и в учебных лабораториях колледжей. Одно из преимуществ — вам не нужен программатор. Вы подключаете плату Arduino к компьютеру и готовую программу загружаете из среды разработки. В настоящее время существует богатый выбор модулей Arduino, дополнительных модулей, работающих с Arduino, датчиков и исполняющих устройств.

В настоящее время программой поддерживаются следующие версии Arduino: Arduino Diecimila, Arduino Duemilanove, Arduino Leonardo, Arduino Lilypad, Arduino Mega 2560, Arduino Micro, Arduino Mini, Arduino Nano (ATmega168), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Pro (ATmega168), Arduino Pro (ATmega328), Arduino UNO. Кроме того недавно в списке поддерживаемых контроллеров появилась плата Intel Galileo gen2. В дальнейшем предполагается пополнение и этого списка, и, возможно, добавление плат, основанных на контроллерах STM.

Проект в программе FLProg представляет собой набор своеобразных плат, на каждой из которых собран законченный модуль общей схемы. Для удобства работы каждая плата имеет наименование и комментарии. Также каждую плату можно свернуть (для экономии места в рабочей зоне, когда работа над ней закончена) и развернуть.

Состав библиотеки элементов для языка FBD на текущий момент.

Оформление

  • Надпись
  • Изображение

Базовые элементы

  • [OR]
  • [AND]
  • [Bounce]
  • [XOR]
  • Таблица состояний

Специальные блоки
Тригеры

  • [SR]
  • [TT]
  • [Rtrig]
  • [RS]

Таймеры

  • [Timer]
  • [Generator]

Счетчики

  • [SpeedCounter]
  • [Counter]

Математика

  • [SUM (+)]
  • [MUL (*)]
  • [SUB (-)]
  • [DIV (/)]

Алгебра

  • [COS]
  • [ABS]
  • [MAX]
  • [POW]
  • [SQRT]
  • [TAN]
  • [MIN]
  • [SQ]
  • [RANDOM]
  • [SIN]

Сравнение

  • [Comparator]

UART

  • Отправка в UART
  • Приём из UART
  • Отправка переменной в UART
  • Прием переменной из UART

Переключатель

  • [SWITCH]
  • [MUX]
  • [DMS]

Моторы

  • ServoMotor
  • StepMotor

Часы реального времени

  • [Alarm]
  • [GetTime]
  • [SetTime]

Дисплеи

  • Дисплей на чипе НD44780
  • Подсветка дисплея на чипе НD44780 I2C
  • Блок декодирования семисегментного индикатора

Строки

  • Сложение строк
  • Сравнение строк
  • Длинна строки
  • Поиск подстроки
  • Получение подстроки
  • Получить символ из строки
  • Добавить Char к строке

Массивы

  • Запись элемента в массив
  • Получение элемента массива
  • Сумма элементов массива
  • Стек
  • Поиск элемента в массиве

Датчики

  • [DS18×2x]
  • [IR Ressive]
  • [Ultrasonic HC-SR04]
  • [DHT11, DHT21, DHT22]
  • [BMP-085]
  • [Bh2750LightMeter]

SD карта

  • Выгрузка файла с SD карты
  • Запись переменной на SD карту

Конвертация типов

  • Преобразование Float в Integer
  • Преобразование строк
  • → Byte
  • → Char

Микросхемы расширений

  • Расширитель выводов 74HC595
  • Драйвер светодиодов MAX7219

Операции с битами

  • Дешифратор
  • Шифратор
  • Чтение бита
  • Запись бита

Разное

  • Матричная клавиатура
  • Пьезо динамик
  • Сканирование шины OneWare

EEPROM

  • Запись в EEPROM
  • Чтение из EEPROM

Коммуникации

  • RessiveVariableFromCommunication
  • WebServerPage
  • SendVariableFromCommunication
  • WebClient

Готовые сервисы

  • narodmon. ru
  • goplusplatform.com
  • Удалённое управление через RemoteXY

Состав библиотеки элементов для языка LAD на текущий момент.

Оформление

  • Надпись
  • Изображение

Базовые блоки

  • Контакт
  • Катушка
  • Защита от дребезга
  • Выделение переднего фронта
  • Таблица состояний

Специальные реле

  • Двустабильное реле
  • Реле времени
  • Генератор
  • Реле сравнения

Алгебра

  • SIN
  • COS
  • TAN
  • ABS
  • MAX
  • MIN
  • SQ
  • SQRT
  • POW
  • RANDOM

Аналоговые блоки

  • Масштабирование
  • Математика
  • Счетчик
  • Аналоговый переключатель
  • Переключатель много к одному
  • Переключатель один ко многим
  • Аналоговый вход контроллера
  • Аналоговый выход контроллера
  • Вход аналогового соеденителя
  • Выход аналогового соеденителя
  • Скоростной счетчик

UART

  • Отправка в UART
  • Приём из UART
  • Отправка переменной в UART
  • Прием переменной из UART

Моторы

  • Сервомотор
  • Шаговый двигатель

Часы реального времени

  • Получить данные
  • Будильник
  • Установка времени

Дисплеи

  • Дисплей на чипе HD44780
  • Блок управления подсветкой дисплея на чипе HD4480 I2C
  • Блок декодирования семисегментного индикатора

Строки

  • Сложение строк
  • Сравнение строк
  • Длинна строки
  • Поиск подстроки
  • Получение подстроки
  • Получить символ из строки
  • Добавить Char к строке

Массивы

  • Запись элемента в массив
  • Получение элемента массива
  • Сумма элементов массива
  • Стек
  • Поиск элемента в массиве

Датчики

  • Ульразвуковой дальномер HC-SR04
  • Датчик температуры и влажности DHT11 (DHT21, DHT22)
  • Датчик температуры DS18×2x
  • IR Ressive
  • BMP-085
  • Bh2750 Light Meter

SD карта

  • Запись переменной на SD карту
  • Выгрузка файла с SD карты

Конвертирование типов

  • Конвертация строк
  • Преобразование Float в Integer
  • → Byte
  • → Char

Микросхемы расширений

  • Расширитель выводов 74HC595
  • Драйвер светодиодов MAX7219

Операции с битами

  • Шифратор
  • Дешифратор
  • Чтение бита
  • Запись бита

Разное

  • Матричная клавиатура
  • Пьезо динамик
  • Сканирование шины OneWare

EEPROM

  • Запись в EEPROM
  • Чтение из EEPROM

Коммуникации

  • Блок отправки переменной через коммуникации
  • Прием переменной через коммуникации
  • Страница Web сервера
  • Web клиент

Готовые сервисы

  • Передача данных на narodmon. ru
  • Удалённое управление через RemoteXY

Более подробно о проекте я расскажу в последующих постах, а напоследок небольшое видео показывающее принципы работы в программе и возможность управления платой из приложения на смартфоне.

© Geektimes

RemoteXY: Arduino control PRO — платное приложение для Android

Приложения для Android > Инструменты > RemoteXY: управление Arduino PRO

История рейтинга Google Play и гистограмма

Список изменений

  • 20 сентября 2022 г. Падение цен Новая цена: $7,49 ($10,91).
  • 14 сентября 2022 г. Увеличение цены Новая цена: $10,91 ($7,49).
  • 12 сентября 2022 г. Падение цен Новая цена: $7,49 ($10,91).
  • 9 сентября 2022 г. Увеличение цены Новая цена: $10,91 ($7,49).
  • 21 мая 2022 г. Падение цен Новая цена: $7,49 ($9,40).
  • 8 мая 2022 г. Увеличение цены Новая цена: $9,40 ($7,49).
  • 7 мая 2022 г. Падение цен Новая цена: $7,49 ($9,40).
  • 4 мая 2022 г. Увеличение цены Новая цена: $9,40 ($7,49).
  • 21 февраля 2022 г. Обновлять Версия 4.11.3
  • 12 февраля 2022 г. Падение цен Новая цена: $7,49 ($8,99).
  • 20 января 2022 г. Обновлять Версия 4.10.2
  • 28 декабря 2021 г. Обновлять Версия 4.9.03
  • 25 июня 2021 г. Обновлять Версия 4.8.01
  • 7 мая 2021 г. Увеличение цены Новая цена: $8,99 ($7,74).
  • 24 апр. 2021 г. Падение цен Новая цена: 7,74 доллара (8,99 доллара).
  • 23 апр. 2021 г. Увеличение цены Новая цена: $8,99 ($7,74).
  • 23 апр. 2021 г. Падение цен Новая цена: 7,74 доллара (8,99 доллара).
  • 9 апр. 2021 г. Увеличение цены Новая цена: $8,99 ($7,99).
  • 2 апр. 2021 г. Обновлять Версия 4.7.14
  • 19 марта 2021 г. Обновлять Версия 4. 7.13
  • 27 фев. 2021 г. Обновлять Версия 4.7.8
  • 12 окт. 2020 г. Увеличение цены Новая цена: $7,99 (7,80 долл. США)
  • 27 сент. 2020 г. Устанавливает 5000+ установок
  • 27 сент. 2020 г. Падение цен Новая цена: $7,80 ($7,99).
  • 10 авг. 2020 г. Увеличение цены Новая цена: $7,99 ($7,80).
  • 29 июля 2020 г. Падение цен Новая цена: $7,80 ($7,99).
  • 2 июня 2020 г. Обновлять Версия 4.6.3
  • 17 февраля 2020 г. Обновлять Версия 4.5.1
  • 21 декабря 2019 г. Обновлять Версия 4.4.7
  • 10 июня 2019 г. Обновлять Версия 4.4.5
  • 27 мая 2019 г. Обновлять Версия 4.4.3
  • 26 января 2019 г. Обновлять Версия 4.2.2
  • 12 января 2018 г. Обновлять Версия 4.1.3
  • 29 ноября 2017 г. Обновлять Версия 4.1.2
  • 25 марта 2017 г. Обновлять Версия 4.0.1
  • 30 декабря 2016 г. Обновлять Версия 3.8.3
  • 23 октября 2016 г. Падение цен Новая цена: $7,99 ($9,77).
  • 18 октября 2016 г. Падение цен Новая цена: 9,77 доллара (11,99 доллара)
  • 12 октября 2016 г. Увеличение цены Новая цена: $11,99 ($7,99).
  • 5 октября 2016 г. Обновлять Версия 3.7.5
  • 20 сентября 2016 г. Обновлять Версия 3.7.3
  • 18 сентября 2016 г. Обновлять Версия 3.7.2
  • 30 августа 2016 г. Падение цен Новая цена: $7,99 ($8,00)
  • 16 августа 2016 г. Устанавливает 1000+ установок
  • 16 августа 2016 г. Обновлять Версия 3.6.2
  • 17 мая 2016 г. Обновлять Версия 3.5.1
  • 13 мая 2016 г. Увеличение цены Новая цена: 8 долларов США (5,10 долларов США).
  • 7 апр. 2016 г. Увеличение цены Новая цена: $5,10 ($4,00)
  • 3 апр. 2016 г. Обновлять Версия 3.4.1
  • 29 марта 2016 г. Обновлять Версия 3.3.1

Посмотреть больше Посмотреть меньше

Информация о разработчике

Шемануев Евгений

[электронная почта защищена]

Веб-сайт

450039, г. Уфа-39, а/я 7

Описание

RemoteXY — это простой способ создать и использовать мобильный графический интерфейс пользователя для плат контроллеров. С помощью редактора графического интерфейса, расположенного по адресу https://remotexy.com, вы можете сделать свой уникальный GUI и загрузить его на доску. С помощью этого приложения вы сможете подключиться к плате и управлять ею через графический интерфейс.
Поддерживаемые способы подключения:
— Интернет через облачный сервер;
— WiFi-клиент и точка доступа;
— Bluetooth;
— Ethernet по IP или URL;
— USB OTG;
Поддерживаемые платы:
— Arduino UNO, MEGA, Leonardo, Pro Mini, Nano, MICRO и совместимые платы AVR;
— платы ESP8266;
— платы ESP32;
Поддерживаемые модули связи:
— Bluetooth HC-05, HC-06 или совместимые;
— Bluetooth BLE HM-10 или совместимый;
— ESP8266 в качестве модема;
— Ethernet W5100;
Поддерживается IDE:
— Arduino IDE;
— FLProg IDE;

Последние изменения:
Новые элементы управления для графического интерфейса.
Исправлены некоторые ошибки

RemoteXY — это простой способ создать и использовать мобильный графический интерфейс пользователя для плат контроллеров. С помощью редактора графического интерфейса, расположенного по адресу https://remotexy.com, вы можете сделать свой уникальный GUI и загрузить его на доску. С помощью этого приложения вы сможете подключиться к плате и управлять ею через графический интерфейс.
Поддерживаемые способы подключения:
— Интернет через облачный сервер;
— WiFi-клиент и точка доступа;
— Bluetooth;
— Ethernet по IP или URL;
— USB OTG;
Поддерживаемые платы:
— Arduino UNO, MEGA, Leonardo, Pro Mini, Nano, MICRO и совместимые платы AVR;
— платы ESP8266;
— платы ESP32;
Поддерживаемые модули связи:
— Bluetooth HC-05, HC-06 или совместимые;
— Bluetooth BLE HM-10 или совместимый;
— ESP8266 в качестве модема;
— Ethernet W5100;
Поддерживаемая IDE:
— Arduino IDE;
— FLProg IDE;

Последние изменения:
Новые элементы управления для графического интерфейса.
Исправлены некоторые ошибки

Показать полное описание Скрыть полное описание

ардуино авр бле Bluetooth доски совместимый общение контроль Ethernet флпрог графический графический интерфейс язь интерфейс Леонардо мега микро модем нано отг удаленный поддерживается уно URL USB

Комментарии

Облако тегов

приложение ардуино Bluetooth соединять хороший графический интерфейс пожалуйста очень бы ты

Облако тегов положительных комментариев

приложение ардуино Bluetooth соединять хороший графический интерфейс модуль очень бы ты

Облако тегов негативных комментариев

ардуино сбои устройство ошибка вне Получать Ответить время с использованием впустую

Рейтинг Google Play

Это приложение не имеет рейтинга

Разрешения

Средства разработки

тестовый доступ к защищенному хранилищу

Ваше местоположение

приблизительное (в сети) местоположение точное (GPS) местоположение

Сетевая связь

просмотр сетевых соединений, просматривать соединения Wi-Fi, сопряжение с устройствами Bluetooth, полный доступ к сети

Системные инструменты

доступ к настройкам Bluetooth, изменить подключение к сети, подключение и отключение от Wi-Fi

Библиотеки

Библиотеки рекламных сетей

Не найдено

Социальные библиотеки

Не найдено

Инструменты разработки

Ядро Android Jetpack

Связанные приложения

Ардуинодроид-Ардуино/ESP8266

Антон Смирнов

Бесплатно

1 000 000+

Виртуино 6

Илиас Лампроу

Бесплатно

100 000+

NokoPrint — Мобильная печать

ООО «НокоПринт»

Бесплатно

5 000 000+

Загрузчик Bluino — Arduino IDE

Блуино Электроникс

Бесплатно

100 000+

Маджонг

КанарейкаДроид

Бесплатно

10 000 000+

Bluetooth-контроллер Arduino

Приложения Giumig

Бесплатно

500 000+

Нарды — Нарды

AAStudio

Бесплатно

10 000 000+

RoboRemoFree — Управление Arduino

жестко запрограммированная радость

Бесплатно

50 000+

Скачать RemoteXY для ПК (Windows 11/10/8 и Mac)

В этой статье вы узнаете, как загрузить и установить RemoteXY для ПК (Windows и Mac). Убедитесь, что вы прочитали эту статью, чтобы узнать, как заставить ее работать на вашем ПК.

Давайте без промедления приступим к обсуждению.

RemoteXY — превосходное программное обеспечение мобильного графического пользовательского интерфейса для плат контроллеров. Это приложение замечательно по функциям, предоставляя почти такие же функции, как интеллектуальное программное обеспечение. Приложение предлагает пользователям официальный веб-сайт для настройки своего графического интерфейса и загрузки его на интегрированную доску.

Приложение RemoteXY эффективно работает как канал для подключения пользователей к доске и управления ею через графический интерфейс. Приложение имеет множество важных функций, о которых мы поговорим ниже.

Функции RemoteXY

Давайте поговорим о функциях приложения.

USB OTG

Приложение обеспечивает подключение USB или OTG и передачу данных. Это делается путем тщательного обеспечения безопасного USB-соединения plug-and-play с платой контроллера.

Коммуникационные модули

Приложение имеет множество поддерживаемых модулей, включая Bluetooth HC-05,06, Bluetooth BLE HM-10, Ethernet W5100 и ESP8266.

Поддерживаемые платы

Приложение совместимо с платами MEGA, Leonardo, Pro Mini, Nano, Micro и многими платами AVR, такими как ESP8266 и ESP32.

Поддерживаемая среда разработки

Совместимые среды разработки приложения: Arduino IDE и FLProg IDE. Чтобы получить дополнительные сведения о поддерживаемых IDE, необходимо войти в приложение.

Как загрузить RemoteXY для вашего ПК? (Windows 11/10/8/7 и Mac)

Как вы, возможно, уже знаете, RemoteXY — это приложение из Google Play Store, и мы знаем, что приложения из Play Store предназначены для смартфонов Android. Однако это не означает, что вы не можете запустить это приложение на своем ПК и ноутбуке. Теперь я обсужу с вами, как загрузить приложение RemoteXY для ПК.

Чтобы заставить его работать на вашем компьютере, вам необходимо установить эмулятор Android. Его основная функция — эмулировать ОС Android с вашего компьютера, поэтому вы сможете запускать приложения из Play Store, такие как RemoteXY.

Ниже мы предоставим вам два варианта эмуляторов, оба совместимы практически с любым приложением для Android. Поэтому мы рекомендуем вам использовать любой из них.

Метод №1: Загрузите RemoteXY на ПК с помощью Bluestacks

Шаг 1 : Загрузите последнюю версию Bluestacks на свой ПК, используя эту ссылку — https://bluestacks.com/
После загрузки запустите программу установки и завершите установку.

Шаг 2 : После установки откройте Bluestacks на своем компьютере, и появится домашний экран.

Шаг 3 : Найдите Google Play Store и откройте его. При первом запуске вам будет предложено войти в свою учетную запись.

Шаг 4 : Найдите приложение RemoteXY, введя его имя в строке поиска.

Шаг 5 : Нажмите кнопку установки, чтобы начать загрузку приложения RemoteXY. После этого вы можете найти это приложение на домашней странице Bluestacks. Щелкните его значок, чтобы начать использовать его на своем компьютере.

Способ № 2: Загрузите RemoteXY на ПК с помощью MEmu Play

Шаг 1 : Загрузите самую последнюю версию эмулятора MEmu Play с этого веб-сайта — https://memuplay.com/
После загрузки запустите его. установщик и следуйте указаниям мастера установки, который появится на вашем экране.

Шаг 2 : После установки найдите ярлык MEmu Play и дважды щелкните, чтобы запустить его на ПК.

Шаг 3 : Нажмите Google Play Store, чтобы запустить его. Теперь войдите в свою учетную запись, чтобы войти.

Шаг 4 : Найдите приложение RemoteXY, введя его в строку поиска.

Шаг 5 : Найдя его, нажмите кнопку установки, чтобы загрузить приложение RemoteXY. После этого на главном экране MEmu Play появится новый ярлык. Просто нажмите на нее, чтобы начать использовать RemoteXY на вашем компьютере.

Похожие приложения

Вот некоторые похожие приложения.

Blunio Loader

Это приложение/программное обеспечение для программирования Arduino. Приложение без проблем работает на устройствах Android, что позволяет пользователям писать и компилировать коды эскизов.

ESP2866 Загрузчик

Это инструмент исключительно для андроидов. Это приложение позволяет легко создавать проекты loT, а также легко загружать двоичные числа и другие полезные команды.

ArduController

Это приложение предназначено для управления электронной платой Arduino, отправки и получения данных о состоянии цифровых аналоговых выходов.

RoboRemoFree

Это приложение позволяет вам управлять ESP2866, PIC и AVR. Он также позволяет подключаться через USB-адаптер.

Virtuino 6

Это приложение используется для визуализации ваших проектов LOT, управления проектами LOT и доступа к полному управлению платами Arduino.

Часто задаваемые вопросы

Вот несколько важных часто задаваемых вопросов о приложении.

Как использовать Arduino с RemoteXY?

Внимательно следуйте этим инструкциям:

  1. Сначала создайте графический интерфейс.
  2. Выберите и откройте проект конфигурации. Вы найдете его в правой части экрана приложения.
  3. Загрузите исходный код, полученный от Arduino.
  4. Затем подключитесь к ESP8266.
  5. Загрузить скетч в Arduino.
  6. Затем попробуйте подключить приложение с вашего Android. Это позволит вам успешно подключить Arduino к RemoteXY.
Является ли RemoteXY бесплатным?

Приложение позволяет пользователям бесплатно использовать до пяти графических элементов интерфейса. После этого вам придется подождать несколько минут, чтобы использовать больше элементов. Если вы хотите наслаждаться неограниченным количеством элементов без перерыва, вы должны купить его профессиональную версию.

Как установить библиотеку RemoteXY?

Выполните следующие простые шаги:

  1. Из меню перейдите в IDE и затем выберите меню эскиза. Оттуда включите функцию библиотеки.
  2. Вы найдете библиотеку, нажмите на нее и установите. Оттуда появится строка поиска. Введите ключевое слово приложения.

Заключение

Превосходный пользовательский интерфейс приложения предоставляет пользователям все необходимые инструменты. Это приложение часто обновляется и отлично работает на телефонах Android. Вы можете скачать это приложение бесплатно из игрового магазина.

Категории Приложения Метки другое

© 2022 AppzforPC.com — Все права защищены. Все названия, изображения, такие как логотип и бренды, являются собственностью соответствующих разработчиков.

Приложение

для беспроводного управления Arduino, управляемое мобильным телефоном

 RemoteXY для Arduino Простой способ создать и использовать мобильный графический интерфейс пользователя для плат и других контроллеров. Воспользуйтесь сайтом http://remotexy.com Mobile GUI Editor, вы можете создать свой собственный уникальный графический интерфейс пользователя и загрузить его в контроллер. С помощью этого мобильного приложения Вы сможете подключаться к контроллерам и управлять ими через графический интерфейс.
Графический интерфейс поддерживает следующие элементы:
— Кнопка;
— переключатель ;
— выбор;
— ползунок;
— Джойстик ;
— цвет RGB;
— Светодиод ;
— уровень ;
— Печать текста;
— GUI Прочие элементы дизайна.
Соединение между контроллером и мобильным устройством использует:
— bluetooth;
— Клиенты беспроводной сети и точки доступа;
— принять IP или URL Ethernet;
— Доступ к Интернету из любого места через EC.
Генератор исходного кода поддерживает следующий контроллер:
— Arduino UNO,Arduino MEGA,Arduino Leonardo,Arduino Pro Mini,Arduino Nano,Arduino MICRO;
— WeMos D1, WeMos D1 R2, WeMos D1 мини;
— NodeMCU V2, NodeMCU V3;
— Плита воздушная;
Поддерживаемые коммуникационные модули:
— bluetooth HC-05,HC-06 Или совместимые;
— bluetooth BLE HM-10 или совместимый;
— беспроводной ESP8266;
— Экранирование Ethernet W5100;
Поддерживается IDE:
— Arduino IDE;
— FLProg IDE;

Как установить RemoteXY:Управление Arduino для Windows PC или MAC:

RemoteXY:Управление Arduino Автор: Шемануев Евгений Разработаны приложения для Android Tools , опубликованы в Google Play В магазине . до сих пор он набрал около 50000 секунд установки, оставайтесь в игре. Средний балл в магазине составляет 4,0 филиала (полные оценки 5 филиала).

RemoteXY:Arduino Control должен иметь версию операционной системы Android 2.2 и выше. Кроме того, содержание этого приложения оценивается как «Все люди». Вы можете решить, подходит ли оно для вашей семьи, для установки детьми или взрослыми. RemoteXY: Arduino Control — это приложение для Android, которое нельзя установить непосредственно на ПК с Windows или МАК вкл.

Android Симулятор представляет собой программное приложение, позволяющее имитировать операционную систему Android в операционной системе Android на ПК. Приложения и игры для Android. В интернете много бесплатных Android Simulator. однако симулятор потребляет много системных ресурсов для имитации операционной системы и запуска приложений на ней. поэтому рекомендуется загрузить и установить на ПК. Перед тем, как перейти на Android, проверьте минимальные и необходимые системные требования для симуляторов.

Ниже вы найдете инструкции по установке и запуску на ПК RemoteXY:Arduino Control:

  • Во-первых, возьмите Android Загрузите и установите симулятор на свой компьютер На
  • Загрузить пульт дистанционного управления XY:Arduino control APK На свой ПК
  • open RemoteXY:Arduino Используйте симулятор для управления APK или APK Перетащите файл в симулятор, чтобы установить приложение.
  • Если вы не хотите загружать APK-файл, вы можете использовать свою учетную запись Google. Учетная запись подключена к симулятору и напрямую из Play Store загружает приложения для установки RemoteXY: компьютер управления Arduino.

Если вышеперечисленные шаги выполнены правильно, вы должны быть готовы RemoteXY: управление Arduino, чтобы работать в режиме Windows PC или MAC Up. Кроме того, перед установкой Вы можете проверить минимальные системные требования симулятора на официальном сайте. Таким образом, Вы можете избежать любых технических проблем, связанных с системой.

 

RemoteXY — это простой способ создать и использовать мобильный графический интерфейс пользователя для плат Arduino и других контроллеров. С помощью редактора мобильных графических интерфейсов, расположенного на сайте http://remotexy.com, вы можете сделать свой уникальный графический интерфейс пользователя и загрузить его в контроллер. С помощью этого мобильного приложения вы сможете подключиться к контроллеру и управлять им через графический интерфейс.
Графический интерфейс поддерживает следующие элементы:
— Кнопка;
— Переключатель;
— Выбрать;
— Бегунок;
— Джойстик;
— цвет RGB;
— Светодиод;
— Уровень;
— Текстовая печать;
— Другие элементы дизайна графического интерфейса.
Соединение между контроллером и мобильным устройством с помощью:
— Bluetooth;
— WiFi-клиент и точка доступа;
— Ethernet по IP или URL;
— Интернет из любого места через Cloud Server.
Генератор исходного кода поддерживает следующие контроллеры:
— Arduino UNO, Arduino MEGA, Arduino Leonardo, Arduino Pro Mini, Arduino Nano, Arduino MICRO;
— WeMos D1, WeMos D1 R2, WeMos D1 мини;
— NodeMCU V2, NodeMCU V3;
— AirBoard;
Поддерживаемые модули связи:
— Bluetooth HC-05, HC-06 или совместимые;
— Bluetooth BLE HM-10 или совместимый;
— Wi-Fi ESP8266;
— Экран Ethernet W5100;
Поддерживаемая IDE:
— Arduino IDE;
— FLProg IDE;

Как установить RemoteXY: управление Arduino для ПК с Windows или MAC:

RemoteXY: управление Arduino — это приложение Android Tools, разработанное Шемануевым Евгением и опубликованное в магазине Google Play. На данный момент он получил около 50000 установок со средней оценкой 4,0 из 5 в магазине игр.

RemoteXY: для управления Arduino требуется Android с ОС версии 2.2 и выше. Кроме того, приложение имеет рейтинг контента «Все», из которого вы можете решить, подходит ли оно для установки для семьи, детей или взрослых пользователей. RemoteXY: управление Arduino — это приложение для Android, которое нельзя установить напрямую на ПК с Windows или MAC.

Эмулятор Android — это программное приложение, позволяющее запускать приложения и игры для Android на ПК путем эмуляции ОС Android. В Интернете доступно множество бесплатных эмуляторов Android. Однако эмуляторы потребляют много системных ресурсов для эмуляции ОС и запуска на ней приложений. Поэтому рекомендуется проверить минимальные и требуемые системные требования эмулятора Android, прежде чем загружать и устанавливать его на свой компьютер.

Ниже вы найдете, как установить и запустить RemoteXY: управление Arduino на ПК:

  • Сначала загрузите и установите эмулятор Android на свой ПК
  • Загрузите APK-файл RemoteXY: управление Arduino на свой ПК
  • Откройте RemoteXY: Arduino управляет APK с помощью эмулятора или перетащите файл APK в эмулятор, чтобы установить приложение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *