-
Notifications
You must be signed in to change notification settings - Fork 0
[Doc BBBlue] BoneScript & Roboticscape
Para a competição da TRUFES a linguagem de programação escolhida foi o JavaScript, devido a sua versatilidade e curva de aprendizado. Para suportar funções do BeagleBone, utiliza-se duas bliblotecas. BoneScript e RoboticsCape.
A biblioteca RoboticsCape será usada para controle de motores e seus respectivos encoders, já a BoneScript será utilizada para GPIO e outras abordagens.
Para baixar essa biblioteca é necessário instalar o npm primeiro, e isso pode ser feito digitando:
sudo apt install npm
Com isso instalado, podemos baixar a biblioteca:
sudo npm install --global roboticscape
rc.initialize()
Essa função inicializa as funções de hardware e retorna um inteiro. Esse número pode ser:
- -2 : O conteúdo presente em PID_FILE não é válido.
- -1 : Existia um programa rodando e não foi possível fecha-lo normalmente, então foi necessário dar um "kill".
- 0 : Nenhum programa estava rodando.
- 1 : Existia um programa rodando e foi possível fecha-lo normalmente.
Essa função é necessária no início do código para utilizar as outras funções aqui presentes.
rc.motor(motor, valor)
É responsável pelo funcionamento dos motores. Recebe como argumento 'motor' e 'valor', porém pode só receber 'valor'. Motor pode receber 1, 2, 3 ou 4, referente ao motor que você está utilizando na função.
Valor pode receber tanto strings quanto números, e eles podem ser:
- "ENABLE", habilita TODOS os motores. Caso você não especifique qual motor quer rodar, após um enable, todos motores vão girar.
- "DISABLE", Desabilita TODOS os motores.
- "FREE_SPIN", Coloca um motor em um estado de aceleração zero permitindo que ele gire livremente.
- "BREAK", Conecta os pares de terminais do motor juntos, o que faz com que o motor lute contra ele mesmo. Isso o torna resistente à rotação.
- Um número de 0 a 1 correspondente à potência do motor, sendo 1 = 100% e 0 = 0%.
rc.encoder(ação, valor)
Essa função é a responsável pelos encoders, porém só três deles, aqueles que são categorizados como EQEP que são os encoder 1 a 3. O quarto encoder é categorizado como PRU, e tem sua função específica.
Ação pode receber 2 valores
- 0, Um é pra leitura e outro pra escrita
- 1, Um é pra leitura e outro pra escrita
Valor varia sua funcionalidade de acordo com a ação escolhida. Caso a ação seja de escrita, valor será escrito naquela posição do encoder. Esse método é geralmente usado pra zerar o encoder.
Caso a ação seja leitura, valor é o encoder no qual será lido o valor do encoder. No caso da leitura, valor so vai de 1 a 3.
Vale ressaltar que quando só é passado 1 argumento pra função, por padrão esse argumento será o numero do encoder e a ação escolhida é a leitura.
Elogios, Sugestões e Reclamações, entre em contato com o SAC