domingo, 28 de junho de 2015

Começando a Utilizar o Sensor de Distância Ultrassônico HC - SR04

Neste tutorial aprenderemos os conceitos básicos de um sensor muito interessante que pode ser utilizado em muitas placas de sistemas embarcados (o que inclui nosso querido Raspberry Pi B+), que é o Sensor de Distância Ultrassônico HC - SR04. O nome pode parecer bastante complicado, mas é um sensor bem fácil de entender e de interagir. E também é bastante barato, podendo ser encontrado a partir de R$ 15,00 nos melhores sites de sistemas embarcados.



A primeira coisa que precisamos entender é: como que isso funciona? Como o próprio nome já diz estamos falando de um Sensor Ultrassônico, ou seja, ele trabalha com ondas sonoras para interagir com o ambiente. A primeira coisa que prestamos atenção no sensor são os dois enormes círculos que tomam quase todo o espaço do sensor: são os transmissores e receptores sônicos. O transmissor emite uma onda de som com propriedades específicas e o receptor recebe (oh, rly!) a mesma onda quando a mesma volta. A partir desse princípio esse sensor pode ser usado para muitos propósitos, mas o foco desse tutorial é fazer com que você, caro leitor, consiga calcular pequenas distâncias usando esse sensor.

E como usar o sensor para medir distâncias? Fácil. Para que a onda possa ser transmitida pelo transmissor, é preciso que o pino TRIGGER no sensor esteja em nível alto, e a partir disso a onda é transmitida, e enquanto isso o pino ECHO também ficará em nível alto. O pino ECHO só entra em nível baixo a partir do momento que a onda volta pelo receptor. Com isso temos a o tempo que a onda levou para chegar em um determinado objeto e voltar e a velocidade da onda (velocidade do som), com isso podemos aplicar a seguinte equação para determinar distâncias (dividimos a equação por 2 porque o tempo pego é de ida e de volta, sendo que estamos interessado em apenas metade disso):

Distância percorrida = (tempo em que ECHO fica em nível alto * velocidade do som) / 2

Dito tudo isso, podemos começar o nosso tutorial! Primeiramente, vamos ao que será necessário:

  • Raspberry Pi B+ e o mínimo para utilizá-lo (teclado, mouse e monitor)
  • Protoboard
  • Resistores (de preferência, três do mesmo valor)
  • Jumpers
  • Cabos macho-fêmea
  • O Sensor de Distância Ultrassônico HC - SR04, a estrela deste turorial
Primeiramente vamos começar montando o circuito, e é aqui que encontraremos um pequeno empecilho: o sensor trabalha com uma tensão de 5V, enquando o Raspberry emite uma tensão de 3.3V, e por isso teremos que fazer uma pequena mágica com os resistores. Para isso facilitar, é só seguir a seguinte relação:

Vsaída = Ventrada * (R2 / (R1+R2))

Considerando que Vsaída = 3.3 V, Ventrada = 5V e R1 assume um valor qualquer (o resistor que você tiver disponível, fica fácil descobrir qual o valor de R2 que usaremos no circuito. Na lista de materiais foram pedidos três resistores de mesmo valor porque o resultado de R2 é aproximadamente o dobro de R1, então enquanto R1 é apenas um resistor R2 pode ser os dois resistores em série. Abaixo segue um esquema de como ficara o circuito montado no protoboard:



(provavelmente seu esquema ficará parecido com isso, mas desde que siga as especificações do esquema acima, funcionará normalmente)

Esquema montado, é hora de ir para a parte computacional. Primeiramente vamos precisar habilitar a função SSH, que é um protocolo que permite a a comunicação remota entre dois dispositivos em meio a mesma rede. Para isso abra o Terminal no Raspberry e digite a seguinte linha:

ssh pi@(o endereço de IP do seu Raspberry)

SSH habilitado, agora podemos montar o código que será executado pelo sensor. Nesse caso é melhor primeiro salvar o código em um arquivo de texto. Então segue abaixo o código que será ultilizado:

#importando as bibliotecas necessarias
import RPi.GPIO as GPIO
import time

#definindo a pinagem a ser utilizada
GPIO.setmode(GPIO.BCM)

#definindo os pinos ultilizados
TRIG = 23
ECHO = 24
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)

#definindo TRIG como falso
GPIO.output(TRIG, false)
time.sleep(2)

#preparando para a medição
GPIO.output(TRIG,true)
time.sleep(0.00001)
GPIO.output(TRIG,false)

while GPIO.input(ECHO) == 0:
    inicio = time.time()

while GPIO.input(ECHO) == 1:
    fim = time.time()

duracao = fim - inicio

distancia = duracao * 17150

distancia = round(distancia,2)

print "Distancia: ", distancia, "cm"

GPIO.cleanup()



Este sensor pode medições de 1cm até 5m de distância, com uma margem de erro de 3mm, então sinta-se livre para testá-lo diversas vezes!


Até a próxima!




sábado, 27 de junho de 2015

Reproduzindo Sons Com o Raspberry Pi

    Saudações leitores, neste tutorial vamos mostrar como programar o Raspberry para reproduzir sons através de conexões com as portas GPIO's. O que é um simples exemplo de manipulação das funções de som do módulo Pygame. Para isso vamos precisar de:

1 - Um resistor de 10k ohms (Nós testamos também com 11k, notamos que o som foi reproduzido com um volume mais baixo, devido a maior oposição a corrente);
2 - Um Push Button;
3 - Fios de conexão macho-fêmea e jumpers de conexão;
4 - Alto-falantes ou fones de ouvido para serem conectados na saída de áudio analógico.


terça-feira, 23 de junho de 2015

Acessando Remotamente o Raspberry Pi B+: Acesso ao Terminal

Uma das grandes vantagens de usar o Linux como SO é poder fazer qualquer coisa pelo terminal, desde acessar qualquer função normal da interface gráfica até manipular a memória da máquina usada. Dado isso, há uma função bastante interessante que pode ser feito para auxiliar a vida de muitos: acesso remoto.

Por quê? Para utilizar o Raspberry é necessário todo o conjunto básico de periféricos: teclado, mouse e monitor. Porém não são todos os que possuem recursos para comprar esses periféricos exclusivamente para o Raspberry, e que já sentem o cansaço que é conectar e desconectar periféricos de outras máquinas para interagir com a placa e depois desconectar. Além disso, muitos gostam de fazer projetos no Raspberry utilizando mais de uma máquina: um computador com as pesquisas e material de estudos e o Raspberry apenas para as aplicações práticas. Por isso o acesso remoto é algo interessante: ele te permite interagir com a placa a partir de outro computador, sendo necessário apenas que ambos estejam na mesma rede.

Com isso, podemos começar o nosso tutorial. Mas antes, precisamos esclarecer alguns pontos:

1. Ensinaremos a fazer o acesso remoto a partir de um computador que utiliza o Windows como SO, por ser o SO mais popular.

2. Para que o acesso remoto possa ser feito é necessário que o Raspberry e o computador estejam conectados à mesma rede, seja por cabos ou por um roteador sem fio.

3. O acesso remoto que ensinaremos será para acessar o terminal do Raspberry, ou seja, nada de interface gráfica. Mas como foi dito anteriormente, a partir do terminal do Linux é possível fazer tudo o que é possível com a interface gráfica (e muito mais!).

Dados os avisos, vamos ao tutorial!

Antes de mais nada, é necessário habilitar a permissão de acesso remoto (SSH) no seu raspberry.

Para isso utilize a função entre no terminal e digite o comando:

sudo raspi-config



Aberto as configurações do Raspberry, selecione a opção "8. Advanced Options".



Em seguida, escolha a opção "Enable".
Pronto, seu Raspberry agora permite acesso remoto.

Obs: Este menu é referente a placa B+. Para outras versões de Raspberry podem haver alterações, mas basta procurar a opção SSH e habilitá-la.


Por último, você precisa anotar as configurações de IP do seu Pi. O IP funciona como uma espécie de "endereço digital" de um determinado aparelho que está conectado à uma rede: é a sua identificação naquela rede em específico. 
Digite o comando ifconfig.






Agora é necessário instalar algum programa no PC que irá acessar as informações do Raspberry, como por exemplo o Putty. Digite o endereço de IP no local indicado.


Se tudo estiver bem configurado, você conseguirá facilmente acessar o shell do seu Pi.

Lembrando que

Username : pi
Senha : raspberry



Download do Putty para Windows aqui.


domingo, 21 de junho de 2015

Acessando Remotamente o Raspberry Pi B+: Acesso Gráfico

    Nesta série de tutoriais vamos mostrar como acessar o seu Rasp de modo a que você não precise mais do auxílio de periféricos, é isso mesmo, você pode controlá-lo enviando comandos através do seu PC ou celular. Aqui nesta postagem vamos fazer o acesso dos gráficos do modelo PI B+ utilizando o software de  TighVNC que você deve instalar no seu PC clicando aqui:


   Quando executado pela primeira vez, será importante definir uma senha:



    Depois de instalado no PC, o segundo passo é instalar no PI, portanto abra o terminal e escreva os seguintes comandos:

sudo apt-get install #Para atualizar os pacotes do sistema

sudo apt-get install tightvncserver #Instala o software propriamente dito



Para tornar o Rasp acessível a qualquer momento, a partir de agora, basta digitar o comando: tightvncserver
E para o próximo passo, precisaremos saber o IP do Raspberry. Podemos facilmente obter o endereço utilizando o comando: ifconfig como no exemplo abaixo: 



    Voltando para o PC, nós abriremos o aplicativo recém instalado: "TightVNC Viewer" e digitaremos o número do endereço IP obtido SEGUIDO de dois pontos e o número correspondente ao display virtual, que fica a seu critério, no nosso caso utilizamos o 1.


Digite a senha definida anteriormente:



E... Pronto!


Você verá a área de trabalho do Raspberry diretamente da janela do VNC Viewer!



 E isso é tudo, pessoal! Espero que tenham gostado e qualquer dúvida utilizem os comentários abaixo da postagem! Saudações!

sábado, 20 de junho de 2015

Instalando o Primeiro SO no Raspberry

Agora que já conhecemos o que é o Raspberry e todo o seu potencial, é possível começar a mexer nele e desenvolver os seus próprios sistemas. Mas como todo computador, o Raspberry precisa de uma coisa muito importante para que ele funcione: um SO (Sistema Operacional). Para quem não sabe, SO é um conjunto de programas que são EXTREMAMENTE necessários para gerenciar os recursos do computador, fazendo uma interface entre a máquina e o usuário. Então não é um programa qualquer que você baixa por aí, é um pacote essencial para o funcionamento do Raspberry.

Para poder instalar um SO no seu Raspberry serão necessários:

·    1. Um computador com acesso à internet e com leitor de cartão de memória.
·    2. Um cartão de memória microSD com adaptador para SD comum (existem algumas versões de Raspberry que aceitam cartão SD comum).
·    3. Monitor, teclado e mouse: o mínimo necessário para interagir com o  Raspberry.
·    4. Uma conexão cabeada com a internet para plugar no Raspberry.
·    5. Obviamente, um Raspberry.

Outro ponto importante é o SO que iremos instalar: uma distribuição do Linux. Sim, sabemos que o Linux não roda aquele jogo novo que você tem na Steam, mas lembre-se: é um SO para um pequeno computador educativo, e muito dificilmente servirá para computador pessoal. Enfim, o Linux, que também é um ótimo SO para outros computadores, é a melhor escolha para o Raspberry, pelos motivos: há diversas distribuições para diversos gostos, com muitas ou poucas limitações; é estável; é seguro, e o melhor motivo... É DE GRAÇA. Brincadeiras a parte, o melhor motivo é o fato de ser Open-Source: você pode modifica-lo para o jeito que melhor lhe agradar, assim que estiver mais avançado nos conhecimentos de Linux.


(Fonte: http://www.sourcetoad.com/web-application-development/linux-vs-windows-web-apps/)

E sem mais delongas, vamos aos passos!
1. Acesse o site https://www.raspberrypi.org/downloads/ e baixe o SO NOOBS disponível. Há várias outras versões nessa página, mas esta é a mais indicada para quem está começando.
2. Enquanto isso, você precisa formatar o cartão que você irá utilizar. Para isso baixe o SD Card Formatter no site https://www.sdcard.org/downloads/formatter_4/.
3. Feito os downloads, instale o SD Card Formatter no seu computador. Feito isso insira o cartão microSD no computador, e então abra o programa para formatar completamente o cartão.
4. Formatado o cartão, é hora de mexer com o outro arquivo baixado: o SO. O arquivo virá em formato compactado, então é necessário extrair os arquivos (caso não consiga, baixe o programa WinRAR). Extraia os arquivos e arraste todos para a raiz do cartão de memória que estava formatado.
5. Feito tudo isso, insira o cartão no Raspberry e conecte todos os outros periféricos. O SO já está salvo na memória!

Todo o trabalho que tinha para ser feito no computador comum agora já está terminado. Seu Raspberry está, teoricamente, pronto para funcionar sozinho... Mas antes, ele pede aquela básica configuração inicial, nada que necessite muito conhecimento de Linux:
1. Assim que você liga-lo verá que aparecerá uma janela mostrando uma lista com os diferentes SO’s que podem ser instalados. O NOOBS permite que você possa alternar entre diferentes SO’s na memória, mas comece baixando o “Raspbian”.


(Fonte: http://42bots.com/tutorials/raspberry-pi-2-initial-set-up-and-configuration-with-noobs-raspbian/)

2. Feito isso, será instalado o SO no Raspberry. Pode ocorrer que seja necessário baixar o Raspbian por meio da internet, o que pode demorar um tempo.


(Fonte: http://42bots.com/tutorials/raspberry-pi-2-initial-set-up-and-configuration-with-noobs-raspbian/)

3. Assim que o SO for baixado e instalado será aberto o “raspi-config”, que nada mais é que uma tela de configurações iniciais. Nele você pode configurar coisas como data, hora, região, padrão do teclado, ativar outros periféricos, etc. Para sair, pressione Tab ou selecione a opção “Finish”.


(Fonte: http://42bots.com/tutorials/raspberry-pi-2-initial-set-up-and-configuration-with-noobs-raspbian/)

4. Após isso, caso seja necessário, pode ser pedido a autenticação do usuário. O username padrão é “pi” e a senha padrão é “raspberry”, que podem ser alteradas depois pra deixar ainda mais seguro.

Agora o seu Raspberry tem um SO instalado, e pode ser usado finalmente como um computador! Com o tempo você pode configurar ainda mais o sistema para deixa-lo do seu jeito, ou até mesmo testar outros sistemas compatíveis. Usamos esse por ser ideal para pessoas que estão iniciando no mundo do Raspberry e também por vir com o pacote essencial de programas para iniciantes: gerenciador de arquivos, navegador de internet, editor de textos, programas para programação em linguagem Python (linguagem de alto nível bastante utilizada no Raspberry) ... e uma versão adaptada do Minecraft, para jogar de vez em quando (apenas de vez em quando!).


(Fonte: http://42bots.com/tutorials/raspberry-pi-2-initial-set-up-and-configuration-with-noobs-raspbian/)


Esse foi o tutorial da primeira instalação de SO no Raspberry! Esperamos que com isso você possa se aprofundar mais no grande potencial desse pequeno, mais poderoso, computador!




Referências:

http://softwarelivre.org/mslguarulhos/software-livre-quer-um-motivo-para-usar-linux-te-damos-15
https://www.raspberrypi.org/

domingo, 14 de junho de 2015

Da invenção do Raspberry Até Sua Produção em Massa






Diferente da maioria das invenções tecnológicas, o sistema embarcado Raspberry não foi inventado com intuitos militares, "a ideia era criar algo educativo e criativo ao mesmo tempo", afirmou Pete Tomas na Campus Party Brasil em 2013.Essa ideia surgiu quando professores universitários ingleses perceberam que os alunos entravam no curso superior "muito crus", criar um computador de bolso com interface inteligente que interaja de varias formas com o usuário foi a saída para uma melhor interação.
O resultado? uma estimativa de dez mil encomendas foi totalmente derrubada por mais de duzentas mil encomendas, chegando a deixar o site do grupo criador fora do ar.  


                                

           "No dia do lancamento, o site saiu do ar.E por algumas horas chegamos a ultrapassar a Lady Gaga nas buscas", ele afirmou.

SOBRE O RASPBERRY PI 

A interatividade dessa versão do sistema embarcado é ampla, revistas como a "MagPi" mostram iniciativas independentes feitas, muitas com baixo custo. Esse foi também o objetivo de lançamento da "Pi Store" onde há aplicativos gratuitos e pagos.

"A ideia é que você possa ver o que outras pessoas já fizeram, e voce pode disponibilizar o seu projeto, e quem sabe, ganhar uns trocados. Se voce faz um jogo, por exemplo, pode colocá-lo de graça e ver o que as pessoas acham", Afirmou o criador Pete.

Dentre os projetos já realizados, Lomas mostrou um Pi que foi conectado a um balão atmosférico, com uma camera acoplada, e fotografou a Terra da estratosfera.

"Meu filho de dez anos viu as fotos e me perguntou, 'pai, por que a superfície da Terra parece curva?', e passamos meia hora conversando sobre isso, e eu fui explicando pra ele. Aí está o grande potencial na educação. A tecnologia permite que você vire o jogo, permite que as crianças façam, e se você deixa-las sozinha com um Raspberry Pi por algumas horas elas vão fazer coisas que nem eu sabia que o Pi poderia fazer" ilustrou.

O cocriador do computador de US$35 revelou que o projeto do balão é um de seus favoritos. Lomas, ele mesmo, ainda não conseguiu criar nada.

 "Tenho um trabalho fixo de diretor na faculdade que me toma umas 60 horas por semana, em casa e nos fim de semana estou sempre em cima do Raspberry Pi. As pessoas chegam e me mostram coisas, e eu olho e digo, 'nossa , é muito legal'. Penso que queria fazer o que eles estão fazendo, mas não se pode ter tudo". comentou em uma entrevista após a palestra.

Os planos da Raspberry Pi Foundation para o decorrer daquele ano de 2013 era m contratar profissionais e conseguir um escritório. O Modelo A do computador, sem conexão ã internet mas com custo de US$25, também está na lista, saiu ainda no primeiro semestre com custo de US$25. Além disso , a equipe quer melhorar a distribuição no mundo e trabalhar na velocidade de processamento do Pi - hoje, são 700MHz, que podem chegar a 1GHz com overlocking.







sábado, 13 de junho de 2015

Sobre o Raspberry Pi

Resultado de imagem para Raspberry Pi

Porque usar o Raspberry Pi?

Se você é um estudante de alguma área relacionada à tecnologia de informação provavelmente já percebeu como as pessoas demonstram certo interesse quando você conversa sobre o assunto. Após a ascensão dos computadores, as pessoas passaram a querer ter um maior conhecimento sobre como manusear uma máquina dessas. E isso não é sem motivo, afinal um computador está presente na maior parte das nossas atividades. Grande parte da população possui alguma conta em redes sociais, alguns se diverte com jogos eletrônicos e há até mesmo aqueles que são fanáticos por procurar novas receitas caseiras de bolo. Portanto, não é sem motivos que a procura por cursos de computação tenha crescido massivamente.

É notável que a computação está cada vez mais presente no cotidiano das pessoas, facilitando bastante os seus afazeres e suas vontades. Antigamente, tarefas como trocar mensagens, fazer pesquisas e até mesmo se divertir eram muito limitadas se comparadas a atualmente, com o advento do computador, internet, smartphones, tablets, etc. Inclusive se você está lendo este artigo agora é porque alguém desenvolveu esta plataforma na web em um computador. Então é muito comum ver pessoas que são antenadas ao mundo da tecnologia, seja por pura curiosidade e interesse no assunto, seja porque tem a ambição de trabalhar com isso.

Com isso vieram muitas formas de ensinar as pessoas leigas os conceitos de tecnologia que hoje regem os aparelhos que usamos, tais como: lógica, programação, lógica, etc. É muito fácil e interessante apenas saber usar um determinado aparelho dentro de suas limitações, mas é muito mais interessante entender o que realmente se passa no computador quando você executa um determinado comando, o que foi preciso pra ser feito, o que acontece com a memória, etc.

Nada de barra de ferramentas. Os primeiros SOs não possuíam nem interface gráfica interativa.
Com isso vieram muitas plataformas para que pessoas pudessem testar seus conhecimentos sobre computação e fazer seus próprios projetos caseiros. Porém em muitos lugares, como em países subdesenvolvidos, o ensino de computação nas escolas é algo muito difícil de aplicar por conta de seus elevados preços. Foi pensando nisso que a placa Raspberry Pi foi criada: é uma placa que funciona de forma completamente independente, sendo um computador completo onde crianças e adultos podem explorar a computação, interagindo com linguagens de programação como Python e Scratch, aprendendo mais sobre conceitos de programas e sistemas, etc. Além disso tudo, é uma ótima plataforma para projetistas tecnológicos, que podem fazer desde projetos mais domésticos (um carro de controle remoto ou um centro multimídia para a sala de estar) desde projetos empresariais (sensores de ambiente). O Raspberry Pi é um atrativo para muitos tipos de clientes, e seu principal atrativo é seu preço: é possível adquirir uma placa a partir de 45 dólares americanos.

O principal motivo que levou a criação do Raspberry Pi é que o mesmo fosse um pacote completo para quem quisesse conhecer mais sobre computação, tanto na teoria quanto na prática, e que tivesse um preço acessível para que pudesse alcançar mais mercados mais modestos, para assim popularizar a computação para um público de todas as localidades e idades. A maioria dos sistemas operacionais que são implementados nele são baseados em Linux, que é uma ótima plataforma para iniciantes em programação que querem testar seus conhecimentos entendo e manipulando o próprio SO. 



Resultado de imagem para PinguimResultado de imagem para Janela quebradaResultado de imagem para Pinguim
O Windows com certeza tem seu mérito, mas o Linux é de grande utilidade para programadores.

Além de aprender sobre softwares, você também pode aprender muito sobre o hardware de um computador usando o Raspberry. Isso porque ele também funciona como uma plataforma de sistema embargado, assim como o Arduino ou microcontroladores como os da Atmel (por falar nisso, o Raspberry foi baseado no microcontrolador Atmel ATmega644). Aqui no nosso blog postaremos alguns projetos ensinando como utilizar as portas de entrada e saída de sinais elétricos no seu Raspberry. Ou seja, você aprende a programar, entende como funcionam os softwares em um computador, aprende sobre hardware e componentes eletrônicos e ainda pode realizar funções de um computador convencional. Tudo isso usando uma placa pequena, simples e barata.
Além disso tudo o Raspberry Pi também pode ser uma ótima fonte de conhecimento de hardware. Isso porque a placa também funciona como uma plataforma de sistema embarcado. Com isso ele também pode ser usado para testes de eletrônica. Aqui no nosso blog postaremos alguns projetos ensinando como utilizar as portas de entrada e saída de sinais elétricos no seu Raspberry. Ou seja, você aprende a programar, entende como funcionam os softwares em um computador, aprende sobre hardware e componentes eletrônicos e ainda pode realizar funções de um computador convencional. Tudo isso usando uma placa pequena, simples e barata.
Sinta-se o próprio Tony Stark (ou vire um) enquanto estuda algo que talvez mude sua vida e o faça pensar em seguir uma carreira na área de Computação. 
Com esforço e trabalho duro você pode até construir seu próprio foguete. O céu não é mais o limite.

Fonte: Primeiros Passos com o Raspberry Pi - Matt Richardson e Shawn Wallace

Tutorial: O "Hello World" com GPIO no Raspberry Pi B+

     Olá pessoal, fazendo a postagem inaugural do blog, vamos mostrar um simples tutorial de como configurar uma porta GPIO do seu Raspberry Pi B+ para fazer um simples LED piscar, que até pode ser incrementado configurando múltiplas portas para acenderem vários LED's como foi feito na imagem a seguir:




Material necessário:

1 - LED: Diodo Emissor de Luz;
2 - Fios condutores: Para serem utilizados com Jumpers de conexão, muito importante que esses fios tenham proteção isolante para que não ocorra curtos entre as portas.
3 - Resistor 330ohms: Note que quanto maior a resistência menor será a luminosidade do LED;
4 - Protoboard;
5 - Um Raspberry Pi B+: É claro;




   
Vamos dividir o procedimento em duas partes: parte eletrônica e parte computacional.

Parte eletrônica:

Esquema da ligação no protoboard

Nessa parte vamos montar um simples circuito para ligar o LED ao Rasp como na foto abaixo, onde a alimentação será feita pela porta GPIO (No exemplo usamos a GPIO 18) e o cátodo do LED ligamos a uma das portas GND do Rasp: