Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.05.2012, 09:51
Интересующийся
Отправить личное сообщение для berkut Посмотреть профиль Найти все сообщения от berkut
 
Регистрация: 11.05.2012
Сообщений: 28

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ROBOT</title>
<link rel="stylesheet" type="text/css" href="res/main.css"/>
<script type="text/javascript">
var lastTurn = -1;
var lastPress = -1;
var lastPos = -1;

function submitUART(uartString)
{
document.getElementById('serialData').value=uartSt ring+"\n";
document.getElementById('serialForm').submit()
};

function scrollCam(val)
{
document.getElementById("scr").parentNode.scrollLe ft=val;
};
window.setInterval(
function(){
var pos = document.getElementById("scr").parentNode.scrollLe ft;
if(lastPos!=pos){
submitUART("#9 P" +(pos + 700));
lastPos=pos;
};
},100
);

</pre>
<table>

<tr>
<td>
<br/>
Camera control:<br>
<div style="width:320px;height: 20px;margin-top: 15px;overflow-x: scroll;display: inline-block;"onscroll="scrollCam(this.scrollLeft)">
<div id="scr" style="width:1920px;height: 1px;display: block;" ></div>

</div>
</td>
</tr>
<tr>
<td>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 23.05.2012, 19:14
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

А подробней можешь рассказать?
в том виде как написана программа не может работать
вместо </pre> должен быть </script>
где второй ползунок рядом или внизу?
Ответить с цитированием
  #3 (permalink)  
Старый 25.05.2012, 08:44
Интересующийся
Отправить личное сообщение для berkut Посмотреть профиль Найти все сообщения от berkut
 
Регистрация: 11.05.2012
Сообщений: 28

Я накосячил код такой:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ROBOT</title>
<link rel="stylesheet" type="text/css" href="res/main.css"/>
<script type="text/javascript">
var lastTurn = -1;
var lastPress = -1;
var lastPos = -1;

function submitUART(uartString)
{
document.getElementById('serialData').value=uartSt ring+"\n";
document.getElementById('serialForm').submit()
};

function scrollCam(val)
{
document.getElementById("scr").parentNode.scrollLe ft=val;
};
window.setInterval(
function(){
var pos = document.getElementById("scr").parentNode.scrollLe ft;
if(lastPos!=pos){
submitUART("#9 P" +(pos + 700));
lastPos=pos;
};
},100
);

</script>
</head>

<tr>
<td>
<br/>
Camera control:<br>
<div style="width:320px;height: 20px;margin-top: 15px;overflow-x: scroll;display: inline-block;"onscroll="scrollCam(this.scrollLeft)">
<div id="scr" style="width:1920px;height: 1px;display: block;" ></div>
</div>
</td>
</tr>
<tr>
<td>
</body>
</html>

второго ползунка нет в скрипте, его хоть куда можно воткнуть, смысл в том , чтобы второй ползунок отправлял данные не на #9 серву (9-ая серва) а дапустим на 2-ю серву т.е (#2)
Ответить с цитированием
  #4 (permalink)  
Старый 25.05.2012, 10:12
Интересующийся
Отправить личное сообщение для berkut Посмотреть профиль Найти все сообщения от berkut
 
Регистрация: 11.05.2012
Сообщений: 28

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

Значит Двигая этим ползунком:
<div style="width:320px;height: 20px;margin-top: 15px;overflow-x: scroll;display: inline-block;"onscroll="scrollCam(this.scrollLeft)">
<div id="scr" style="width:1920px;height: 1px;display: block;" ></div>
Я отправляю команды на девятую серву т.е. сюда:
window.setInterval(
function(){
var pos = document.getElementById("scr").parentNode.scrollLe ft;
if(lastPos!=pos){
submitUART("#9 P" +(pos + 700));
lastPos=pos;

Вооот.... я хочу добавить еще одни ползунок: но чтобы управлять не девятой сервой а дапустим второй......??? как??? я не знаю...
Ответить с цитированием
  #5 (permalink)  
Старый 25.05.2012, 11:03
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Мне сама идея нравится-хотел себе что то подобное сделать
Подробности интересуют как сделана сама связь с серваками-на блютуз или вайфай или еще как
со скриптом помогу-он простой
но нужен еще один файл
там есть ссылка на таблицу стилей
res/main.css
вот это файл если он есть тоже выложи
кроме того там в скрипте есть ссылки на несуществующие элементы
с id 'serialData' и 'serialForm'-это что то связанное непосредственно сервоприводами
где эти элементы?

Последний раз редактировалось vadim5june, 25.05.2012 в 11:08.
Ответить с цитированием
  #6 (permalink)  
Старый 25.05.2012, 12:17
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Пока вот в таком состоянии-можно лобавить любое кол-во ползунков
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ROBOT</title>
<link rel="stylesheet" type="text/css" href="res/main.css"/>
</head>
<table>
<tr>
<td>
Camera control:9<br>
<div style="width:320px;height: 20px;margin-top: 15px;overflow-x: 
scroll;display: inline-block;"  onscroll="scrollCam(this)">
<div id="9" style="width:1920px;height:1px;display: block;" ></div>
</div>
</td></tr><tr><td>
Camera control:2<br>
<div style="width:320px;height: 20px;margin-top: 15px;overflow-x: 
scroll;display: inline-block;" onscroll="scrollCam(this)">
<div id="2"  style="width:1920px;height: 1px;display: block;" ></div>
</div>
</td>
</tr>
</tab>
<div id='vv'></div>
<script type="text/javascript">
var lastTurn = -1;
var lastPress = -1;
var lastPos = {};
lastPos[9]=-1;
var teks=9;//текущий сервопривод
function submitUART(uartString)
{document.getElementById('vv').innerHTML=
uartString;
};
function scrollCam(el)
{ var el1=el.getElementsByTagName('div')[0];
teks=el1.id;
el.parentNode.scrollLeft=
el.scrollLeft;
};
window.setInterval(
function(){
var pos = document.getElementById(teks).parentNode.scrollLeft;
if(lastPos[teks]!=pos){
submitUART("#"+teks+" P" +(pos + 700));
lastPos[teks]=pos;
};
},100
);
</script>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 25.05.2012, 12:36
Интересующийся
Отправить личное сообщение для berkut Посмотреть профиль Найти все сообщения от berkut
 
Регистрация: 11.05.2012
Сообщений: 28

http://roboforum.ru/forum69/topic10929.html - обсуждение проекта, там есть все что нужно.
Идея в том, что прошивается роутер прошивкой OR далеее роутер подключается к платам OpenRobotic и к ним уже моторы сервы и датчики... Сам роутер конектится по вафле к домашней точке доступа там ip маршрут прописываеш и зная ip заходиш через инет на роутер робота и рулиш... Как то так)))

serialData' и 'serialForm я не знаю что это такое))) они с сервами не связаны..

Я по простому скажу когда ползунок передвигаеш, значение ползунка получается разное дапустим как пример 1000. Эта тысяча подставляется в этот код submitUART("#9 P" +(pos + 700)); и что получается 1700!?
А дальше формируется пасылка в порт UART (#9 1700) - означает что серва №9 перейдет в это (1700) положение.
Вложения:
Тип файла: zip mett.zip (930 байт, 5 просмотров)
Ответить с цитированием
  #8 (permalink)  
Старый 25.05.2012, 13:08
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от berkut Посмотреть сообщение

serialData' и 'serialForm я не знаю что это такое))) они с сервами не связаны..
Именно через них связь осуществляется как то
Код в таком виде неработоспособный потому что не хватает элементов связи с серверами
а функция submitUART пока что ничего не делает хотя должна передавать данные в какую то форму-которой здесь нет-а из этой формы уже на сервоприводы
zip что то не распаковывается
Ответить с цитированием
  #9 (permalink)  
Старый 25.05.2012, 13:13
Интересующийся
Отправить личное сообщение для berkut Посмотреть профиль Найти все сообщения от berkut
 
Регистрация: 11.05.2012
Сообщений: 28

вот веб морда целиком
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>OR-WIFI-ROBOT</title>
<link rel="stylesheet" type="text/css" href="res/main.css"/>
<script type="text/javascript">
var lastTurn = -1;
var lastPress = -1;
var lastPos = -1;

function submitUART(uartString)
{
document.getElementById('serialData').value=uartSt ring+"\n";
document.getElementById('serialForm').submit()
};

function scrollCam(val)
{
document.getElementById("scr").parentNode.scrollLe ft=val;
};

function keyPressed(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum);
if(keychar == "w" || keychar == "ц" || keychar == "W" || keychar == "Ц") submitUART("DrvLR=100,100");
if(keychar == "a" || keychar == "ф" || keychar == "A" || keychar == "Ф") submitUART("DrvLR=-100,100");
if(keychar == "s" || keychar == "ы" || keychar == "S" || keychar == "Ы") submitUART("DrvLR=-100,-100");
if(keychar == "d" || keychar == "в" || keychar == "D" || keychar == "В") submitUART("DrvLR=100,-100");
return true;
};

function keyUp(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
{
keynum = e.keyCode
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum);
if(keychar == "w" || keychar == "ц" || keychar == "W" || keychar == "Ц") submitUART("DrvLR=0,0");
if(keychar == "a" || keychar == "ф" || keychar == "A" || keychar == "Ф") submitUART("DrvLR=0,0");
if(keychar == "s" || keychar == "ы" || keychar == "S" || keychar == "Ы") submitUART("DrvLR=0,0");
if(keychar == "d" || keychar == "в" || keychar == "D" || keychar == "В") submitUART("DrvLR=0,0");
return true;
};

window.setInterval(
function(){
var pos = document.getElementById("scr").parentNode.scrollLe ft;
if(lastPos!=pos){
submitUART("#9 P" +(pos + 700));
lastPos=pos;
};
},100
);

</script>
</head>
<body onKeyPress="return keyPressed(event)" onKeyUp="keyUp(event)">
<pre class="banner">
************************************************** ******************************************
* ____ ____ __ __ _ *
* / __ \____ ___ ____ / __ \____ / /_ ____ / /_(_)__________ _______ __ *
* / / / / __ \/ _ \/ __ \______/ /_/ / __ \/ __ \/ __ \/ __/ // ___/ ___/ / ___/ / / / *
* / /_/ / /_/ / __/ / / /_____/ _, _/ /_/ / /_/ / /_/ / /_/ // /__(__ )_ / / / /_/ / *
* \____/ .___/\___/_/ /_/ /_/ |_|\____/_.___/\____/\__/_/ \___/____/(_)_/ \__,_/ *
* /_/ *
* *
************************************************** ******************************************
</pre>
<table>

<tr>
<td>
<script type="text/javascript">
document.write("<img alt='Robot Eye' class='bot-eye' src='http://" + document.location.host + ":8080/?action=stream'/>")
</script>
<br/>
Camera control:<br>
<button type="button" onclick="scrollCam(0)">Left</button>
<button type="button" onclick="scrollCam(800)">Center</button>
<button type="button" onclick="scrollCam(1600)">Right</button>
<br/>
<div style="width:320px;height: 20px;margin-top: 15px;overflow-x: scroll;display: inline-block;"
onscroll="scrollCam(this.scrollLeft)">
<div id="scr" style="width:1920px;height: 1px;display: block;" ></div>
</div>
</td>
</tr>
<tr>
<td>
<hr style="width: 240px;margin-top: 15px">
Chassis control:<br>
<button type="button" onclick="submitUART('DrvLR=100,100')">Forward</button><br>
<button type="button" onclick="submitUART('DrvLR=-100,100')">Left</button>
<button type="button" onclick="submitUART('DrvLR=0,0')">STOP</button>
<button type="button" onclick="submitUART('DrvLR=100,-100')">Right</button><br>
<button type="button" onclick="submitUART('DrvLR=-100,-100')">Backward</button>
</td>
</tr>
<tr>
<td>
<hr style="width: 240px;margin-top: 15px">
<form id="serialForm" action="/cgi-bin/serial.cgi" method="POST" target="hidden">
<label>Serial data:<br/>
<textarea id="serialData" name="SERIAL_DATA" rows="2" cols="40">TEST SERIAL</textarea>
</label><br/>
<input type="submit" value="Send">
</form>
</td>
</tr>
</table>
<hr/>
<iframe name="hidden" src="/nothing.html" style="width: 1px;height: 1px;visibility: hidden"></iframe>
<a href="admin/index.html">Robot administration</a>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 25.05.2012, 13:20
Интересующийся
Отправить личное сообщение для berkut Посмотреть профиль Найти все сообщения от berkut
 
Регистрация: 11.05.2012
Сообщений: 28

вот что в файле main:
.bot-eye {
background-color: yellow;
width: 320px;
height: 240px;
border: black dashed 10px;
margin-bottom: 15px
}

.banner {
background-color: #A0a0a0;
text-align: center;
}

td {
text-align: center;
}
table{width: 100%}

.admin-title {
font-size: 150%;
font-weight: bold;
background-color: #600000;
color: #d0d0d0
}

.form-title {
text-align: right;
width: 40%
}

.form-value {
text-align: left;
}

.controlRow TD {
border-bottom: 1px solid #a9a9a9
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как извлекать данные из веб страницы sistemnik Общие вопросы Javascript 1 04.09.2011 17:45
блокировка записи в БД на изменение в веб приложении igrok Серверные языки и технологии 8 04.07.2011 17:07
Знак рубля для веб mycoding Оффтопик 3 04.03.2011 21:49
Веб разработчик, удаленка, 1500$ denis.antonov Работа 3 02.07.2010 21:38
Веб справочник мессии Pflaume Ваши сайты и скрипты 6 29.03.2010 12:17