Definir BeagleBone GPIOs como saídas

Muitas vezes, a melhor maneira de se familiarizar com uma nova plataforma de trabalho, tais como a BeagleBone, é para acender e desligar um LED no comando. Para fazer isso, você define um GPIO (entrada de uso geral / saída) como output- você deseja controlar o estado de um componente.

Ligação do circuito para um LED

Primeiro, você configurar o circuito. Use as seguintes etapas para conectar o seu circuito. Para as localizações dos pinos utilizados nas etapas a seguir, referem-se a esta figura:

image0.jpg
  1. Desligue o BeagleBone.

    Antes de ligar as coisas na BeagleBone, é geralmente uma boa idéia para desligá-lo e remover a fonte de energia a partir dele.

  2. Ligar o placa de ensaio.

    Usando um fio de ligação, ligue fonte de 3.3V do BeagleBone - pinos de 3 ou 4 no P9 cabeçalho - para a faixa positiva da placa de ensaio.

  3. Configure o seu chão.

    Conectar o pino GND do BeagleBone -por exemplo, pinos 1 e 2 em ambos os cabeçalhos - a faixa negativa da placa de ensaio.

  4. Ligue um pino GPIO para o conselho.

    Este exemplo usa GPIO 40 - pino 14 no cabeçalho P9. Use um jumper para conectá-lo a uma linha vertical na sua placa de ensaio.

  5. Conecte um resistor.

    Sem um resistor, um LED queima facilmente. A 220 ou 470 resistor deve cair voltagem suficiente sem reduzir o brilho do LED demais. Ligue a resistência ao jumper que você puxou do pino 14, que liga eficazmente o resistor para GPIO 40.

  6. Ligue o LED.

    Ligue perna negativa do LED - o cátodo, que normalmente é a perna mais curta - a faixa negativa da placa de ensaio onde estão ligados chão no Passo 3. Conecte a perna positiva - o ânodo - ao resistor.

No circuito que você acabou de construir o poder vem de GPIO 40 em vez de uma bateria, que pode ligar e desligar escrevendo no prompt de comando.

image1.jpg

Na Etapa 2, você conectar o pino de 3.3V do BeagleBone à placa de ensaio. Na realidade, para este projecto específico, fazer essa conexão não serve para nada. Em geral, é uma boa prática, no entanto, ter sempre as faixas horizontais na sua placa de ensaio alimentado com uma tensão constante e com uma terra do circuito.

Se você fosse para conectar o resistor ao trilho positivo sobre a sua placa de ensaio, o LED se acender, mas você não tem nenhum controle sobre ele. Sinta-se a vontade para experimentar!

Controlando o GPIO

Porque o pino 14 já é um pino GPIO por padrão, você pode configurá-lo como saída. Depois de ter feito isso, você pode facilmente controlar se deseja que o levou a ser ligado ou desligado, definindo o pino para alto ou baixo, respectivamente.

Você precisa estar logado como raiz usuário acessar os GPIOs. Se você estiver logado como debian, você pode facilmente mudar a raiz da seguinte forma:

debian @ beaglebone: ~ $ sudo su

Na linha de comando, depois de ligar para o seu BeagleBone, mude para o GPIO diretório com o seguinte comando:

root @ beaglebone: ~ # cd / sys / class / GPIO

Se você listar o conteúdo deste diretório, você pode ver que gpio40 não está lá:

root @ beaglebone: / sys / class / GPIO # lsexportação gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexport

Você tem que exportá-lo pela primeira vez por escrito na exportar arquivo, o que cria uma pasta que contém arquivos que podem ser alterados para controlar o estado do pino. Na linha de comando, digite o seguinte:

root @ beaglebone: / sys / class / GPIO # echo 40> exportroot @ beaglebone: / sys / class / GPIO # lsexportação gpio40 gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexport

Para controlar o estado do pino, mude para o diretório gpio40 recém-criado:

root @ beaglebone: / sys / class / GPIO # cd gpio40root @ beaglebone: / sys / class / GPIO / gpio40 # lsactive_LOW valor uevent subsistema de alimentação borda direção

o direção arquivo define se esta GPIO pin funciona como um pino de entrada ou saída. Porque você quer controlar seu estado escrevendo para ele, o seu PIN é suposto ser uma saída:

root @ beaglebone: / sys / class / GPIO / gpio40 # echo out> direção

o valor arquivo contém o valor do GPIO: HIGH (1) Ou LOW (0). Assim, para ligar o LED, digite o seguinte comando:

root @ beaglebone: / sys / class / GPIO / gpio40 # echo 1> valor

Agora, o seu LED deve estar em:

image2.jpg

Se o LED parece fraca, tente um valor menor resistência. Não vá inferior a 220, apesar de tudo.

Para desligá-lo, use o seguinte comando:

root @ beaglebone: / sys / class / GPIO / gpio40 # echo 0> valor

Quando você é feito com um alfinete, é muitas vezes uma boa idéia para unexport-lo para que ele se torna disponível para diferentes fins. Você unexport o pino escrevendo para o arquivo unexport. A seguinte série de comandos unexports gpio40 e mostra que o seu directório tiver sido eliminado.

root @ beaglebone: / sys / class / GPIO / gpio40 # cd ..root @ beaglebone: / sys / class / GPIO # lsexportação gpio40 gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexportroot @ beaglebone: / sys / class / GPIO # echo 40> unexportroot @ beaglebone: / sys / class / GPIO # lsexportação gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexport

Se você for bem sucedido em controlar o LED, você pode ter acabado de tomar o seu primeiro grande passo em eletrônica digital. Embora acender um LED pode não parecer muito, o conceito por trás é praticamente o mesmo que controlar um motor, uma campainha ou uma tela de LCD!

menu