Descrição

Blog desenvolvido durante a disciplina de Fundamentos de Engenharia de Computação na UFS, ministrada pelo professor Renê Pereira de Gusmão. É alimentado pelos alunos Denisson Silva, Gustavo Bezerra, João Marcos, Leonam Matheus e Yann Trabuco

domingo, 25 de setembro de 2016

O melhor microcontrolador para seu projeto

O melhor microcontrolador para seu projeto



O microcontrolador deve satisfazer as características técnicas do projeto. É fundamental levar em consideração:


·         Arquitetura
·         Consumo, caso o projeto demande baixo consumo ou seja móvel
·         Periféricos
·         Velocidade e capacidade de processamento
·         Tamanho e encapsulamento
·         Escalabilidade

Ao começar a trabalhar com uma família de microcontroladores deve-se atentar para o fato da existência de microcontroladores da mesma família com mais memória FLASH e SRAM, ou capacidade de interfacear com uma memória externa para eventual expansão do projeto, sem grandes traumas.

Utilizar microcontroladores da mesma família ou do mesmo fabricante é uma ótima opção, caso seja necessária a mudança do CI principal do projeto. Como o tempo de aprendizado de um novo microcontrolador pode ser grande devido a diferentes ambientes de desenvolvimento, ferramentas e/ou datasheets, é desejável que, se possível, o fabricante continue sendo o mesmo do projeto original para se economizar em tempo de desenvolvimento.  O reaproveitamento de código é, sem dúvida nenhuma muito grande quando se mantém a família de microcontroladores de um mesmo fabricante e o trauma gerado por uma mudança de arquitetura pode ser maior ainda.

Preços

É necessário que se pense comercialmente quando é feita a escolha de um microcontrolador para determinado projeto. O preço de um produto não indicado para novos desenvolvimentos pode ser muito caro. Por exemplo, atualmente os microcontroladores ARM7 têm um preço bem maior que os com core CORTEX M3, muitas vezes com poder de processamento maior e vasta gama de periféricos.

Uma característica que contribui com o aumento do preço é a tecnologia em que a FLASH é construída. Em determinados microcontroladores é utilizada tecnologia de 90 nm, enquanto em outros, 63 nm. Essa diminuição permite que um maior número de componentes sejam construídos em uma mesma área de silício. Para um mesmo tamanho de flash, a área ocupada é menor – menos material é utilizado e o preço cai. Microcontroladores que acabam de ser lançados também tem preço mais atraente, apesar da disponibilidade ser crítica – os tempos de fornecimento tendem a ser bem altos.

Conclusão 

O melhor microcontrolador é aquele que permite um desenvolvimento rápido de uma solução eletrônica segura conforme os requisitos de projeto, desde que bem definidos, que seja fácil de encontrar para venda a um preço relativamente baixo (depende do voilume de compra) e com tempo de entrega baixo no mercado internacional e que a equipe de desenvolvimento tenha intimidade e demonstre traquejo. É fundamental que disponha de diversas ferramentas para trabalhar com o mesmo. E, claro, que resolva o problema proposto. É importante também que esse item tenha longo prazo de fornecimento, para que o produto tenha uma longa vida no mercado e possa se pensar em um plano de manutenção e assistência técnica adequados.

No começo do projeto, é interessante escolher um microcontrolador com um pouco mais de recursos que se pretende utilizar, principalmente memória SRAM e memória Flash. Isso permite que o desenvolvedor de firmware não passe sufoco e tenha uma margem para trabalhar. Ao terminar o projeto, pode-se enxugar os recursos do primeiro microcontrolador escolhido e, assim, escolher o mais barato possível para o projeto eletrônico.

Toda a escolha de micro, no entanto, não deve ser definitiva. Ao se perceber que não será possível cumprir o planejado, deve-se replanejar todo o projeto, avaliando a possibilidade de redução de escopo, replanejamento de tempo ou de disponibilidade de recursos para trabalhar no projeto eletrônico. Isso é percebido de forma mais rápida se houver um acompanhamento rígido da execução do projeto. Grandes mudanças podem ser necessárias, no entanto. Nesse momento, é fundamental revisar e agir. Claro que se antecipar a problemas ainda nas fases iniciais de projeto é menos custoso do que nas fases finais. O custo de um projeto, em todos os aspectos cresce exponencialmente conforme o projeto se desenvolve.



Bibliografia:

quinta-feira, 22 de setembro de 2016

Linguagem de Programação

Linguagem de Programação


Conceito 


Podemos imaginar o computador como uma super calculadora, capaz de fazer cálculos muito mais rápido que nós, mas para isso devemos dizer para o computador o que deve ser calculado e como deve ser calculado. A função das linguagens de programação é exatamente essa, ou seja, servir de um meio de comunicação entre computadores e humanos. 



Tipos

Baixo nível:

As linguagens de baixo nível são interpretadas diretamente pelo computador, tendo um resultado rápido, porém é muito difícil e incômodo se trabalhar com elas. Exemplos de linguagens de baixo nível são a linguagem binária e a linguagem Assembly.


Alto nível:

São mais fáceis de se trabalhar e de entender, as ações são representadas por palavras de ordem (exemplo faça, imprima, etc) geralmente em inglês, foram feitos assim para facilitar a memorização e a lógica. Elas não são interpretadas diretamente pelo computador, sendo necessário traduzi-las para linguagem binária utilizando-se de um programa chamado compilador.

Cada linguagem de programação é diferente da outra, contendo palavras-chave próprias. Exemplos de linguagens de alto nível são C++, Java, C#, Delphi (Pascal), PHP, Visual Basic, etc.

 

Importância:  

Ensinar programação esta sendo apontado como uma matéria importante para o futuro dos alunos, mas por que especialistas e empresários de todo o mundo pensam e divulgam isso? Computação está cada vez mais ao nosso redor, está em nossas casas, trabalhos, transportes, lazer e por que não na nossa educação. No começo do uso da computação na educação foi feito de forma equivocada que somente reproduzia o modelo tradicional de educação, ou seja, educação expositiva não interativa em que o aluno não participava e portanto não tinha nada a acrescentar a mesma, porém a o ensino da programação ao aluno tem sido apontado como um alterador dessa realidade, não só porque o aluno terá que obrigatoriamente interagir com a linguagem de programação, mas também porque a linguagem de programação será uma alteradora de realidade do mesmo, sendo possível aplicável ao mundo do aluno e estimular a sua criatividade.

 

Bibliografia: 

http://www.corais.org

http://www.infoescola.com

 

domingo, 18 de setembro de 2016

As Single Boards Computers na Agricultura de Precisão

    A  Agricultura de Precisão é um tema abrangente, sistêmico e multidisciplinar. Não se limita a algumas culturas nem a algumas regiões. Trata-se de um sistema de manejo integrado de informações e tecnologias, fundamentado nos conceitos de que as variabilidades de espaço e tempo influenciam nos rendimentos dos cultivos. A agricultura de precisão visa o gerenciamento mais detalhado do sistema de produção agrícola como um todo, não somente das aplicações de insumos ou de mapeamentos diversos, mas de todo os processos envolvidos na produção. Esse conjunto de ferramentas para a agricultura pode fazer uso do GNSS (Global Navigation Satelite System), do SIG (Sistema de Informações Geográficas), de instrumentos e de sensores para medidas ou detecção de parâmetros ou de alvos de interesse no agroecossistema (solo, planta, insetos e doenças), de geoestatística e da mecatrônica.



Resultado de imagem para o que é agricultura de precisão


       Em escala reduzida, as Single Boards Computers nos possibilita produzir alimentos com a mesma eficiência vista no agronegócio. E o melhor exemplo disso é a fantástica FARM BOT.


genesis farmbot


O FarmBot Gênesis traz  a agricultura de precisão ao seu quintal


    Suas ambições pode ser menor do que as engenhocas que pode remotamente milhas de plantas de sementes, mas Gênesis parece incrivelmente impressionante. Desenvolvido por uma equipe de três da Califórnia, o kit é uma máquina autônoma que está instalada no topo e em torno de um pequeno jardim-em seu quintal, em um telhado, ou dentro de uma estufa ou laboratório. Uma vez construído, Gênesis realiza quase todo o processo de jardinagem antes da colheita, incluindo o plantio das sementes, regando cada planta precisa e em um cronograma definido, condições de monitoramento, e pulverizando ervas daninhas traquinas. Confira como funciona


         Como mostra o reboque, Gênesis desliza ao longo de trilhos instalados ao lado do campo para o jardim, com o braço principal também mudando esquerda e direita e aparecendo para baixo no solo para executar suas várias funções. Uma vez dado instruções, FarmBot pode ser deixado aos seus próprios dispositivos para seguir o plantio e horários de rega que você escolheu até que os legumes estão prontos para a colheita.
     Embora seja um aparelho muito high-tech, a interface é muito simples. O FarmBot conectado à Internet é controlado através de uma aplicação web que usa uma grade Visual -esque Farmville, permitindo que você arraste e solte o tipo de plantas que você quer em seu jardim digital. Gênesis tem 33 culturas comuns carregados em seu software até agora (alcachofras, acelga, batatas, ervilhas, etc) e ele automaticamente espaços das plantas variam de forma adequada, tendo as conjecturas fora de ter um jardim diversificado. E o aplicativo pode ser acessado a partir de um computador, telefone ou tablet, assim você pode ajustar seu plano de qualquer lugar e enviá-lo para o seu Farm Bot.
-Screen farmbot
farmbot-rendering
     O que é surpreendente é que o Gênesis é um  projeto de código totalmente aberto. Isso significa que os criadores liberaram o código fonte para o software e os planos para todas as peças de hardware, então programadores e engenheiros podem facilmente modificar Gênesis e construir suas próprias peças. Muitos componentes podem ser feitas usando impressoras 3D, e o software pode ser ajustado para adicionar recursos ou melhorar os implementados pela empresa.
    Gênesis é a primeira versão comercial deste ideia jardinagem autônoma, permitindo o plantio de espaços até 2,9 metros x 1,4 metros, com uma altura máxima de plantas de 0,5 metros. É um tudo-em-um kit com quase tudo que você precisa para começar, incluindo todo o metal e peças impressas 3D bicos, motores, correias, polias e um Raspberry Pi3, e muito mais. Você vai precisar para construir a sua própria orta seguindo as especificações, bem como fornecer as fontes de água, eletricidade e internet. Programador ou engenharia know-how não exigido: o kit vem com um guia passo-a-passo. Se você pode obter através de uma configuração de mobiliário IKEA, você deve ser capaz de utilizar Gênesis. Mas se você é um techie, você pode fazer muito mais com ele se quiser.
fambot-herói
      O kit Gênesis começará pré-encomendas nesta sexta-feira, 1º de julho de embora não esteja claro quando FarmBot começará a ser vendido, ou exatamente quanto o kit vai custar. Um post em seu site na semana passada sugere que o all-in a partir despesa para Gênesis será cerca de US $ 3.500, mas que inclui coisas como transporte, infra-estrutura, solo e outras despesas de instalação. Enquanto isso, um relatório do New Times SLO sugere que o próprio kit será vendido a cerca de US $ 2.900, mas o criador Rory Aronson diz que eles esperam, eventualmente, obter o custo próximo de US $ 1.000 para baixo da linha.
       Pode ser um buy-in caro para agora, mas o kit Gênesis é para iniciantes que querem a coisa toda pronta para instalar e não se importam em cavalgar na onda inicial de tecnologia não testada. Dada a abordagem de fonte aberta, não se surpreenda se você pode, eventualmente, comprar diferentes tipos de kits e complementá-los com suas próprias peças, expandir o kit de núcleo com seu próprio hardware extra, ou até mesmo construir seu próprio FarmBot a partir do zero.
Referências:
      http://modernfarmer.com/2016/06/farmbot-genesis/

Obs: A tradução apresenta pequenos problemas de concordância que se deram devido a problemas durante o upload dos arquivos para o blog. 
           Assim que possível o texto será revisado.

quinta-feira, 8 de setembro de 2016

Intel Curie

Apresentado na CES 2015, o novo módulo Intel Curie promete revolucionar o mercado de IoT. 



Minúsculo, ele é capaz de processar informação com pouquíssima energia, o que o torna bastante atrativo para o mercado de wearables. Aliás, esse foi uma das grandes motivações para o desenvolvimento. Após perder espaço no mercado dos smartsphones, a intel está investindo forte no mercado de IoT, o que culminou no desenvolvimento do módulo.



Embutido na peça, existe um Intel Quark 32 bits, giroscópio, acelerômetro e bluetooth. Isso tudo em menos de 4 cm². Já foi anunciado que o Arduino 101 possuirá a peça.

A Intel Curie promete revolucionar o mercade de single board computers e IoT.

Bibliografia:
http://www.intel.com/content/www/us/en/wearables/wearable-soc.html
http://www.intel.com/content/www/us/en/wearables/intel-curie-fact-sheet.html
https://tecnoblog.net/172417/intel-curie-anuncio/

segunda-feira, 5 de setembro de 2016

Sistema Operacionais

Conceito


Um sistema operacional é o software ou programa mais importante que é executado em um computador, é ele quem dá a possibilidade de usarmos e dar ordens ao mesmo. 
Administra todos os recursos do computador, ou seja, o software e o hardware. É a estrutura que sustenta e administra todos os programas e partes do seu computador.
Principais funções

Na prática, ele é que permite a inicialização do computador ou outro equipamento eletroeletrônico. Uma vez acionado, ele é o responsável pelo funcionamento da máquina e todos os seus componentes e demais programas. Sem a instalação do sistema operacional, o equipamento apenas liga.
Simplificadamente, as principais funções de um SO são:

Traduzir os comandos aplicados nos demais softwares para que os hardwares, incluso o processador, as entenda e resposta positivamente à solicitação;

Gerenciar os recursos dos hardwares para que todas as tarefas possam ser executadas a qualquer momento pelos usuários;

Gerenciar o acesso de arquivos diversos, oferecendo possibilidade de criação, edição, modificação, alteração de local e até exclusão dos mesmos;

Gerenciar tarefas diversas, para cada usuário diferente;

Permitir o funcionamento de periféricos como impressoras, hd externos, mouses sem fio, webcam’s, pen drives, etc ligados ao computador;

Garantir a segurança dos arquivos criados e guardados na máquina, de forma a permitir o acesso aos interessados.  




 Importância

Permitem que você interaja e dê ordem ao computador. Sem um sistema operacional um computador é inútil.
Sem o sistema operacional, você não teria a plataforma que carrega os programas que possibilitam escrever uma carta, escutar música, navegar na internet ou enviar um e-mail.


Bibliografia
www.techtube.com.br
www.gcfaprendelivre.org/

sexta-feira, 2 de setembro de 2016

LattePanda

Lattepanda

Para dar continuidade em nossa jornada sobre as Single Board Computers, hoje trazemos a LattePanda.


A placa LattePanda é um computador completo com Windows 10. Nela pode-se usar Microsoft Office, assistir vídeos em Full HD, e utilizar outros softwares compatíveis com o Windows. É praticamente a mesma experiência de usar um computador normal, porém em um tamanho bem menor. A “plaquinha” tem praticamente metade do tamanho de um celular comum.

Além de ser alimentada por uma fonte de 5v (assim como os carregadores de celulares), essa pequena placa tem um hardware potente que conta com um processador quad-core 1.8GHz, 2-4GB de memória RAM, eMMC de 32-64GB, WiFi e Bluetooth 4.0 já incluídos, e portas USB 3.0 e 4.0.  


Vídeo de performance do LattePanda

https://www.youtube.com/watch?v=sRVdyfyepQI


Esta placa possui ainda uma forte compatibilidade com o Arduino, tendo em vista que possui um co-processador Atmega32U4, e com o Xbox, e seus acessórios como o Kinect. É uma placa relativamente forte para rodar games compatíveis com Windows 10.


Vídeo produzido pelos criadores do LattePanda.
https://www.youtube.com/watch?v=Ov5cO4IJjX4

Como comprar?

A Lattepanda pode ser comprada no seu site oficial nos valores entre $79.00 e $139.90. Entre os outros produtos que vendem no site, o painel touchscreen pode ser obtido por $29.00.


Conclusão

Apesar de ser um pouco mais caro que outras single board computers, a LattePanda possui um poder de processamento acimada média. Compatível com Arduino, Kinect, com um painel touchscreen próprio e diversos sensores, esta pequena e poderosa placa traz uma oportunidade única na criação de softwares e hardwares da maneira que o usuário deseje.

Referências:
1. Site oficial do LattePanda - http://www.lattepanda.com/