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 MakerHero, 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 : MakerHero

//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 : MakerHero

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, e outros produtos da linha.

 Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

Um Comentário

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