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...

Exibições: 1626

Responder esta

Respostas a este tópico

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

Anexos

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço