Pessoal, estou precisando criar um botao de controle de um LED em que ele seja acionado por um botao no PHP, no caso o checkbok.

Com o SUBMIT no PHP eu consigo criar dois botões, um sendo o que apaga o outro que acende e funcona perfeitamente.

Acontece que quando eu crio um botão utilizando apenas o CHECKBOX as informações não passadas ao arduino e O LED não acende, nem apaga.

Alguém poderia me informar como proceder para criar esse tipo de botão, uma espécie de ON/OFF.

Obrigado.

Exibições: 492

As respostas para este tópico estão encerradas.

Respostas a este tópico

eu estou usando  o codigo assim. acontece que eu quero que mesmo botao do checkbo nao so acenda o led, mas que tbm o led seja apagado. 

<html>
<head>
<?php
$usb_comPort = "COM3";
switch($_GET)
{
case isset($_GET['submitOn']):
exec("ECHO 1 > $usb_comPort"); // Turn On LED 1
break;
case isset($_GET['submitOff']):
exec("ECHO 2 > $usb_comPort "); // Turn Off LED 1
break;
case isset($_GET['alloff']):
exec("ECHO 2 > $usb_comPort"); // Turn OFF ALL 4 LED Bulbs
break;

}
?>
</head>
<body>
<form method="GET" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input name='submitOn' type='checkbox' id="on" onClick="submit();" value='LED 13 ON'>
<br>
<br>
<input type='submit' name='allon' value='Turn ALL LEDs On'>
<input type='submit' name='alloff' value='Turn ALL LEDs Off'>
</form>
</body>
</html>

-----------------------------------------------------------------------------------------------------------

int LED_one = 13;
int LED_four = 10;


void setup() {
Serial.begin( 9600 );

pinMode( LED_one, OUTPUT );
pinMode( LED_two, OUTPUT );
pinMode( LED_three, OUTPUT );
pinMode( LED_four, OUTPUT );

}

void loop() {

while (Serial.available() == 0);

int COM_value = Serial.read() - '0';

Serial.println(COM_value);

//LED #`1
if( COM_value == 1 )
{
digitalWrite( LED_one, HIGH ); // HIGH VOLTAGE - TURNED ON
}
if( COM_value == 2 )
{
digitalWrite( LED_one, LOW ); // LOW VOLTAGE - TURNED OFF
}

if( COM_value == 3 )
digitalWrite( LED_four, HIGH );
}
if( COM_value == 4 )
{
digitalWrite( LED_four, LOW ); 
}


Tente fazer isso aqui:

digitalWrite(LED_one, !digitalRead(LED_one));

ou seja:

int LED_one = 13;
int LED_four = 10;


void setup() {
Serial.begin( 9600 );

pinMode( LED_one, OUTPUT );
pinMode( LED_two, OUTPUT );
pinMode( LED_three, OUTPUT ); 
pinMode( LED_four, OUTPUT );

}

void loop() {

while (Serial.available() == 0);

int COM_value = Serial.read() - '0';

Serial.println(COM_value);

//LED #`1
if( COM_value == 1 )
{
digitalWrite(LED_one, !digitalRead(LED_one)); // HIGH VOLTAGE - TURNED ON AN OFF
}

if( COM_value == 3 )
digitalWrite( LED_four, !digitalRead(LED_four));
}

// nesse caso o arduino apenas inverte o estado da porta, se for ligado vai desligar e se estiver dsligado vai ligar

RSS

© 2023   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço