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

terça-feira, 26 de julho de 2016

Microcontrolador Arduino

Resultado de imagem para imagens arduino

Quem é aficcionado por tecnologia certamente já pensou em desenvolver soluções eletrônicas para resolver os contratempos do cotidiano. Com o Microcontrolador Arduino isso se tornou possível. Mas o que é um Arduino? Como ele surgiu?

O Arduino nasceu no Ivrea Interaction Design Institute, Itália, como uma ferramenta fácil para prototipagem rápida, destinado a estudantes sem experiência em eletrônica e programação. Assim que chegou a uma comunidade mais ampla, a placa Arduino começou a mudar para se adaptar às novas necessidades e desafios, diferenciando sua oferta de placas para aplicações da Internet das coisas, wearable, impressão 3D e ambientes incorporados. Todas as placas Arduino são completamente open-source (fonte aberta), capacitando os usuários para construí-las de forma independente e, eventualmente, adaptá-los às suas necessidades específicas. O software (IDE) também é open-source, e está crescendo através das contribuições dos usuários em todo o mundo.

O Arduino é uma plataforma de prototipagem de código aberto baseado em hardware e software easy-to-use (fácil de usar). placas Arduino são capazes de ler entradas, como a luz em um sensor, ou um dedo em um botão, ou uma mensagem de texto, e transformá-las em uma saída, que pode ser a ativação de um motor, o acendimento de um LED, ou a publicação de algo online. É possível dizer à sua placa o que fazer através do envio de um conjunto de instruções para o microcontrolador acoplado à ela. Para fazer isso usa-se linguagem de programação Arduino (baseada em C/C++), e o software Arduino (IDE), com base em processamento.


Ao longo dos anos, o Arduino foi se tornando o "cérebro" dos mais variados projetos que envolvem eletrônica e programação. Hoje existe uma comunidade mundial voltada para esta fantástica plataforma, que engloba desde o mais inexperiente entusiasta até profissionais da computação e das engenharias. Esse público tão grande e diversificado rendeu aos desenvolvedores valiosas contribuições, o que resultou no surgimento de vários tipos de placas, cada um deles adequado a necessidades específicas dos projetos de seus usuários.



Resultado de imagem para tipos de arduino  Resultado de imagem para tipos de arduino

Cada placa tem suas particularidade. Acima, à esquerda, vemos o Arduino UNO, placa padrão e mais utilizada pelos usuários devido à sua robustez, relativa capacidade de memória (32Kb) e facilidade de manuseio, pois possui conectores que dispensam o uso de solda para fazer as ligações com a placa. Já, à direita, temos o Arduino NANO. Essa placa possui as mesma funcionalidades da UNO porém em tamanho bastante reduzido. Ela é ideal para compor projetos que precisem caber em pequenos espaços. Temos ainda o Arduino MEGA, a maior placa que vemos nas imagens. Essa é destinada a projetos mais complexos que necessitem de mais memória e mais pinos disponíveis para conexões.

Parafraseando Glauber Rocha, com um Arduino na mão e uma ideia na cabeça tanto é possível fazer um LED picar, como automatizar o sistema elétrico inteiro de uma casa, controlar sensores e receber seus dados à distância, ou até mesmo construir um robô para fazer o que você desejar. Com o Arduino, a sua imaginação é o limite!!!

10 projetos feitos com Arduino


Bibliografia:¹Documentação oficial do Arduino - www.arduino.cc
² Techtudo - www.techtudo.com.br
³ Robocore - www.robocore.net;
⁴ Youtube - www.youtube.com.

quinta-feira, 21 de julho de 2016

Sistema de numeração binário

Sistema de numeração binário

Código binário

Quando nos filmes de ficção científica os computadores se comunicam entre si de forma inteligente, devemos entender que eles o fazem da mesma maneira que os humanos ou será que existe alguma forma de comunicação específica para eles?

Os computadores se comunicam através de códigos binários, ou seja, só utilizam dois dígitos: 0 ou 1, mas como é possível apenas com dois dígitos estabelecer uma comunicação precisa entre os computadores?


Definição

O sistema binário é um sistema de numeração posicional (ou seja, no qual o valor de cada algarismo depende da sua posição no número. Por ex.: 101 <> 110), ou chamado de base 2 porque todos os números são formados a partir dos algarismos 0 e 1. Na computação os binários se fazem tão importantes pois representam os pulsos elétricos. 

NotaCada dígito binário equivale a 1 bit. E, 8 bits = 1 byte



Transformações mais usadas em computação envolvendo binários


1. Decimal para binário

Para transformar um número decimal para número binário, deve-se realizar uma série de divisões do número por dois e parando, somente, quando se encontrar o quociente 1. Conforme a imagem abaixo:




O número na forma binária seria do último quociente até o primeiro resto. Então o número decimal 19 possui a sua forma binária igual à 10011.



2. Binário para decimal

Para converter os números binários em números decimais deve-se somar o produto do dígito binário por dois elevado a posição do dígito (em ordem invertida), conforme a imagem abaixo: 
Nota: 01100 tem 5 dígitos, e portanto contém as posições de 0 a 4. Porém na hora de transformar binário em decimal, deve-se usar a ordem invertida, ou seja, de 4 a 0.




Como visto acima, o número binário 01100 corresponde à 12 em decimal.


3. Binário para octal


Para transformar um número binário em octal, devemos separá-los em grupos de 3 da direita para a esquerda. Depois disso transformá-los em números decimais utilizando a transformação binário-decimal (tópico 2). Após isso, basta apenas unir novamente os números.

Assim como:
10011011101
= 10 011 011 101
=  2    3    3     5
= 2335.


4. Octal para binário


É o processo inverso do tópico 3. Separamos os algarismos do número octal, transformamos os números isolados em binário da mesma maneira que fizemos na transformação do tópico 1 (decimal-binário). Por último basta juntar os dígitos.

Ex.:       2    3     3    5
        = 10 011 011 101
         = 10011011101

Dessa maneira, 2335 em octal é igual à 10011011101 em binário.



5. Binário para hexadecimal


Analogamente como foi feito com a transformação binário-octal, nós separamos o número binário de 4 em 4 partindo da direita para a esquerda. Depois utilizamos a transformação binário-decimal, trocamos os números maiores que 9 (não existentes no sistema decimal), pelas letras que pertencem ao sistema hexadecimal. Por fim, basta unir os dígitos. 
Nota: A-10, B-11, C-12, D-13, E-14, F-15.

Ex.:          10011011101
          = 100 1101 1101
          =   4     13     13    
          =   4      D      D
          =       4DD

Então 10011011101 em binário é igual a 4DD em hexadecimal.


6. Hexadecimal para binário


E por fim, de hexadecimal para binário segue o mesmo modelo da transformação octal-binário e binário-hexadecimal. Veja o exemplo:

Ex.: 4DD para binário.

4DD
= 4        D     D
= 4       13    13
= 100 1101 1101
10011011101
Então 4DD em hexadecimal é 10011011101 em binário. 

Montando palavras com número binários


Para a formação de palavras utiliza-se como padrão números binários de até 5 dígitos. Os binários de até 5 dígitos podem variar, em ordem crescente, da seguinte forma: 00000, 00001, 00010, 00011, 00100... Até no máximo 11111. As tabelas de conversão servem para estabelecer um padrão de correspondência, na qual cada sequência de 5 bits se transforme (converta) em um carácter, ou vice-versa. A tabela de conversão mais conhecida é a ASCII.³

Abaixo tem um exemplo de tabela e como ela pode ser utilizada na conversão:



Por exemplo, toda vez que o computador encontrar a sequência 00001, vai inserir a letra A. 

Portanto, é a partir do sistema numérico binário que se constrói toda a comunicação de um computador em seu nível mais baixo. E assim, terminamos o nosso resumo sobre os números binários.

Bibliografia:
¹Sistema de numeração binário - Wikipédia;
²Conversões numéricas envolvendo binário - dicasdeprogramacao.com.br
³Números binários - Tecciencia - UFBA

terça-feira, 19 de julho de 2016

Single Board Computers


As single board computers são computadores completos ou módulos de testes construidos em somente uma placa de circuito, desenvolvidas para serem pequenas e portáteis.
Existem várias dessas placas no mercado, sendo usadas tanto por hobistas quanto por profissionais.

Algumas dessas placas, como a RaspberryPi, vem com sistemas operacionais nativos¹, ou chegam à rodar outros sistemas, como os baseados em Linux¹ ou o Windows².

Outras são voltadas para módulos de teste e desenvolvimento, as chamadas boards microcontroladoras, como as famosas placas Arduino³ e Intel® Galileo⁴.

Além da portabilidade, essas placas são muitas vezes usadas para o viés educacional, por sua praticidade em simular hardware e circuitos digitais.
 
Neste blog cobriremos mais detalhadamente cada uma destas placas, com seus aspectos técnicos e práticos.



Bibliografia:

¹ Documentação oficial do RaspbarryPi, Disponível no site oficial, acessado em 18/07/2016
² Documentação oficial do LattePanda, Disponível no site oficial, acessado em 18/07/2016
³ Documentação oficial do Arduino, Disponível no site oficial, acessado em 18/07/2016
⁴ Documentação oficial do Intel® Galileo, Disponível no site oficial, acessado em 18/07/2016