Definir BeagleBone GPIOs como entradas
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.
O procedimento de fixação de um pino GPIO (entrada finalidade geral / saída) como entrada é muito semelhante à configuração de um GPIO como uma saída técnica. A principal diferença é que você ler a partir de a valor arquivo em vez de escrever nele. Para verificar essa diferença, você precisa para construir o circuito mostrado aqui.
Agarre um botão e siga estes passos:
Ligação do circuito para um botão
Para conectar um botão para o BeagleBone, siga estes passos e consulte o diagrama para o circuito mostrado.
Desligue o BeagleBone.
Remova a fonte de alimentação e desligar o BeagleBoard através da linha de comando.
Poder-se a placa de ensaio, e configurar o chão.
Usando fios jumper, você pode conectar o pino 1 ou 2 de qualquer cabeçalho para a faixa negativa - estes pinos fornecem chão - e conectar o pino 3 ou 4 do cabeçalho P9 para a faixa positiva - estes fornecem 3.3V.
Os pinos BeagleBone não são tolerantes 5V! Tenha cuidado para conectar o pino 3 ou 4 de P9 cabeçalho, não pinos 5, 6, 7 e 8.
Ligue um pino GPIO à placa de ensaio.
Você pode usar qualquer um dos pinos que são rotulados como GPIOs. Este exemplo usa GPIO 45, que é o pino 11 de P8 cabeçalho. Ligar a uma linha vertical na placa de ensaio através da utilização de uma ligação em ponte.
Coloque o seu botão na placa de ensaio.
Se você estiver usando um botão, você deve colocá-lo no centro da placa de ensaio para separar os pares de pernas.
Ligue uma das pernas do botão para o trilho positivo.
Use um jumper para estabelecer esta conexão.
Ligue a outra perna ao pino de entrada.
Conectá-lo ao jumper que vem do pino BeagleBone do GPIO que você está usando - pino 11 de P8 cabeçalho neste exemplo.
Conecte um resistor pull-down.
UMA resistor pull-down é uma resistência usado para evitar a existência de um curto-circuito quando o botão de pressão está fechada. Ligue-o a partir da faixa do solo para o pé do botão de pressão, que liga ao pino de entrada. Um resistor de 10K deve fazer o trabalho.
Quando o botão de pressão está fechada (que é o mesmo que dizer que o botão é pressionado), tendo uma resistência de pull-down faz com que a corrente - que segue o caminho da menor resistência, de acordo com a Lei de Ohm - ir ao pino de entrada, em vez de o chão. Assim, existe uma leitura de voltagem no pino de entrada.
Controlando o GPIO
Quando você é feito com o circuito, você pode passar para a linha de comando. Comece por exportar o pino que você usa como entrada, digitando os seguintes comandos:
root @ beaglebone: / sys / class / GPIO # echo 45> exportroot @ beaglebone: / sys / class / GPIO # lsexportação gpio45 gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexport
Em seguida, defina o pino como entrada, escrevendo para o direção Arquivo:
root @ beaglebone: / sys / class / GPIO # cd gpio45root @ beaglebone: / sys / class / GPIO / gpio45 # echo em> direção
Se o botão não for pressionado, a 3.3V a partir da faixa positiva de sua placa de ensaio não tem nenhuma maneira de alcançar o pino GPIO, então se você ler a partir do valor arquivo, você deve obter 0 porque o pino está ligado à terra:
root @ beaglebone: / sys / class / GPIO / gpio45 # valor cat0
Se está a pressionar o botão, no entanto, o valor arquivo deve conter 1, indicando que o pino está no estado HIGH:
root @ beaglebone: / sys / class / GPIO / gpio45 # valor cat1
Unexport o pino quando estiver pronto:
root @ beaglebone: / sys / class / GPIO / gpio45 # cd ..root @ beaglebone: / sys / class / GPIO # echo 45> unexportroot @ beaglebone: / sys / class / GPIO # lsexportação gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexport
Por si só, lendo o estado de um botão (pressionado ou não pressionado, alto ou baixo) não soar muito excitante. Você pode usar pinos de entrada para controlar saídas. Você instruir o seu BeagleBone para ler de um alfinete e, em seguida, siga as instruções tais como # 147 Se ele é alto, fazer - se é baixa, faça # 148;.