LusoRobótica - Robótica em Português
Sistemas específicos => Picaxe => Tópico iniciado por: fre_deri_co em 02 de Agosto de 2010, 16:41
-
Boas... decidi também hoje postar este relógio que comecei a fazer já a algum tempo mas devido a alguns campeonatos que me surgiram de seguida como por exemplo Robotop em Santo Tirso acabou por não me permitir a conclusão fazendo com que também acidentalmente apaga-se o programa :'( por isso fiz este vídeo a divulgar este meu projecto pois vou necessitar dos componentes para um outro projecto muito semelhante, mas mais tarde completarei este ;D
isto é constituído por:
pic 40x2
RTC DS1307
Termómetro DS18B20
LCD 16x2 8-Bit
IMG 0395 (http://www.youtube.com/watch?v=USJl0iJY_qU#)
espero que gostem... COMENTEM
-
Posso perguntar onde foste buscar esse LCD? é do tipo COG.
Ou foi assucatado de algum lado? :D
-
nao comprei numa loja online... qual sinceramente nao me recordo, mas posso saber isso
-
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=73-1252-ND (http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=73-1252-ND)
-
nao comprei numa loja online... qual sinceramente nao me recordo, mas posso saber isso
a gerência agradece! :)
-
Um projecto bastante interessante e o LCD manda um visual espectacular.
-
yah.. nao chega a 15€ ;D
-
Gostei bastante da navegação nos menus. Está um projecto muito interessante frederico.
Mas como sabes que gosto de criticar (para abrir portas para melhorar o trabalho) vou ter que dizer que as funções de refresh do LCD não estão lá muito boas. :P
Podes melhorar e retirar completamente aquele "Piscar" quando estás a fazer refresh. Também me deparei com isso em tempos quando andava a fazer um relógio num LCD desses. Utiliza as funções gotoxy do lcd e vai para os caracteres a alterar e depois alterar só esses. Complica um pouco o algoritmo para saber quais os caracteres que precisam de ser alterados e quais não, mas o resultado é bastante melhor e aprende-se muito ao faze-lo.
Parabéns. Gostei bastante de ver a forma elegante como fizeste toda a informação caber no lcd e ser intuitiva.
-
Obrigado eu pelo comentário, adoro criticas pois sempre que as fazem aprendo ou alertam-me de algo como agora...
este "piscar" já me tinha deparado, o problema surge pois como o diz é derivado de enviar informação desnecessária pois sempre que existe alteração meti reenvia tudo novamente... neste exacto momento estou a desenvolver algo semelhante mas um pouco mais básico para adaptar no carro do meu irmão (relógio e termómetro interno e externo e possivel sensor de estacionamento com o valor de distancia no display) onde na qual garanto total inexistência de qualquer falha ;D
possivelmente ainda esta semana posto onde irei aguardar o privilegio que critique ;)
-
Obrigado eu pelo comentário, adoro criticas pois sempre que as fazem aprendo ou alertam-me de algo como agora...
este "piscar" já me tinha deparado, o problema surge pois como o diz é derivado de enviar informação desnecessária pois sempre que existe alteração meti reenvia tudo novamente... neste exacto momento estou a desenvolver algo semelhante mas um pouco mais básico para adaptar no carro do meu irmão (relógio e termómetro interno e externo e possivel sensor de estacionamento com o valor de distancia no display) onde na qual garanto total inexistência de qualquer falha ;D
possivelmente ainda esta semana posto onde irei aguardar o privilegio que critique ;)
boas,
vi que estas a usar um 40x2, quantos processos consegue ele fazer ao mesmo tempo?
eu tenho um 40x1 e só da um processo de cada vez
cump
-
sim, estou.. todos os micro controladores picaxe limitam-se 1 um unico processo de cada vez, mas existem alguns comandos que ele execulta praticamente simultaneo a outro (setint e do...loop)
-
se isto trabalha-se como um autómato é que era fixe xD (lê o programa todo e dp executa de acordo com as instruções fornecidas pelas entradas e memorias), sendo assim com um único processo é difícil estar a monitorizar por exemplo dois sensores de temperatura e estar as horas no menu principal
-
Não é não, porque o micro trabalha tão depressa que até pode estar a ler 8 sensores de temperatura e um rtc e estar ligado a um lcd e ainda a enviar dados por serial que ainda sobre poder de processamento.
-
ai é que esta o erro Senso, pois neste momento estou a fazer um projecto para por num carro que contem dois DS18B20 mais o RTC DS1307, em que na qual estou a ter serios problemas de atrasos pois executar duas vezes o comando readtemp12 (para cada termometro correspondendo a temp interior e exterior) demora pouco mais de 1 seg, agora como faço para os botões actuem de forma imediata se ate o setint se perde a espera que a leitura da temperatura seja concluida?!
estou a pensar em apoiar a leitura com um 8M, acontece que a comunicação entre os pic esta a falhar :-\
-
Mandas fazer a conversão e em vez de ficares á espera que ela se faça continuas com o teu programa e só calibras um delay no fim do loop do programa para que consiga fazer a a leitura e assim funciona tudo certinho, ou então geras uma interrupção a cada segundo para ler os sensores, isso é problema inerente a uma espera de um dado exterior e não a falta de poder de processamento.
-
no picaxe so se consegue interromper um comando cortando a energia, converter enquanto lê é praticamente impossivel
-
podes interromper o comando usando um gosub se n me engano ou usando simplesmente o if pin = ou if bx = e then que quiseres la voltar podes por um separador no meio do processo que n interfira com o separador do mesmo, é capaz de estar confuso mas acho que se percebe-se xD
já agora onde compras-te o DS18B20?
-
sim, mas como estou a fazer acaba por falhar... já arranjei uma solução um pouco dispendiosa (ou estúpida) mas ja me soluciona parte do problema, meti condensador no botao, assim que assionado enquanto o condensador carrega não deixa o botao ir a "0", quando entrar no interrupt liga uma saida por momentos para que o condensador seja carregado imediatamen
te ;D
-
não precebi uma coisa, depois de accionado o botão o condensador carrega, ou já esta carregado?
ja agora onde compraste o sensor ds18b20?
-
o condensador ja esta carregado, simplesmente quando o botao acionado "elimina" a resistencia que esta em serie com o condensador fazendo com que ele descarregue, depois de soltar o botão ele retoma a carregar mas como tem a resistencia ainda demora um pouco, ate la o valor ainda vai a 1, se quisere esquema eu mais daqui a pouco faço-o
quanto ao componente existe a aliatron com representante portuguesa da Picaxe, ou entao mais em conta uma vez que a diferença de uma boa parte dos componentes paga os portes Techsupplies, como eu lhe chamo "loja do Picaxe" :D
http://81.134.141.187/epages/Store.storefront/?ObjectPath=/Shops/Store.TechSupplies/Products/ICO011 (http://81.134.141.187/epages/Store.storefront/?ObjectPath=/Shops/Store.TechSupplies/Products/ICO011)
-
grande diferença 6.35€ se for na aliatron so os portes são 9€, eles deviam mudar a tacha de acordo com a encomenda e a localização de entrega
já agora obrigado pelo link :D
-
Eu não conheço esse sensor, mas não acredito que tenhas que ficar á espera que ele faça a conversão. Se o mandares fazer a conversão e em vez de ficares á espera de ler o valor convertido continuas com o programa e só o les mais tarde, já percebes assim?
-
no Techsupllies os portes sao 9£ se a encomenda for superior a 10£ sem iva
se encondar-se so ds18b20 por exemplo pode-se manda vir 5 (uma vez que cada = 1.99£) pagando-se so 3£ de portes, demorando (pelo menos no meu caso) entre 3 a 5 dias uteis
-
n sabia isso, ja agora como faço para ler a temperatura nele?
-
existem 2 comandos possiveis..
"readtemp pin, variavel (byte)" - obtendo um valor arredondado da temperatura, por exemplo estão 25.6º ele indica 26º, no caso dos valores negaticos sera apartir de 126º (correspondendo a -1º)
"readtemp12 pin, variavel (word)" - o valor sera mais excto (este é o tal comando um pouco demorado) aqui obtense um valor do tipo 462 que correspondera a aproximadamente 28.9º (462/16=28.875), para valores negaticos o valor sera superior a 64655 (correspondendo este valor ao -55º (uma vez que a temperatura negativa começa de traz para a frente 65535-64655+1(este um por causa de zero nao contar, descobri isto lendo o datashet)= 881 / 16 = 55)
os limites são de -55º e 125º
-
É negativos, e esse readtemp vem de onde?
Isso é um função criada para ler esse sensor e pode ser por ser mal criada que ela é lenta.
-
este comando ja é desenvolvido pela Picaxe
-
ah ah!!! o novo RTC ja esta programado conforme o exigido (projecto para o carro do meu irmão) , testado e ate agora sem bug.... ate agora ainda esta em breadboard, ainda esta semana ja devo de desenvolver uma placa para soldar os componentes.. assim que aplicado faço um vídeo ::)
-
eu ficarei a espera do vídeo, também ando a desenvolver um projecto parecido, mas até agora ainda n leva micro-controlador :D
-
boas, em relação a compra dos ds18b20, o que é que escolheste no acto da compra em relação ao metodo de transporte, sendo que quero receber o material pelo meto de cobrança?
http://81.134.141.187/epages/Store.storefront/?ObjectID=1042756 (http://81.134.141.187/epages/Store.storefront/?ObjectID=1042756)
agradeço a ajuda cump
-
Escolhes regular shipping ou algo do género, porque para os outros precisas de conta nas transportadoras.
-
n tem essa opção, as únicas que existe são as que estão na imagem, e já agora em relação a "tax area", qual escolho?
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fa.imageshack.us%2Fimg341%2F6135%2Fsemttulowa.jpg&hash=a6bf78af4020a8b17e2e4a5cb9237379fce6108f)
-
Não estás a pedir samples da maxim?
-
nepia, é este o meu pedido
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fa.imageshack.us%2Fimg10%2F8237%2F57978988.jpg&hash=8ab265e49b99a6079da6e56bac2f89182103d057)
-
Então, de uma loja ninguem te vai oferecer portes, só se for aquelas mega lojas do ebay, agora esses sites nunca vi tal coisa.
-
eu n quero que oferenção os portes xD
quero saber é qual a opção para que o pagamento seja a cobrança
-
Isso não se constuma fazer entre paises, só se for para correio nacional, não sei se existe cobrança internacional, nem nunca ouvi falar de tal.
-
pois então isso assim já é mais difícil, porque o único método que posso pagar é por cobrança :S
-
A loja da lusorobótica deve ter isso tudo que precisas, pelo menos tem lá uns quantos sensores de infravermelhos e de temperatura, se não procura na sonigate e no centro electrónico de coimbra e manda tambem um mail para a mixtrónica, e ainda tens a aquário no porto, anda ai um tópico de lojas de electrónica portuguesas, assim podes pagar á cobrança, pelo menos em algumas eles fazem-te isso, pode ficar mais caro, mas se não tens mais nada tem de ser.
-
sei que na aliatron eles têm este tipo de sensor (ds18b20) este é da picaxe só que pagar 9€ so de por por um sensor ele fica caro, a sonigate fui la hoje e n tem
-
Tens mesmo de usar esse?
http://loja.lusorobotica.com/97-digital-temperature-sensor-breakout-tmp102.html (http://loja.lusorobotica.com/97-digital-temperature-sensor-breakout-tmp102.html)
Tens este aqui, fica-te por 6€ e qualquer coisa com os portes, ou então pede aqui a alguem com paypal para te comprar isso, se eu tivesse até te ajudava, mas só em Setembro é que me vou informar sobre usar o cartão da universidade para criar uma conta, que o meu actual não suporta mbnet e eu não gosto muito de ter pouca protecção no meu dinheiro lol
-
Tens mesmo de usar esse?
http://loja.lusorobotica.com/97-digital-temperature-sensor-breakout-tmp102.html (http://loja.lusorobotica.com/97-digital-temperature-sensor-breakout-tmp102.html)
Tens este aqui, fica-te por 6€ e qualquer coisa com os portes, ou então pede aqui a alguem com paypal para te comprar isso, se eu tivesse até te ajudava, mas só em Setembro é que me vou informar sobre usar o cartão da universidade para criar uma conta, que o meu actual não suporta mbnet e eu não gosto muito de ter pouca protecção no meu dinheiro lol
pois mas pelo que eu li este utiliza i2c para ligação ao microcontrolador e sendo assim n poderei ligar o meu lcd qe utiliza o i2c
-
Normalmente os dispositivos têm endereços de i2c diferentes e podem ser utilizados em conjunto. Podem ser utilizados até 127 dispositivos diferentes num bus i2c único.
-
mas ligar o sensor em paralelo com o lcd nas ligações i2c?
-
O bus i2c é multi device. Podes ligar em paralelo vários dispositivos.
Dá uma leitura rápida:
http://lusorobotica.com/index.php?topic=33.0 (http://lusorobotica.com/index.php?topic=33.0)
-
Percebi mais ou menos o I2C, eu estando a utilizar o picaxe como micro controlador, terei um diferente escrita no programa para a que uso neste lcd http://lusorobotica.com/index.php?topic=2066.0 (http://lusorobotica.com/index.php?topic=2066.0), sendo que para a leitura do mesmo não sei como a interpretar, ja que o sensor esta mais virado para o arduino, e já agora este sensor funciona com uma tensão de 3.6v max. e o picaxe a 5v, poderei ligar da mesma forma o I2C mas com tensões diferentes em cada dispositivo?
-
Existe a possibilidade de utilizar dispositivos de tensões diferentes no bus i2c contudo não é trivial e não te aconselho para já.
Em termos de portabilidade de código, não podes passar de C para basic directamente, mas podes analisar o algoritmo e converter o mesmo à mão. Se o picaxe puder funcionar a 3,3v, podes meter o lcd tb a 3,3v que normalmente os equipamentos a 5V são 3,3v compatíveis, o contrário já não é verdade.
-
se o por a 3.3v o picaxe 40x1 n dava bom resultado no seu funcionamento, eu vi por ai no fórum, agora onde n sei, que um user fez um amplificador para estes casos, onde o micro estava a 5v e neste caso o sensor a 3.3v e assim dava acho eu para por a funcionar
-
Pode-se utilizar conversores lógicos como este http://loja.lusorobotica.com/modulos/47-logic-level-converter.html (http://loja.lusorobotica.com/modulos/47-logic-level-converter.html) ou com um par de resistencias, contudo neste caso que é bi directional, é necessário uma solução mais complexa. O melhor é utilizares outra alternativa que funcione a 5V.
-
Pode-se utilizar conversores lógicos como este http://loja.lusorobotica.com/modulos/47-logic-level-converter.html (http://loja.lusorobotica.com/modulos/47-logic-level-converter.html) ou com um par de resistencias, contudo neste caso que é bi directional, é necessário uma solução mais complexa. O melhor é utilizares outra alternativa que funcione a 5V.
então com este converter já posso usar o sensor no picaxe como se ele trabalha-se a 5v certo?
-
Não porque o conversor não é bidirecional e o bus i2c é directional. Para outro tipo de aplicações pode utilizar, mas para sinais bidirecionais não.
-
então estar a inventar, não vai dar grande resultado, acho que vou voltar a tentar arranjar os ds18b20, se algum membro pudesse fazer a compra por mim, em acordo eu pago a dinheiro o produto quando se for fazer troca