Garra Fischertecnik: mudanças entre as edições
Criar página em branco |
Adicionando o processo de montagem |
||
| Linha 1: | Linha 1: | ||
'''Garra Fischertecnik''' | |||
=='''Introdução'''== | |||
Este projeto foi desenvolvido por Vitor Luiz Bortoloti Pereira e adaptado por Ivan Aguiar Mendonça. A adaptação desse projeto | |||
consiste em rodar a garra com um código Python através de uma página HTML, utilizando como biblioteca principal a caninos_sdk | |||
e a socketIO, e o mini-computador Labrador-32bits como host do servidor. | |||
Vale ressaltar também que essas peças utilizadas nesse projeto são exclusivas da Fischertecnik, então para obtê-las será mais | |||
dificultoso. | |||
=='''PREPARANDO O AMBIENTE DE DESENVOLVIMENTO'''== | |||
Para o projeto utilizaremos os seguintes itens: | |||
Sistema: | |||
- Labrador 32 bits | |||
- Debian | |||
- Python == 3.7 (latest version) | |||
- caninos_sdk == 0.5 (latest version) | |||
- gpiod == 1.5.4 (latest version) | |||
'''Componentes:''' | |||
- 6 botões fischertecnik | |||
- 8 resistores | |||
- 2 Motores 9v CC Enconder da Fischertecnik | |||
- 2 Motores 9v CC da Fischertecnik | |||
- 2 Driver de motor L298N | |||
- 1 Protoboard | |||
- 1 Fonte externa de 9v | |||
Explicação rápida sobre os componentes | |||
Switch: | |||
O switch nada mais é que um botão disponibilizado para mandar um sinal INPUT para a labrador, através desse sinal podemos realizar | |||
algumas ações, como definir o limite de movimentação da garra e a contagem de rotações realizadas pelos motores da garra (projeto). | |||
Motor CC 9v: | |||
Este motor é usado para movimentar a garra para frente e para trás, e para esticar e retrair a garra, permitindo assim pegar objetos. | |||
Motor Enconder 9v CC da Fischertecnik: | |||
Este motor é responsável por rotacionar, subir e descer a garra. Ele também possui um codificador que ajuda a realizar a contagem | |||
das rotações do motor, e por conta disso, possui 3 terminais a mais que o motor anterior. | |||
Driver de motor L298N: | |||
O driver de motor L298N é uma peça que possibilitar receber uma quantidade maior de energia proveniente de uma fonte externa, além | |||
disso ela permite acoplar dois componentes. Neste projeto trabalharemos com duas, um a cada dois motores. | |||
'''Montagem:''' | |||
Switch: | |||
O positivo do switch pode receber diretamente a voltagem de 3.3v liberada pelo pino 1 da Labrador, porém o retorno dele deve ser | |||
ligado a um resistor que será conectado ao ground e outro fio a um pino de INPUT que será responsável por receber um sinal caso | |||
o botão seja pressionado. | |||
Motor Enconder 9v da Fischertecnik: | |||
A montagem deste motor é um pouco mais complexa, ela exige uma fonte externa de 9v, apesar do driver de motor suportar uma carga | |||
maior como a de 12v, o motor enconder exige uma alimentação de 9v em um de seus terminais, além da alimentação já proveniente de | |||
seu lado positivo, então caso utilize uma carga superior a 9v, lembre-se de usar uma peça para reduzir a potência enviada. | |||
Vamos começar pelo lado positivo e negativo, o v1 e v2 do motor devem ser ligados no OUT 1 e OUT 2 do driver de motor (não há | |||
problema se inverter, mas corrija o código de acordo com sua vontade), enquanto o segundo motor será ligado no OUT3 e OUT4. Feito | |||
isso, ligaremos os terminais deste motor, começando pelo GND (ground) que deverá ser aplicado no GND do driver de motor que terá | |||
um fio conectado ao GND da Labrador; o VDD corresponde a potência do motor, ele quem receberá os 9v proveniente da fonte externa, | |||
para que isso ocorra você deve conectá-lo no mesmo local que provê energia para o driver de motor, no nosso caso será na entrada | |||
de 12v; por fim, o terceiro terminal receberá uma energia de 3.3v proveniente da Labrador que passará por um resistor enquanto | |||
outro fio partindo do mesmo circuito levará a informação para um pino de INPUT na Labrador. Seguido os mesmos passos com o outro | |||
motor, agora devemos configurar 4 pinos OUTPUT da Labrador, sendo dois para cada motor que deverá ser colocado nos pinos IN1, IN2, | |||
IN3 e IN4, sendo o IN1 e IN2 correspondente ao motor conectado no OUT1 e OUT2 e, o IN3 e IN4 correspondente aos motores conectados | |||
no OUT3 e OUT4, esses serão os fios responsáveis por enviar um sinal da Labrador para o driver de motor fazer com que os motores | |||
realizem alguma ação. Por fim, o driver de motor será alimentado pela fonte externa de energia, sendo o lado positivo de 9v | |||
acoplado na primeira entrada, onde o terminal VDD do motor foi colocado, ou seja, a entrada de 12v do driver; o lado negativo da | |||
bateria deverá ser aplicado no GND do driver de motor, no mesmo local de onde os grounds dos motores estão conectados. | |||
Motor 9v CC da Fischertecnik: | |||
A montagem destes motores é bem semelhante ao Motor Enconder, mas bem mais simples, já que esses motores não possuem terminais. | |||
Aqui você conectará os motores nos pinos OUT do driver de motor, e os pinos OUTPUT da Labrador nos IN do driver de motor. A fonte | |||
externa poderá ser de 9v ou 12v e o lado positivo será conectado na entrada de 12v enquanto o lado negativo na entrada GND que | |||
deverá estar conectador com o GND da Labrador. | |||
=='''CÓDIGO FONTE'''== | |||
Aqui você deve ESCREVER o seu código fonte com comentários. | |||
Exemplo: | |||
import caninos_sdk as k9 #importamos as bibliotecas necessárias para utilizarmos a labrador | |||
labrador = k9.Labrador() #criamos nossa variável labrador, para uso dos recursos da placa | |||
labrador.pin15.enable_gpio(k9.Pin.Direction.OUTPUT, alias="led_status") #ativamos o pino 15 (da labrador), como saída e definimos um apelido para ele | |||
labrador.pin18.enable_gpio(k9.Pin.Direction.INPUT, alias="button1") #ativamos o pino 18 (da labrador), como entrada e definimos um apelido para ele | |||
#um laço de repetição para 6 iterações | |||
while True: | |||
if labrador.button1.read() == 1: # verificamos o estado do botão, caso seja ALTO, ligamos o LED | |||
labrador.led_status.high() | |||
else: # se não, delsigamos o LED | |||
labrador.led_status.low() | |||
=='''REFERÊNCIAS'''== | |||
Aqui você deve listar qualquer página que você tenha usado como base para criar o seu projeto. | |||
=='''RECOMENDAÇÕES'''== | |||
Aqui você deve escrever qualquer coisa que não cabe em outros lugares e que você ache pertinente ao seu projeto. | |||
Você pode também pode copiar e preencher este documento[https://docs.google.com/document/d/13DGOq3WX72bodbcvn35K9yOBWndCjzIFwk92ORpHpOs/edit?usp=sharing] e nos enviar. | |||
Edição das 13h30min de 21 de junho de 2024
Garra Fischertecnik
Introdução
Este projeto foi desenvolvido por Vitor Luiz Bortoloti Pereira e adaptado por Ivan Aguiar Mendonça. A adaptação desse projeto
consiste em rodar a garra com um código Python através de uma página HTML, utilizando como biblioteca principal a caninos_sdk
e a socketIO, e o mini-computador Labrador-32bits como host do servidor.
Vale ressaltar também que essas peças utilizadas nesse projeto são exclusivas da Fischertecnik, então para obtê-las será mais
dificultoso.
PREPARANDO O AMBIENTE DE DESENVOLVIMENTO
Para o projeto utilizaremos os seguintes itens:
Sistema:
- Labrador 32 bits
- Debian
- Python == 3.7 (latest version)
- caninos_sdk == 0.5 (latest version)
- gpiod == 1.5.4 (latest version)
Componentes:
- 6 botões fischertecnik
- 8 resistores
- 2 Motores 9v CC Enconder da Fischertecnik
- 2 Motores 9v CC da Fischertecnik
- 2 Driver de motor L298N
- 1 Protoboard
- 1 Fonte externa de 9v
Explicação rápida sobre os componentes
Switch:
O switch nada mais é que um botão disponibilizado para mandar um sinal INPUT para a labrador, através desse sinal podemos realizar
algumas ações, como definir o limite de movimentação da garra e a contagem de rotações realizadas pelos motores da garra (projeto).
Motor CC 9v:
Este motor é usado para movimentar a garra para frente e para trás, e para esticar e retrair a garra, permitindo assim pegar objetos.
Motor Enconder 9v CC da Fischertecnik:
Este motor é responsável por rotacionar, subir e descer a garra. Ele também possui um codificador que ajuda a realizar a contagem
das rotações do motor, e por conta disso, possui 3 terminais a mais que o motor anterior.
Driver de motor L298N:
O driver de motor L298N é uma peça que possibilitar receber uma quantidade maior de energia proveniente de uma fonte externa, além
disso ela permite acoplar dois componentes. Neste projeto trabalharemos com duas, um a cada dois motores.
Montagem:
Switch:
O positivo do switch pode receber diretamente a voltagem de 3.3v liberada pelo pino 1 da Labrador, porém o retorno dele deve ser
ligado a um resistor que será conectado ao ground e outro fio a um pino de INPUT que será responsável por receber um sinal caso
o botão seja pressionado.
Motor Enconder 9v da Fischertecnik:
A montagem deste motor é um pouco mais complexa, ela exige uma fonte externa de 9v, apesar do driver de motor suportar uma carga
maior como a de 12v, o motor enconder exige uma alimentação de 9v em um de seus terminais, além da alimentação já proveniente de
seu lado positivo, então caso utilize uma carga superior a 9v, lembre-se de usar uma peça para reduzir a potência enviada.
Vamos começar pelo lado positivo e negativo, o v1 e v2 do motor devem ser ligados no OUT 1 e OUT 2 do driver de motor (não há
problema se inverter, mas corrija o código de acordo com sua vontade), enquanto o segundo motor será ligado no OUT3 e OUT4. Feito
isso, ligaremos os terminais deste motor, começando pelo GND (ground) que deverá ser aplicado no GND do driver de motor que terá
um fio conectado ao GND da Labrador; o VDD corresponde a potência do motor, ele quem receberá os 9v proveniente da fonte externa,
para que isso ocorra você deve conectá-lo no mesmo local que provê energia para o driver de motor, no nosso caso será na entrada
de 12v; por fim, o terceiro terminal receberá uma energia de 3.3v proveniente da Labrador que passará por um resistor enquanto
outro fio partindo do mesmo circuito levará a informação para um pino de INPUT na Labrador. Seguido os mesmos passos com o outro
motor, agora devemos configurar 4 pinos OUTPUT da Labrador, sendo dois para cada motor que deverá ser colocado nos pinos IN1, IN2,
IN3 e IN4, sendo o IN1 e IN2 correspondente ao motor conectado no OUT1 e OUT2 e, o IN3 e IN4 correspondente aos motores conectados
no OUT3 e OUT4, esses serão os fios responsáveis por enviar um sinal da Labrador para o driver de motor fazer com que os motores
realizem alguma ação. Por fim, o driver de motor será alimentado pela fonte externa de energia, sendo o lado positivo de 9v
acoplado na primeira entrada, onde o terminal VDD do motor foi colocado, ou seja, a entrada de 12v do driver; o lado negativo da
bateria deverá ser aplicado no GND do driver de motor, no mesmo local de onde os grounds dos motores estão conectados.
Motor 9v CC da Fischertecnik:
A montagem destes motores é bem semelhante ao Motor Enconder, mas bem mais simples, já que esses motores não possuem terminais.
Aqui você conectará os motores nos pinos OUT do driver de motor, e os pinos OUTPUT da Labrador nos IN do driver de motor. A fonte
externa poderá ser de 9v ou 12v e o lado positivo será conectado na entrada de 12v enquanto o lado negativo na entrada GND que
deverá estar conectador com o GND da Labrador.
CÓDIGO FONTE
Aqui você deve ESCREVER o seu código fonte com comentários.
Exemplo:
import caninos_sdk as k9 #importamos as bibliotecas necessárias para utilizarmos a labrador
labrador = k9.Labrador() #criamos nossa variável labrador, para uso dos recursos da placa
labrador.pin15.enable_gpio(k9.Pin.Direction.OUTPUT, alias="led_status") #ativamos o pino 15 (da labrador), como saída e definimos um apelido para ele
labrador.pin18.enable_gpio(k9.Pin.Direction.INPUT, alias="button1") #ativamos o pino 18 (da labrador), como entrada e definimos um apelido para ele
#um laço de repetição para 6 iterações
while True:
if labrador.button1.read() == 1: # verificamos o estado do botão, caso seja ALTO, ligamos o LED
labrador.led_status.high()
else: # se não, delsigamos o LED
labrador.led_status.low()
REFERÊNCIAS
Aqui você deve listar qualquer página que você tenha usado como base para criar o seu projeto.
RECOMENDAÇÕES
Aqui você deve escrever qualquer coisa que não cabe em outros lugares e que você ache pertinente ao seu projeto.
Você pode também pode copiar e preencher este documento[1] e nos enviar.