FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 03.12.2016, 05:27
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » потенциометр с графическим дисплеем (всё время показывает "right")
потенциометр с графическим дисплеем
olegs
Дата: Вторник, 02.08.2016, 12:48 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
здравствуйте! подскажите новичку) у меня такая задача (на flprog) С помощью потенциометра (50кОм) вращаю серво мотор (SD-90) и вывожу информацию на дисплей (1602). хочу сделать так, чтобы на одной 1 строке показывало градусы, а на 2 строке, например, на 90 градусов центр (!) при меньше 90 надпись "left" -при больше 90 соответственно надпись "right"
у меня всё время показывает "right"  в чём моя ошибка или что я упустил?
Прикрепления: 7072612.jpg(30Kb)


с уважением olegs
 
Сергей Дата: Вторник, 02.08.2016, 13:50 | Сообщение # 2
Модератор
Группа: Модераторы
Сообщений: 366
Награды: 15
Репутация: 5
Статус: Offline
olegs, проект выложите. По фото не понятны настройки блоков.

Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
olegs Дата: Вторник, 02.08.2016, 14:28 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
#include <LiquidCrystal.h>
#include <Servo.h>
LiquidCrystal _lcd1(8, 9, 4, 5, 6, 7);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;

Servo _SM1;
int _disp2oldLength = 0;
int _disp3oldLength = 0;
int _disp1oldLength = 0;
int _disp4oldLength = 0;
void setup()
{
_SM1.attach(3);
_lcd1.begin(16, 2);
}
void loop()
{if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}

if (1) {
_dispTempLength1 = (((String((map(( (analogRead (0))), (666), (1024), (0), (180))))))).length();
if (_disp3oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;} 
_disp3oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 0);
_lcd1.print(((String((map(( (analogRead (0))), (666), (1024), (0), (180)))))));
} else {
if (_disp3oldLength > 0) {_isNeedClearDisp1 = 1; _disp3oldLength = 0;} 
}
if (((((String((map(( (analogRead (0))), (666), (1024), (0), (180)))))).compareTo(String("91")))>0)) {
_dispTempLength1 = (String("lift")).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;} 
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 1);
_lcd1.print(String("lift"));
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;} 
}
if (1) {_SM1.write ((map(( (analogRead (0))), (666), (1024), (0), (180))));} 
if ((((String((map(( (analogRead (0))), (666), (1024), (0), (180)))))).equals(String("90")))) {
_dispTempLength1 = (String("!!!!!!!!!!")).length();
if (_disp4oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;} 
_disp4oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 1);
_lcd1.print(String("!!!!!!!!!!"));
} else {
if (_disp4oldLength > 0) {_isNeedClearDisp1 = 1; _disp4oldLength = 0;} 
}
if (((((String((map(( (analogRead (0))), (666), (1024), (0), (180)))))).compareTo(String("89")))<0)) {
_dispTempLength1 = (String("right")).length();
if (_disp2oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;} 
_disp2oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 1);
_lcd1.print(String("right"));
} else {
if (_disp2oldLength > 0) {_isNeedClearDisp1 = 1; _disp2oldLength = 0;} 
}

}


с уважением olegs
 
Vitez Дата: Вторник, 02.08.2016, 14:47 | Сообщение # 4
Лейтенант
Группа: Проверенные
Сообщений: 104
Награды: 4
Репутация: 0
Статус: Offline
olegs, Проект выкладывайте в формате FLProg.  Зачем числовое значение переводить в строку. Блоком "Компаратор"  сравнивайте числовое значение < 90 или >90
 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » потенциометр с графическим дисплеем (всё время показывает "right")
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика