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:
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.
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.
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.
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.
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.
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.
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:
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!