Boa noite caros,
Pessoal estou precisando fazer um arquivo executável .bat que mande um pulso para determinada entrada do arduino; estou trabalhando com um assistente virtual e este chama arquivos executáveis, a ideia seria criar um arquivo tipo .bat para o assistente chamar e assim controlar o arduino... desde já grato pelo retorno de todos...
Tags:
Seria muito melhor você criar executáveis que atendessem essa necessidade, segue um link de referência:
https://www.embarcados.com.br/serie/comunicacao-serial-com-c-e-ardu...
Oi Eduardo, vi o que você me enviou, mas no caso não tem como eu fazer o assistente controlar um terminal, teria que ser um arquivo executável, como um .bat, para o assistente simplesmente chama-lo e assim ele executar...
Pode ser pela serial ?
Use:
>mode COM1 BAUD=9600 PARITY=n DATA=8
>copy arquivo.txt >COM1:
Ou algo assim.
O arquivo.txt tem o conteudo a ser enviado pra serial. Pode ser 1 byte só.
Para funcionar é precioso que o PC receba corretamente os sinais de flowcontrol (DSR (DTR) e RTS (CTS)). Se for um adaptador comum USB Serial acho que já faz isso automatico.
Ref:
https://docs.microsoft.com/en-us/windows-server/administration/wind...
(que não fala nada disso, como sempre manuais da microsoft falam menos que o minimo necessário)
https://stackoverflow.com/questions/36443169/how-to-send-file-over-...
Oi Eduardo, no caso eu tenho um arduino ligado diretamente no pc por meio de porta usb, eu estou tentando inicialmente criar um executável, tipo .bat, que mande um comando simples para o arduino, ex: clicar no executável e este mandar o arduino ligar um led...
A um tempo atras uma colega garagista me pediu algo parecido, acender um LED via tecla enter, fiz um vídeo inclusive no meu canal na época, anexo .txt com o código que você deve carregar no seu Arduíno, e o .bat que devera ser executado como mostro no vídeo. LINK VIDEO MEU CANAL
Não sei se é algo do tipo que esta precisando.
Anexo código.
Abs.
CK
Oi Carlos, na verdade até andou próximo, mas ainda não é isso, é o seguinte eu gostaria de dá dois cliques em um executável e este acender um led do arduino, é mais ou menos por ai, por que o assistente virtual que tenho ele trabalha por comando de voz, por exemplo se eu disser "ligar" ele vai chamar um arquivo executável e vai funcionar ele, como se vc desce dois clique no respectivo executável, por esse motivo não deve passar promp de comando, pois assim o assistente não executaria...
Ueh..
Se vc criar um arquivo xyz.bat, colocando dentro o conteudo:
"
mode COM1 BAUD=9600 PARITY=n DATA=8
copy arquivo.txt >COM1:
"
Sendo tendo o arquivo.txt o conteudo:
"1"
Não faz o que vc quer ??? vai mandar "1" pela serial. No arduino vc le isso.
Oi Eduardo, obrigado por está me ajudando nessa...
o arquivo .bat até manda alguma coisa para o arduino mais o led simplesmente pisca e apaga, a linha de comando que estou usando no arduino é esta:
/*
* comandos via serial
* inverte o estado do led conctado a saída 13 do arduino quando recebe o caracter 'A' pela serial
*/
const int LED = 13;
void setup() {
Serial.begin(9600); //configura comunicação serial com 9600 bps
pinMode(LED,OUTPUT); //configura pino do led como saída
}
void loop() {
if (Serial.available()) //se byte pronto para leitura
{
switch(Serial.read()) //verifica qual caracter recebido
{
case '1': //caso '1'
digitalWrite(LED,!digitalRead(LED)); //inverte estado do LED
break;
}
}
}
Por favor me ajuda a encontrar o erro!!!
Pra mim parece tudo ok.
Só esse case e depois um digitalWrite(... !digitalRead())... Não usaria isso... Medo...
Tente com o codigo limpo e claro sugerido pelo Carlos kwiek no arquivo .txt anexo a mensagem dele.
Eduardo, interessante que quando uso o monitor serial do próprio programa da arduino, ao digitar "1" o led acende normalmente, quanto ao usar a linha do Carlos não obtive sucesso, estou tentando fazer as alterações, mas não consegui até agora....
Também estou pensando que deve está faltando alguma coisa nesta linha:
mode COM5 BAUD=9600 PARITY=n DATA=8
copie arquivo.txt >COM5:
é como se o dado não estivesse indo para o lugar correto no arduino, é tanto que este pisca o led, mas não o deixa aceso, quando coloco no monitor ele acende normalmente...
Note que a COM que você deve colocar é a do seu Arduino, eu coloquei 5 como exemplo, mas você deve mudar esta linha de acordo ao COM que seu Arduíno esta conectado e mudar.
Abs.
CK
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por