Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.01.2013, 11:40   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Пример простой HTML кнопки

Многие пользователи часто спрашивают как сделать кнопку что бы она могла посылать код в порт Arduino
Привожу пример на три лампочки без CSS рюшечек

Этот код нужно скопировать и поместить в фаил с именем index.html
Код:
<!DOCTYPE HTML>
<html lang="en-US">

<head>
	<meta charset="UTF-8">
	<title>Button</title>
</head>

<body>
   <form method="get" action="serial.php"><button value="1" type="submit" name="send_m">Light ON </button></form>
   <form method="get" action="serial.php"><button value="0" type="submit" name="send_m">Light OFF</button></form>

   <form method="get" action="serial.php"><button value="3" type="submit" name="send_m">Room ON </button></form>
   <form method="get" action="serial.php"><button value="2" type="submit" name="send_m">Room OFF</button></form>

   <form method="get" action="serial.php"><button value="5" type="submit" name="send_m">ON </button></form>
   <form method="get" action="serial.php"><button value="4" type="submit" name="send_m">OFF</button></form>
</body>
</html>
PHP скрипт который принимает отправленное кнопкой значение и отправляет это значение в порт Arduino
Нужно создать фаил с именем serial.php
и поместить в него ниже выложенный код
PHP код:
<?php

$bufer 
'';
$ch=' ';
$filename "/dev/ttyUSB0";      //порт
$fp fopen($filename"r+");  //открыть порт

if ($fp//если порт открыт
{
 
fwrite($fp$_GET['send_m']);  //полать в порт строку

   
while ($ch != chr(0xA)) 
   {
     
$ch fgetc($fp); //прочитать один символ из порта
     
$bufer.=$ch;
   }    
    echo 
"<br>".$bufer

fclose($fp); //закрыть порт
} else echo "Не удалось открыть порт" ;
      
?>
Код для Arduino
Код:
#define ledPin 13  
#define ledPin1 12
#define ledPin2 11
void setup()  
{   
  Serial.begin(57600);   
  pinMode(ledPin, OUTPUT); 
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
}  

void loop()  
{  
  if (Serial.available() > 0)  
  {  
    byte inByte = Serial.read();  
    switch (inByte)  
    {  
        case 49:  
        digitalWrite(ledPin, HIGH);
        delay(50);  
        Serial.println("Light ON");  
        break;  
        
        case 48:  
        digitalWrite(ledPin, LOW); 
        delay(50); 
        Serial.println("Light OFF");  
        break;  
        
        case 51:  
        digitalWrite(ledPin1, HIGH); 
        delay(50); 
        Serial.println("Room ON");  
        break; 
        
        case 50:  
        digitalWrite(ledPin1, LOW); 
        delay(50); 
        Serial.println("Room OFF");  
        break; 

        case 53:  
        digitalWrite(ledPin2, HIGH); 
        delay(52); 
        Serial.println("ON");  
        break;     

        case 52:  
        digitalWrite(ledPin2, LOW); 
        delay(52); 
        Serial.println("OFF");  
        break;     
    }          
  }  
}
Исходники кнопки с обратной связью
Admin вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:50. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика