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.

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

  1. Desligue o BeagleBone.

    Remova a fonte de alimentação e desligar o BeagleBoard através da linha de comando.

  2. 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.

  3. 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.

  4. 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.

  5. Ligue uma das pernas do botão para o trilho positivo.



    Use um jumper para estabelecer esta conexão.

  6. 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.

  7. 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 - se é baixa, faça .”


Publicações relacionadas