Primeiramente gostaria de informar aos navegantes das terras do Netduino que eu estou vivo ainda, muito embora debilitado pela falta de tempo ainda companho vagamente os post's no fórum do Netduino que continua sendo uma grande fonte di informação e de perspectivas para novos projetos.
Nesse grande feriado papal a minha única alternativa foi me debruçar nos meus projetos pessoais... Esta semana tinha recebido a ligação de um amigo meu que tinha solicitado um projeto de medição de pressão, que nunca foi concluído por mero descuido meu.
Pegando a placa novamente pude perceber que o estádio de desenvolvimento era bom mas como todo bom engenheiro perdi o tal do código, ou seja, começar tudo outra vez... Iniciando pelo inicio mesmo, como piscar o LED com Netduino... E como tinha de ser tive que reaprender muitas coisas entre elas a usar o LCD 16x2. A primeira coisa que fiz foi tentar ligar o Netduino depois escreve algo no LCD mas pasmem não consegui... não estava como tinha postado no Blog...
Depois de pesquisar por incessantes 3 horas percebi que tinha usado μLiquidCrystal. Trata-se de um abiblioteca especialmente feita para interfacear com dispositivos de LCD com o Netduino que está disponível no CodePlex desde 2010.
Qual a grande vantagem dela? Simples, não precisa de nenhum periférico a mais apenas uma ligação direta com o LCD 16x2 sem nenhum periférico, o sonho de qualquer entusiasta. O artigo que encontrei primeiramente foi este: Netduino - Getting Started with LCD do Blog do Jeroen Swart. Depois investiguei mais um pouco e cheguei na Ligação que ele utilizou proveniente do artigo base do Arduino, que está aqui abaixo:
Quando eu li o artigo do Blog do Szymon Kobalczyk's, a primeira impressão que tive era que tratava-se de uma DLL para usar o HD44780 como interface serial/paralela, mas a DLL faz muito mais que isso.
O Resultado de testes está na foto abaixo que tirei ontem a noite do código funcionando na Placa do Netduino Plus. A única dificuldade que tive é foi para fazer funcionar no Netduino Plus, porque a compilação que está no site (ou melhor, a solução com código fonte que você mesmo compila) foi feita para o Netduino com .NETMF 4.1... A primeira vez dava um erro e não debugava muito embora a compilação da solução fosse feita normalmente... o que me deixou inicialmente bem confuso. Ajustei o .NETMF da solução do MicroLiquidCrystal para 4.2 e nada...
A ultima alternativa foi aplicar o método lusitando e refazer a solução para o Netduino Plus incluindo todos os arquivos da solução convencional do MicroLiquidCrystal e funcionou ! A foto do deste está abaixo:
O código de teste está logo abaixo, veja que você pode configurar cada pino do LCD para ficar em uma IO diferente e o código gerencia tudo isso sozinho, mas fácil que isso impossível.
Para baixar o código fonte para Netduino Plus clique aqui.
Nesse grande feriado papal a minha única alternativa foi me debruçar nos meus projetos pessoais... Esta semana tinha recebido a ligação de um amigo meu que tinha solicitado um projeto de medição de pressão, que nunca foi concluído por mero descuido meu.
Pegando a placa novamente pude perceber que o estádio de desenvolvimento era bom mas como todo bom engenheiro perdi o tal do código, ou seja, começar tudo outra vez... Iniciando pelo inicio mesmo, como piscar o LED com Netduino... E como tinha de ser tive que reaprender muitas coisas entre elas a usar o LCD 16x2. A primeira coisa que fiz foi tentar ligar o Netduino depois escreve algo no LCD mas pasmem não consegui... não estava como tinha postado no Blog...
Depois de pesquisar por incessantes 3 horas percebi que tinha usado μLiquidCrystal. Trata-se de um abiblioteca especialmente feita para interfacear com dispositivos de LCD com o Netduino que está disponível no CodePlex desde 2010.
Qual a grande vantagem dela? Simples, não precisa de nenhum periférico a mais apenas uma ligação direta com o LCD 16x2 sem nenhum periférico, o sonho de qualquer entusiasta. O artigo que encontrei primeiramente foi este: Netduino - Getting Started with LCD do Blog do Jeroen Swart. Depois investiguei mais um pouco e cheguei na Ligação que ele utilizou proveniente do artigo base do Arduino, que está aqui abaixo:
Quando eu li o artigo do Blog do Szymon Kobalczyk's, a primeira impressão que tive era que tratava-se de uma DLL para usar o HD44780 como interface serial/paralela, mas a DLL faz muito mais que isso.
O Resultado de testes está na foto abaixo que tirei ontem a noite do código funcionando na Placa do Netduino Plus. A única dificuldade que tive é foi para fazer funcionar no Netduino Plus, porque a compilação que está no site (ou melhor, a solução com código fonte que você mesmo compila) foi feita para o Netduino com .NETMF 4.1... A primeira vez dava um erro e não debugava muito embora a compilação da solução fosse feita normalmente... o que me deixou inicialmente bem confuso. Ajustei o .NETMF da solução do MicroLiquidCrystal para 4.2 e nada...
A ultima alternativa foi aplicar o método lusitando e refazer a solução para o Netduino Plus incluindo todos os arquivos da solução convencional do MicroLiquidCrystal e funcionou ! A foto do deste está abaixo:
O código de teste está logo abaixo, veja que você pode configurar cada pino do LCD para ficar em uma IO diferente e o código gerencia tudo isso sozinho, mas fácil que isso impossível.
1: using System;
2: using MicroLiquidCrystal;
3: using System.Net;
4: using System.Net.Sockets;
5: using System.Threading;
6: using Microsoft.SPOT;
7: using Microsoft.SPOT.Hardware;
8: using SecretLabs.NETMF.Hardware;
9: using SecretLabs.NETMF.Hardware.NetduinoPlus;
10: namespace N__LCD16x2
11: {
12: public class Program
13: {
14: public static void Main()
15: {
16: // write your code here
17: // create the transfer provider, use direct GPIO provider
18: // Initialize the library with the numbers of the interface pins
19: //// Use wiring shown here http://arduino.cc/en/uploads/Tutorial/lcd_schem.png
20: var lcdProvider = new GpioLcdTransferProvider(Pins.GPIO_PIN_D12, // RS
21: Pins.GPIO_PIN_D11, // ENABLE
22: Pins.GPIO_PIN_D5, // D4
23: Pins.GPIO_PIN_D4, // D5
24: Pins.GPIO_PIN_D3, // D6
25: Pins.GPIO_PIN_D2); // D7
26: // create the LCD interface
27: var lcd = new Lcd(lcdProvider);
28: // set up the LCD's number of columns and rows:
29: lcd.Begin(20, 2);
30: // print a message to the LCD.
31: lcd.Write("Sonhando com Net!");
32: OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
33: while (true)
34: {
35: // set the cursor to the first column on the second line
36: lcd.SetCursorPosition(0, 1);
37: // print the number of milliseconds since reset:
38: lcd.Write((Utility.GetMachineTime().Ticks / 10000).ToString());
39: //Liga
40: led.Write(true);
41: Thread.Sleep(1000);
42: //desliga
43: led.Write(false);
44: Thread.Sleep(1500);
45: }
46: }
47: }
48: }
Para baixar o código fonte para Netduino Plus clique aqui.
Nenhum comentário:
Postar um comentário