Circuitos básicos com BeagleBone Black 1

No artigo anterior, Introdução ao BeagleBone Black, falamos sobre a instalação da placa no Windows e como acessá-la via browser. Vamos continuar trabalhando com o BeagleBone Black via browser, mas agora com a parte de hardware e o acionamento de portas de entrada e saída por meio da GPIO.

Se você ainda não tem a sua, aproveite e compre sua Beaglebone Black Rev. C na FILIPEFLOP, com envio em 24h para todo Brasil.

BeagleBone Black

Circuito básico com o BeagleBone Black

Ao acessar a placa via browser, no endereço http://192.168.7.2, você tem no menu do lado esquerdo, em DEMOS, vários exemplos de circuitos e programas para utilização com o BeagleBone, como exemplos com push button, leds e outros componentes.

Demos

Clique em “Blink on-board LED” e você terá uma tela como essa, com o código na área destacada em vermelho, e a console, destacada em azul, onde são apresentadas mensagens de erro e outros textos enviados pelo programa:

BeagleBone - Browser

Esse programa de exemplo simplesmente pisca o led USR3 presente na placa, e você pode clicar em RUN para ver esse programa em funcionamento. Ao clicar em Restore, o programa original é carregado e eventuais alterações erão perdidas.

Continue nessa tela e vamos agora criar o nosso próprio programa, que é composto por 3 leds que acenderão de maneira alternada a cada 2 segundos. Primeiramente monte o seguinte circuito:

Circuito BeagleBone Black - Leds

Digite ou copie o seguinte programa  na área de código do browser :

//Programa : Controle leds BeagleBone
//Autor : FILIPEFLOP

//Carrega a biblioteca bonescript
var b = require('bonescript');
var contador = 0;
//Definicao dos pinos dos leds
b.pinMode('P8_12', b.OUTPUT);
b.pinMode('P8_14', b.OUTPUT);
b.pinMode('P8_16', b.OUTPUT);

setInterval(check,2000);

function check()
{
   contador = contador+1;
   if (contador === 3)
   {
       contador = 0;
   }
   if (contador === 0)
   {
     console.log("Led Vermelho ligado !");
     b.digitalWrite('P8_12', b.HIGH);
     b.digitalWrite('P8_14', b.LOW);
     b.digitalWrite('P8_16', b.LOW);
   }

   if (contador === 1)
   {
     console.log("Led verde ligado !");
     b.digitalWrite('P8_12', b.LOW);
     b.digitalWrite('P8_14', b.HIGH);
     b.digitalWrite('P8_16', b.LOW);
   }
   if (contador === 2)
   {
     console.log("Led amarelo ligado !");
     b.digitalWrite('P8_12', b.LOW);
     b.digitalWrite('P8_14', b.LOW);
     b.digitalWrite('P8_16', b.HIGH);
   }
}

Como a programação é baseada em Javascript, a estrutura é um pouco diferente do que encontramos, por exemplo, no Arduino, onde temos basicamente uma seção SETUP e uma seção LOOP.

No programa acima, o comando SETINTERVAL chama a rotina check a cada 2 segundos. Dentro da rotina, a variável contador é ncrementada e é utilizada para acender cada led de acordo com o valor da variável.

Utilizamos o comando b.pinMode(‘P8_19’, b.INPUT) para definir se a porta correspondente será de entrada (INPUT) ou saída (OUTPUT). P8 e P9 são os conectores laterais, ou Headers. No comando, P8_19 se refere ao pino 19 do header P8. Verifique a disposição dos pinos na figura abaixo :

Beaglebone - headers

No Beaglebone também temos as funções de portas digitais, analógicas, PWM, SPI e I2C, entre outras. Para uma lista completa de todas as possíveis configurações dos headers, acesse, no menu lateral, a opção HEADERS.

Ajuste de luminosidade de um led utilizando potenciômetro

Neste exemplo vamos utilizar uma porta analógica do BeagleBone para ler o valor de um potenciômetro e utilizar esse valor para alterar a luminosidade de um led. Monte o circuito abaixo :

Circuito BeagleBone Black - Potenciometro
No circuito acima o potenciômetro está ligado às portas 32 (VDD_ADC), 34 (GNDA_ADC) e 40 (AIN1). As portas 32 e 34 fornecem a tensão máxima que as portas analógicas do BeagleBone podem suportar, que é de 1,8V. Nunca ultrapasse esse valor ou as portas do BeagleBone podem ser danificadas.

Na área de código do browser, digite ou copie o seguinte programa :

//Programa : Potenciometro - BeagleBone
//Autor : FILIPEFLOP

var b = require('bonescript');


setInterval(teste, 100);


function teste()
{
  b.analogRead('P9_40', acionaled); 
}

function acionaled(x)
{
  b.analogWrite('P9_14', x.value, 2000, printJSON);
}


function printJSON(x) 
{ 
  console.log(JSON.stringify(x)); 
}

Visite a página oficial do BeagleBone para ter mais informações sobre o BeagleBone Black, tutoriais, forum e outros produtos da linha.

 Gostou? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Posts Relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Um Comentário

  1. Existe algum aplicativo ou software que eu possa usar para colocar o código da Beaglebone?