Definir gpios beaglebone 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ê quiser controlar o estado de um componente.
Conteúdo
O procedimento para definir 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 de pressão
Para ligar-se um botão de pressão para a BeagleBone, seguir estes passos e referem-se ao diagrama para o circuito mostrado.
Video: GPIO LED Blinking Tutorial - Beaglebone Black
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 de cabeçalho P9 para a pista positivo - estes fornecem 3.3V.
Os pinos BeagleBone não são 5V tolerante! Tenha cuidado para conectar o pino 3 ou 4 de P9 cabeçalho, não pinos 5, 6, 7, e 8.
Conectar um pino GPIO para a placa de ensaio.
Você pode usar qualquer um dos pinos que são rotulados como GPIOs. Este exemplo utiliza GPIO 45, que é o pino 11 de P8 cabeçalho. Conectá-lo a uma linha vertical na placa de ensaio através do uso de um jumper.
Coloque o 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 para o 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. Ligá-lo a partir da faixa do solo para o pé do botão de pressão, que liga ao pino de entrada. Um resistor 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 se segue o caminho de 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 gt; exportarroot @ 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:
Video: Beaglebone Black LESSON 5: Blink LED from the GPIO Pins
root @ beaglebone: / sys / class / GPIO # cd gpio45root @ beaglebone: / sys / class / GPIO / gpio45 # echo em gt; 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:
Video: Beaglebone Black LESSON 8: Read Buttons Using GPIO Pins from Python
root @ beaglebone: / sys / class / GPIO / gpio45 # valor cat0
Se você está pressionando 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 gt; 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 soa muito emocionante. 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 “Se ele é alto, fazer