quarta-feira, 2 de outubro de 2013

[1] - QT - Configurando projeto QT Creator

O meio embarcado possui uma ferramenta fortíssima para desenvolvimento de interfaces gráficas (GUI) multiplataformas, o QT. Criado inicialmente para sistemas X11 e Windows foi comprado pela Nokia e aprofundado para seus dispositivos móveis. O QT hoje pode ser portado e embutido em diversos dispositivos e plataformas como WIndows, OS X, Linux Embedded, Android, IOS, Windows CE entre outros.

Neste tópico vamos iniciar o desenvolvimento QT configurando o QT Project, a IDE simples e fácil para criar as interfaces gráficas para sua aplicação.

Primeiramente vamos fazer o download da IDE. No site: 


http://qt-project.org/downloads

Aqui encontramos a versão para a plataforma que queremos. Usaremos a 5.1 para Linux 32 bits, pois este é o sistema operacional onde desenvolveremos nosso projeto. Não se preocupe, essa é  versão da IDE, quando formos compilar para plataformas especificas simplesmes alteramos o compilador. Neste caso escolhemos

Qt Online Installer for Linux 32-bit (22 MB)


Feito o download o arquivo pode ser executado e juntamente com a IDE QT Creator, as bibliotecas QT 5.1.1 são instaladas.
obs.: Para executar o arquivo talvez ser necessario mudar as permissões de execução. Basta executar um "chmod X nome_do_exec"

O programa se encarrega de baixar e instalar o necessário para rodar o QT Creator.

Após a instalação vamos instalar as libs de desenvolvimento do OpenGL e o GCC compiler.
O openGl é uma API open source de interface gráfica que fornece funções para criação de aplicativos gráfico. O QT utiliza alguma das suas funcões por isso a necessidade de instalar a lib.

No shell executamos:

sudo apt-get install libgl-dev


Agora verifique se ja possui um GCC instalado utilizando o comando:

gcc --version


Verifique tambem se possui g++ rodando na máquina:

g++ --v


caso não tenha e deseja instalar separadamente atualize a lista de pacotes  execute os comandos:

sudo apt-get update
sudo apt-get install gcc

sudo apt-get install g++


Uma sugestão é utilizar o comando que instala os pacotes padrões para desenvolvimento do Linux. Eu não utilizei por preferir saber as libs que utilizo para cada ferramenta. Segue o comando para isso:

sudo apt-get install build-essential


Estamos prontos para começar a criar um projeto. Aqui explicarei os arquivos criados pelo QT Creator.
Criando um novo projeto:




Selecionamos a opção QT Gui Application.
Escolhemos o nome DebugCe para nosso tutorial. Clicamos em next e temos a opção de configurar o KIT para o QT Creator. O kit é o conjunto de ferramentas que indica a versão do QT, o compilador e a arquitetura para o Build do QT.
Iremos configurar mais para frente. Clicando no botão next aparecem as classes esqueleto para o projeto QT.


Você pode modificar o campo Class Name para nomear os arquivos de acordo com o seu projeto. Ele gera um .h, .cpp e .ui para o form que você esta criando. Aqui somente é necessario explicar o .ui. Ele é um arquivo com as caracteristicas gráficas do usuario. Os arquivos .h e .cpp ja vem com o código necessário para rodar uma aplicação simples.

Ao confirmar, o projeto é criado e poderemos começar a desenvolver nossa interface. Nos arquivos do projetos abrimos o modo de edição da interface. Clicando na pasta forms>meuform.ui. É possivel explorar as possibilidades de componentes para o projeto utilizando Drag'n'drop.

Com a sua interface feita vamos compilar. Para isso, temos de configurar o kit como foi dito anteriormente. No menu>tools>option>build & run vamos clicar na aba COMPILER. Lá clicamos no botão Add.
No input name, nomeamos o compilador. No meu caso coloquei Linux x86 ja que estou configurando para teste na máquina host. No compiler path adiciono o path para onde meu GCC que ja veio instalado no Ubunto esta /usr/bin/gcc. Automaticamente ele mostra a opção de ABI para o compilador escolhido. Neste caso x86-linux





Ainda em Build & Run é necessario verificarmos se a versão do QT foi identificada corretamente. Na Aba qt version ele deve mostrar a opção que vc selecionou para instalar com o seu QT Creator. A versão neste caso
 Qt 5.1.1 GCC 32bit




Pronto! agora vamos para a aba kit. Nela clicamos no botão Add e preenchemos os campos Name com o nome que desejar, no combo compiler selecione o compilador que você adicionou, a versão deve ser a configurada anteriormente.



Pronto!! Compile e veja a interface que você criou!
Agora é só criar as funcionalidades para sua aplicação!
Boa sorte e abraços!


domingo, 7 de julho de 2013

[2] - BeagleBone Black - Como acessar por Ethernet, HDMI, Serial e USB.

   Quando você esta desenvolvendo para linux embarcado é importante saber os possíveis meios de acesso a placa para que tenha uma melhor usabilidade e desenvolvimento. Neste post irei descrever os meios mais comuns de acesso a BeagleBone Black (BBB). A Figura 1 ilustra os possíveis meios de acesso físico ao shell linux da BBB.
Figura 1 - Meios de acesso físico ao shell linux da BBB
A seguir vamos descrever como utilizar de diferentes maneiras cada meio de acesso físico a BBB:

quinta-feira, 4 de julho de 2013

[3] - Dicas - Simulador Pяσтєυร 8

Pяσтєυร é uma suíte que agrega o ambiente de simulação de circuitos eletrônicos ISIS e o programa para desenho de circuito impresso Ares professional.Pяσтєυร é um software para simulação de microprocessadores, captura esquemática, e placa de circuito impresso (PCB design). É desenvolvido pela empresa inglesa Labcenter Electronics.




segunda-feira, 24 de junho de 2013

[4] - Eletrônica Básica - Watchdog Timer

Definição:

Um watchdog timer é um dispositivo eletrônico temporizador que dispara um reset ao sistema se o programa principal, devido a alguma condição de erro, deixar de fazer reset no watchdog timer. Este termo Watchdog é utilizado muito em software de medidores eletrônicos, onde tem a finalidade de fiscalizar o processamento e quando necessário aplicar correções e até mesmo um reset no hardware do medidor. Resumindo: Trata-se de um sistema emergencial. Quando ativado, precisamos zerar o Watchdog, caso contrário, ele vai estourar e resetar o sistema. Muito utilizado para prevenir os sistema de possíveis falhas.




Na prática:

sexta-feira, 21 de junho de 2013

[3] - Eletrônica Básica - Conversor Analógico Digital


conversor analógico-digital (frequentemente abreviado por conversor A/D ou ADC) é um dispositivo eletrônico capaz de gerar uma representação digital a partir de uma grandeza analógica, normalmente um sinal representado por um nível de tensão ou intensidade de corrente elétrica.
Os ADCs são muito úteis na interface entre dispositivos digitais (microprocessadores, microcontroladores, DSPs, etc) e dispositivos analógicos e são utilizados em aplicações como leitura de sensores, digitalização de áudio e vídeo.
Por exemplo, um conversor A/D de 10 bits, preparado para um sinal de entrada analógica de tensão variável de 0V a 5V pode assumir os valores binários de 0 (0000000000) a 1023 (1111111111), ou seja, é capaz de capturar 1024 níveis discretos de um determinado sinal. Se o sinal de entrada do suposto conversor A/D estiver em 2,5V, por exemplo, o valor binário gerado será 512.

[6] - LPCXpresso LPC1769 - Debugging/running





Hoje vamos partir para a prática!

Como visto anteriormente, Para usar a camada CMSIS-CORE na sua apli­cação, qua­tro arquivos são necessários:

  • startup_<device>.s: arquivo de ini­cial­iza­ção, incluindo a rotina de reset, a con­fig­u­ração do stack pointer e a tabela de vetores de inter­rupção. Pode estar imple­men­tado em C ou assembly.
  • system_<device>.c e system_<device>.h: arquivos com roti­nas genéri­cas de con­fig­u­ração do sis­tema (ini­cial­iza­ção, clock, bar­ra­men­tos, etc).
  • <device>.h: arquivo de cabeçalho com definições de estru­turas e con­stantes de acesso aos reg­istradores da CPU e dos per­iféri­cos do chip.

quinta-feira, 13 de junho de 2013

[4] - MSP 430 - Exemplos 2 (Comparador)

Acesse a aba de exemplos (Project >> CCS Example Projects).


Selecione seu microprocessador, e localize a aba de exemplos, mostrarei o segundo exemplo:

Dividiremos o exemplo em duas partes:
1) Descrição
2) Código Funcional

[2] - Dicas - Captura de imagem

é um utilitário fácil de usar e intuitivo para capturar telas do seu computador. 
Com ele você poderá capturar qualquer tipo tela, incluindo: janelas, objetos, tela cheia, regiões retangulares, regiões recortadas a mão, etc.

É possível redimensionar imagens, imprimi-las, enviá-las por e-mail, adicionar textos, utilizar atalhos de captura e muito mais. O software é totalmente gratuito, não contendo nenhum tipo de spyware ou software malicioso.

Características Gerais:
  • O programa pode ser minimizado na barra de sistema(ao lado do relógio do Windows) ou flutuar em qualquer parte da área de trabalho. 
  • Possui interface fácil de usar, permitindo capturar telas através de atalhos. 
  • Contém ferramentas eficientes para capturar janelas, objetos, áreas de diferentes formatos, etc. 
  • Capture websites através dos navegadores, tais como Internet Explorer, Mozilla Firefox e Opera. 
  • É capaz de coletar cores da tela. 
  • Redimensiona, aplica zoom, adiciona textos, ajusta imagens, etc. 
  • Salva imagens nos formatos BMP, GIF, JPEG, JPEG2000, PNV, TGA e TIFF. 
  • Envia fotos capturadas por e-mail. 
  • Suporta multi-monitores. 
  • Pode iniciar junto com o Windows.
Super útil, pois permite capturar ou a tela ativa, ou uma área da tela! Permite também edições rápidas, fazer vídeos... Enfim é uma ferramenta excelente para fazer tutoriais, no windows.

Eu uso o portable, no link tem a versão instalável e o ativador. (Versão 7.3)

Download: 
http://va.mu/cfr5 (control + s para baixar)

Senha do arquivo compactado: techminds


Fonte (descrição): http://www.baixaki.com.br/download/faststone-capture.htm

[5] - LPCXpresso LPC1769 - O que é "CMSIS"?.





Olá galera,

Após toda a instalação concluída e exemplos importados para o nosso workspace, me deparei com as seguintes dúvidas: O que é cmsis? O que são esses arquivos nos projetos que importei?

Com o intuito de responder a essas perguntas, essa postagem reúne links que irão direciona-lo para um rápido aprendizado. 

"CMSIS é uma sigla para Cor­tex Micro­con­troller Soft­ware Inter­face Stan­dard, um padrão criado pela própria ARM que define uma camada de abstração (API) de acesso ao hard­ware para processadores da linha Cortex-M." (Sergio Prado, 2012, sergioprado.org).



quarta-feira, 12 de junho de 2013

[4] - LPCXpresso LPC1769 - Trabalhando com Exemplos.



Click here for LPCXpresso users forum. 




Olá pessoal!

Já apresentamos a interface da nossa IDE, agora vamos aprender como importar para nosso workspace os códigos exemplo inclusos na IDE para serem utilizados como base para o desenvolvimento de varias placas LPC.
Para trabalhar com esses projetos, selecione "Import project(s)" no painel Quickstart no canto inferior esquerdo da tela.

Figura 1.

[2] - Básico - Potênciometro

O Potenciômetro é um componente eletrônico usada para variar a resistência, pode-se defini-lo como um tipo especial de Resistor. Ou seja, ele é uma resistência elétrica variável (resistor variável). Pode ser utilizando para medir posição, direção, corrente, tensão, etc. O Potenciômetro também serve para ajustar os valores de tensão e corrente de um circuito e dessa forma controlar o valor entrada, amplificação ou atenuação. Conforme for a aplicação tem-se resistores diferentes características, essas se devem a aspectos construtivos, sistema mecânico e as propriedades elétricas dos materiais utilizados na construção do seu elemento resistivo, veja mais sobre em  Tipos de Potenciômetros.  

Figura 1 - Potenciômetro de uma única volta
Funcionamento de Potenciômetro
O potenciômetro é uma resistência que pode ser ajusta por intermédio de um cursor, Figura 2, o qual está em contato com uma resistência ligada a dois terminais. O cursor ou contato móvel tem sua saída ligada ao Terminal Cursor. O Contato móvel do Potenciômetro se desloca do valor zero (ou resistência mínima) ao valor máximo, Figura 2.
Figura 2 - Potenciômentro aberto
Os símbolos do Potenciômetro são apresentados na Figura 3 (a) e (b):
Figura 3 - Símbolos do Potenciômentro.

[1] - Básico - Protoboard

O que é?

Uma placa de ensaio ou matriz de contato, (ou protoboard, ou breadboard em inglês) é uma placa com furos e conexões condutoras para montagem de circuitos elétricos experimentais. A grande vantagem da placa de ensaio na montagem de circuitos eletrônicos é a facilidade de inserção de componentes, uma vez que não necessita soldagem.
Ter uma placa de ensaio é imprecindível para o processo de aprendizagem, nela é possível realizar testes, bem como organizar seus componentes sem precisar ficar fazendo as famosas gambiarras. Aconselho utilizar fios de cabos de rede para fazer as ligações, caso você não deseje comprar estes já feitos.



terça-feira, 11 de junho de 2013

[1] - Dicas - Microsoft Office no Ubuntu usando o WINE

Olá pessoal!!


Linux com certeza é um dos melhores sistemas operacionais que temos no mercado. A parte a qualidade de desenvolvimento e ferramentas para desenvolver, a ideologia Open Source vem mostrando sua forca e amplitude de mercado.
Com certeza no mundo embarcado é dominante,  mas isso é pra uma outra conversa. Hoje vou falar pra vocês como colocar o Microsoft Office no Ubuntu usando o WINE. É bem simples e com certeza mão na roda pra quem utiliza a ferramenta razão da continuidade do Windows.

Obs.: aqui não vamos discutir se o Libre Office é uma ferramenta melhor ou pior que o MSOffice. Simplesmente quem prefere o da MS pode utilizá-lo no com o melhor Kernel do mundo por esse tutorial!

Vamos lá!

primeiramente vamos baixar o Wine é bem simples no Shell use o comando:

$ sudo apt-get install wine


sábado, 8 de junho de 2013

[3] - LPCXpresso LPC1769 - Primeiros Passos.




Red Suite é um framework de desenvolvimento baseado no Eclipse IDE.

Vamos abordar os primeiros passos e uma breve explicação deste novo ambiente.

  • Workspaces

Quando você inicia pela primeira vez o Red Suite, você irá ser perguntado para escolher um Workspace, como Figura 1.

Figura 1. Workspace

Um workspace é simplesmente um diretório que será usado para armazenar os projetos que você está trabalhando no momento. Cada workspace pode conter múltiplos projetos e você pode ter vários worspaces no seu computador. O ambiente Red Suite pode abrir apenas um workspace por vez, entretanto é possível rodar múltiplas instancias do Red Suite em paralelo, onde cada instancia pode acessar diferentes workspaces.

quinta-feira, 6 de junho de 2013

[1] - BeagleBone Black - Apresentação

   Uma opção interessante para quem está começando com linux embarcado é a nova BeagleBone Black (BBB). A BeagleBoard.org anunciou em 23 de abril essa nova versão da BeagleBone (BB), contendo uma serie de aprimoramentos comparado a sua versão anterior.
    A BeagleBone Black é uma plataforma de linux embarcado open-source, voltada para desenvolvedores e hobistas. Ela é foi desenvolvida com o intuito de rodar Linux ou Android usando seu poderoso processador TI Sitara AM3359 ARM Cortex-A8 de 1 Ghz, sua memoria DDR3 de 512Mb, 2Gb de memória flash onboard e uma nova porta micro-HDMI.

O melhor de tudo... somente custando $45 quase R$ 100!!!


quarta-feira, 5 de junho de 2013

[3] - MSP430 - Exemplos (Comparador)

Sem dúvidas, uma das maneiras mais eficientes para se construir soluções em programação, é analisar códigos-exemplo. Para nossa sorte a própria IDE possui uma aba dedicada a exemplos (Project >> CCS Example Projects).

Escolha a família do micro que você possui , eu no caso escolhi conforme a imagem:
Eu escolhi o primeiro exemplo, segue o código original:
Podemos dividir o código exemplo em três partes:
1) Copyright
2) Descrição
3) Código Funcional

terça-feira, 21 de maio de 2013

[2] - LPCXpresso LPC1769 - Instalando e apresentando a IDE.


Instalando a IDE para LPCXpresso

Bom galera, este post tem o objetivo de ser um guia rápido, para download e instalação do ambiente de desenvolvimento para nossa LPC.

Para começar abra seu navegador e entre no site: http://lpcxpresso.code-red-tech.com/LPCXpresso/

quarta-feira, 15 de maio de 2013

[1] - LPCXpresso LPC1769 - Apresentação



Click here for LPCXpresso users forum.

           Essa é mais uma Placa de Desenvolvimento estudada neste blog, a LPCXpresso é uma plataforma de desenvolvimento de baixo custo desenvolvida pela NXP (http://www.nxp.com/). Ela suporta microcontroladores LPC baseados em ARM da NXP. A plataforma possui uma ambiente de desenvolvimento (IDE) baseado em Eclipse, que incluem um depurador JTAG anexa.

        A plataforma é apresentada abaixo, onde a parte esquerda da placa (LPC-Link) possui um debugger JTAG integrado que se comunica com a IDE via USB, permitindo não ser necessário um debugger adicional. A porção a direita é a placa alvo, esta pode ser conectada a outras placas de expansão e prover uma variedade de interfaces de I/O(entrada e saída). 

sexta-feira, 3 de maio de 2013

[2] - MSP 430 - Piscando LED's

Antes de inicar a programação na sua MSP 430 LaunchPad, será necessário que você baixe alguns aplicativos no site da fabricante(Conforme o post de apresentação). E instale:

  1. Software de desenvolvimento
  2. IDE
  3. Compilador
Vale ressaltar que o kit de desenvolvimento que eu tenho em mãos é o MSP-EXP430G2, com chip M430G2553. Portanto nas etapas de configuração, configure conforme o seu kit de desenvolvimento.
Para realizar o download, existe uma etapa de cadastro (inclusive com perguntas engraçadas do tipo: "Você é terrorista?"), que deve ser feita e ativada via e-mail para concretização do download. Ao término da instalação ele tambem pediu código de licensa, que no caso eu escolhi limitada (para o CCS - Code Composer Studio) sem cadastro, e para a ativar a IDE ele precisou de um cadastro.
Por enquanto não foi utilizado o compilador GCC.

[1] - MSP 430 LauchPad - Apresentação e primeiras impressões


O custo de um kit de desenvolvimento MSP 430 G2, gira em torno de 10 dólares com frete grátis (comprando diretamente da fabricante, link).

Que já vem preparada para ser ligada diretamente na USB, cujo código escrito em C pode ser compilado na placa, e posteriormente gravado. Esta placa se apresenta com um excelente custo-benefício, tanto para projetos domésticos, como para pequenos projetos comerciais. Segue a foto do kit:

Através do site oficial é possível fazer o download do compilador , da IDE e do software de desenvolvimento . Sendo a documentação de facílimo acesso, e bem organizada na forma de WIKI.


terça-feira, 30 de abril de 2013

Apresentação

Neste primeiro post, apresento-lhes o blog debug-ce. Idealizado pelos estudantes cearenses Felipe Cerqueira e Pablo Enrico.
O blog tem o intuito de compartilhar, documentar, disponibilizar literatura, documentação e tutoriais na área de sistemas embarcados.