Definir gpios beaglebone 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ê quiser controlar o estado de um componente.

Ligação do circuito para um LED

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

  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 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, os pinos 1 e 2 em ambos os cabeçalhos - a faixa negativo da placa de ensaio.

  4. Ligue um pino GPIO para o conselho.

    Este exemplo utiliza GPIO 40 - pino 14 no cabeçalho de 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 trilha negativo da placa de ensaio onde estão ligados à terra 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 você ligar e desligar escrevendo no prompt de comando.

Na Etapa 2, você conectar o pino 3.3V do BeagleBone à placa de ensaio. Na realidade, para este projecto específico, fazendo essa ligaçã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 na sua placa de ensaio, o LED se acender, mas você não tem controle sobre ele. Sinta-se livre para experimentá-lo!

Controlando o GPIO

Porque 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ê está logado como debian, você pode facilmente mudar a raiz da seguinte forma:



debian @ beaglebone: ~ $ sudo su

Na linha de comando, após a conexão com 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 desse 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 gt; exportarroot @ 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 direcção

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

root @ beaglebone: / sys / class / GPIO / gpio40 # echo fora gt; direção

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

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

Agora, o seu LED deve estar em:

Se o LED parece fraca, tente um valor menor resistência. Não vá menores do que 220, porém.

Video: Beaglebone: GPIO Programming on ARM Embedded Linux

Para desligá-lo, use o seguinte comando:

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

Quando você é feito com um pino, 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. O seguinte sucessão de comandos unexports gpio40 e mostra que seu diretório foi eliminada.

Video: BeagleBone Black GPIO (Input) Pin Configuration

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 gt; unexportroot @ beaglebone: / sys / class / GPIO # lsexportação gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexport

Se você for bem sucedido em controlar o LED, você pode apenas ter tido 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!


Publicações relacionadas