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