• Welcome to LusoRobótica - Robótica em Português.
 

Sistema Rega Automático com interface VB

Started by danuca, 07 de September de 2012, 14:40

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

rglove

#15
Se criares uma richtextbox e criares um sub para quando houver informação para ler na serial port podes mostrar a informação numa richtextbox. Não podes ter 2 programas abertos a usar a mesma serial port.

EDIT: Podes usar Serialportx.write(). Dá para enviares bytes assim, ou seja, valores entre 0 e 255. O arduino vai ler também valores entre 0 e 255. Assim não tens de subtrair 48 ou '0'. Como as horas e datas não ultrapassam valores de 255...

danuca

Mas eu no VB abri primeiro a porta e depois fechei .

Eu pra já só queria ver no serial monitor porque eu prefiro fazer a programação por passos. No final é pra ficar tudo visivel no VB.

Se puderem pegar nos meus exemplos e exemplificarem por favor, nao estou a perceber muito bem o porquê de isto funcionar, se eu abro a porta e depois fecho.

Hugu

posta aí uns print screens do teu interface e da evoluçao do projecto para irmos regalando os olhos!  ::)

ja agora pk n metes um RTC ou entao um receptor do sinal atomico europeu? terias smp as horas certas!

danuca

Porque é um projecto de faculdade, e nao dá pa gastar muito dinheiro. Acaba por nao ser importante ter as horas completamente certas.

Ainda nao tá acabado, mas fica aí o que tenho pra já. Os tomates e pimentos são apenas ilustrativos lol

Sextafeira

fiz isto para de explicar

ve o anexo

espero que ajude

danuca

Obrigado SextaFeira. Diz-me só uma coisa, como fizeste para abrires a ' private sub Form1_FormClosed' ?

Pedrock

Quote from: danuca on 08 de September de 2012, 17:22
Obrigado SextaFeira. Diz-me só uma coisa, como fizeste para abrires a ' private sub Form1_FormClosed' ?
É um evento. Nessa imagem, em cima, onde diz "Button2", clica aí e escolhe Form1. À direita, onde na imagem diz "Click", escolhe "FormClosed".

danuca

SextaFeira eu testei o teu programa. E pelo que percebi, enviamos informação pela porta serie do textbox 3 para o textbox2 certo ?

O que eu precisava era de quando enviasse a string da hora para o arduino, ele guardasse essa string, e depois podia ser com o VB desligado, o relógio em arduino começasse da hora que foi inserida pelo VB. É possível isto ?

Porque eu nunca vou usar o serial monitor do arduino, só preciso é que ele tenha um relógio sempre a funcionar, e que as ordens sejam dadas pelo VB, por exemplo: quero que ligue um led ás 22h de hoje, digito as 22h no VB, desligo o computador, e o arduino as 22h liga o LED.

Desculpem se nao estou a ser muito claro.


rglove

Dá uma vista de olhos no código que usei para o transmissor:
http://lusorobotica.com/index.php?topic=5125.0

Enviavas uma string pelo serial monitor e a string era guardada no arduino. Não sei se ajuda alguma coisa.

danuca

Pois, eu pelo serial monitor consigo enviar uma string e imprimi-la, pelo VB é que não, porque só sei fazer pelo exemplo que o PEDROCK me deu daquele toturial, que faz o envio mas nao posso abrir o serial monitor. Eu gostava de saber se é possível enviar a string pelo VB, guarda-la no arduino, fechar o VB, e abrir o serial monitor do arduino e o relógio começar a dar com a string que foi guardada.

rglove

Possível é... Se leres o código que eu meti para o transmissor vês uma forma de guardar todos os bytes que envias pelo vb numa char array.
Depois abres o serial monitor, e se tiveres programado o arduino para se por exemplo receber um byte qualquer te enviar a string que tinha guardada...
Lembrei-me agora que quando abres o serial monitor do arduino IDE o arduino faz reset, portanto esquece esse serial monitor, tenta arranjar outro software para isso. Ou então podes fazer no vb como já te disseram...

danuca

Pois, também já tinha lido que o serial monitor faz reset ao arduino. Vou tentar enviar as horas para o VB então.

Sextafeira

a text 3 é para envio 

a text 2 le esta associada a um timer que esta sempre a ler a porta serial o que la cair aparece na text 2

envia em separado  2 mais 2 que ira fazer 22

Serial.write 2
Serial.write 2

depois no arduino fazes duas variáveis e colocas o 2 numa e outro noutra variável e depois fazes a soma das duas e guardas

ideia estúpida mas pode ser que resulte

Tech_JA

Quote from: danuca on 08 de September de 2012, 16:53
Porque é um projecto de faculdade, e nao dá pa gastar muito dinheiro.
danuca,
Não leves a mal o pessoal insistir mas já viste o preço de um RTC?
http://www.dealextreme.com/p/i2c-rtc-ds1307-24c32-real-time-clock-module-for-arduino-blue-149493?item=4

zordlyon

Quote from: danuca on 08 de September de 2012, 18:40
Pois, também já tinha lido que o serial monitor faz reset ao arduino. Vou tentar enviar as horas para o VB então.

Podes ter sempre um cartão de memória ligado ao arduino e em vez de guardar no arduino guardas num .txt dentro do cartão depois e só fazer o read() do cartão para o arduino, e mesmo que o arduino faça reset tens lá sempre os dados no cartão...
Cumprimentos,
André Carvalho.