• Nenhum resultado encontrado

3 FUNDAMENTOS TEÓRICOS E CONHECIMENTOS BASILARES

3.2 Conhecimentos fundamentais para a orientação de trabalhos de

3.2.7 Linguagens de programação e robótica educacional

3.2.7.1 Logo

A palavra “Logo” é originada do grego logos, que significa conhecer. Trata-se de uma linguagem de programação interativa que possibilita trabalhar de modo prático o raciocínio, os conceitos de matemáticos, de geometria e de lógica (PAPERT, 1985).

Esta linguagem de programação foi desenvolvida nos anos 60 pelo Professor Seymour Papert no instituto de Tecnologia de Massachusetts com a finalidade de ajudar a introduzir crianças e jovens do ensino regular ao estudo da programação de computadores fundamentando-se na teoria Construcionista.

O ambiente de programação Logo consiste em uma tartaruga gráfica que responde aos comandos inseridos pelo usuário possibilitando normalmente a construção de figuras geométricas e objetos gráficos.

Além de controlar o robô virtual (tartaruga) a linguagem Logo possui comando que controlam entradas e saídas da porta paralela do computador possibilitando o controle de dispositivos robóticos construídos e conectados no computador.

Tomamos como referência o Software de programação Super Logo 3.0 traduzido e adaptado no ano 2000 pelo Núcleo de Informática Aplicada à Educação da Universidade Estadual de Campinas. Apesar de já possuir 18 anos, este software tem apresentado potencial considerável no desenvolvimento de projetos de robótica educacional permitindo assim que o estudante avance para linguagens mais modernas.

Figura 46 – Janela gráfica do SuperLogo

Fonte: Arquivo pessoal (2019)

Neste software existem basicamente dois tipos de comandos, os comandos de translação e os comandos de rotação.

Tabela 9 – Comandos de translação e rotação da linguagem Logo

Tipo de comando Sintaxe de

programação Exemplo Resposta gráfica

PARA FRENTE (pf)

pf nº de pixels (passos)

pf 100

Tartaruga caminha 100 pixels (passos) para deixando frente um rastro desenhado. PARA TRÁS

(pt)

pt nº de pixels (passos)

pt 100

Tartaruga caminha 100 pixels (passos) para deixando trás um rastro desenhado. PARA

ESQUERDA (pe)

pe nº de graus pe 90

Tartaruga gira 90 graus para o lado direito (giro anti horário). PARA DIREITA

(pd)

pd nº de graus pd 90

Tartaruga gira 90 graus para o lado esquerdo (giro horário).

Fonte: elaborado pelo autor (2019)

A utilização destes comandos permite que a criança realize a construção de figuras gráficas na medida que orienta a trajetória da tartaruga, explicitando neste sentido a base da teoria construcionistas.

A tartaruga virtual, neste contexto, configura-se como um robô virtual que executa suas funções na medida que instruções são a ele atribuídas.

Além dos comandos de translação e rotação existem também comandos de programação avançada, que se configuram como funções. Estas funções atribuem diferentes propriedades as ações realizadas durante a movimentação da tartaruga.

A tabela a seguir apresenta um resumo destas funções:

Tabela 10 – Funções da linguagem Logo Tipo de

comando

Sintaxe de programação

Exemplo Resposta gráfica

REPITA (repita) repita nº de vezes [comando] repita 4 [pf 100 pd 90]

Tartaruga irá para frente 100 pixels e posteriormente girar 90 graus no sentido horário, repetindo esta seqüência 4 vezes, o que formará a figura de um quadrado

USE NADA (un)

un un

pf 100

Depois de executar este comando você observará que ao se movimentar a tartaruga não deixará nenhum rastro.

USE

BORRACHA (ub)

ub un

pf 100

Depois de executar este comando você observará que ao passar por cima de rastros anteriormente deixados, a tartaruga irá agora apagá-los.

USE LÁPIS (ul)

ul ul

Repõe o lápis como função da tartaruga permitindo agora que novamente a mesma deixe rastros ao se movimentar

Fonte: elaborado pelo autor (2019)

É possível programar um algoritmo a ser executado pela tartaruga de tal forma que cada comando não seja necessariamente digitado de forma individual. Isto é feito por meio de um comando especial chamado “aprenda”.

Este comando permite a aglutinação de diversas linhas de comandos sendo a este conjunto atribuído um nome específico, que será neste caso, uma nova função.

Por exemplo, a tartaruga não possui nativamente em sua programação informações sobre a execução de movimentos que plotam na interface gráfica a figura de um quadrado, mas podemos “ensiná-la” a fazer um quadrado quando solicitado.

Para isso é necessário que dentro da caixa de programação aberta na função “aprenda” seja inserida as seguintes linhas de comando:

aprenda quadrado pf 100 pd 90 pf 100 pd 90 pf 100 pd 90 pf 100 pd 90 fim

Ao executar a função “quadrado” todas as linhas de comando apresentadas acima serão executadas sequencialmente, formando a figura de um quadrado na interface gráfica.

Esta função de fato é a que se configura como programação, pois como o próprio nome sugere, trata-se de elaborar um plano de execução de funções.

Para o contexto educacional essa atividade permite trabalhar o planejamento e a abstração do estudante, levando-o a pensar sobre do fenômeno.

Além de realizar a programação da tartaruga virtual, pode-se por meio de alguns comandos especiais realizar a comunicação entre o usuário e hardware especialmente desenvolvidos conectados através da porta paralela de computadores.

Para iniciar a comunicação com a porta paralela utiliza-se o comando: abraporta lpt1; ao executar este comando o software irá estabelecer comunicação com a porta paralela conectada ao endereço lpt1 do computador por meio de um conector chamado DB25.

O DB25 é um conector que se localiza na parte posterior do gabinete dos computadores convencionais. É por meio deste conector que o cabo paralelo conecta diferentes hardwares ao computador permitindo assim a troca de dados.

Quando a tensão elétrica em um pino do DB25 está entre 0 à 0,4v, convenciona-se que ele está em nível lógico 0 (zero).

O nível lógico 1 (hum) é atribuído ao(s) pino(s) em que a tensão elétrica se encontra entre 3,1 a 5v.

A figura abaixo mostra os 25 pinos de um conector padrão DB25:

Figura 47 – Esquema dos pinos da porta paralela (DB25)

Fonte: ROGERCOM.COM (2019)44

Utilizando alguns softwares específicos, pode-se utilizar a porta paralela para realizar o acionamento de dispositivos conectados a ela.

Na figura 47 é apresentado um exemplo de circuito elétrico conectado à porta paralela que tem como finalidade o acionamento de 8 LEDs conectados ao computador por meio do DB25. O terminal do catodo (K) dos LEDs devem ser ligados aos terminais dos resistores, que estão conectados aos pinos do DB25.

Figura 48 – Circuito de acionamento de LEDs via DB25

Fonte: ROGERCOM.COM (2019)45

44 Disponível em: <http://www.dxyzmecatronica.xpg.com.br/paralela/intro/intro.html> Acesso em jan de 2019 45 Disponível em: <http://www.dxyzmecatronica.xpg.com.br/paralela/intro/intro.html> Acesso em jan de 2019

A construção de uma interface de comunicação que utilize a porta paralela para controlar os circuitos eletrônicos desenvolvidos pode ser desenvolvida utilizando-se dos seguintes materiais:

• Capa de caderno velho • 8 resistores de 470 kΩ • 8 leds de 2 mm • Grampeador • Fio preto de 2 mm • Fio vermelho de 2mm • Fita isolante

• OPCIONAL: Solda de estanho • Plug DB25

A seguir é apresentado o passo a passo para construção da interface de comunicação utilizando os materiais acima listados:

1) Corte 8 pedaços de fio preto em 50 cm cada;

2) Observe na parte da frente do plug DB25 existem pequenos números que identificam cada pino da porta paralela;

3) Prenda um fio em cada um dos seguintes pinos: 2, 3, 4, 5, 6, 7, 8 e 9; 4) Na ponta de cada fio prenda um resistor de 470 kΩ;

5) Corte um pedaço de capa de caderno na medida de 10 cm x 20 cm e grampeie cada um dos resistores conforme mostra a figura abaixo:

Figura 49 – Resistores grampeados na capa de caderno

6) Prenda um led na ponta de cada resistores, lembrando de que a perninha que deve ser ligada é a menor (Ânodo);

Figura 50 – LEDs Grampeados e ligados aos resistores

Fonte: Arquivos pessoais (2017)

7) Una as pontas de todos os leds com um fio vermelho;

8) Corte um fio vermelho com cerca de 50 cm e ligue na ponta do terminal dos leds interligados, o outro terminal do fio vermelho deve ser ligado no pino 18 do plug DB25;

Figura 51 – Fio vermelho interconectando os LEDs

Fonte: Arquivos pessoais (2017)

Com a interface de comunicação pronta é possível realizar alguns testes para verificar como a Linguagem de programação Logo pode interagir com hardwares externos bem como por meio de outros softwares. Para isso serão necessários os seguintes itens:

• Microcomputador com entrada da porta paralela • Sistema operacional no mínimo Windows XP • Software UserPort

• Software Dspcom

Nos sistemas operacionais modernos, o acesso a algumas portas ligadas diretamente à placa mãe são bloqueados para garantir a segurança e integridade do equipamento. A porta paralela é uma destas portas “bloqueadas” e por conta disto deve ser devidamente liberada para ter sua funcionalidade controlada por software.

Isto pode ser feito por meio do programa UserPort desenvolvido por Tomas Frazon46, através do seguinte passo a passo:

“Descompacte o arquivo userport.zip em um diretório de trabalho.

No Windows 2000, NT ou XP, copie o arquivo UserPort.sys (que foi descompactado) para o diretório "...\system32\drivers".

Execute o programa UserPort.exe.

Insira os endereços para 0x378-0x37A (para LPT1) na caixa de textos superior esquerda e clique em ADD.

Pressione o Botão START.

Esse procedimento é necessário somente uma única vez. Você poderá desligar seu PC sem a necessidade de executar o UserPort novamente. Caso queira desinstalar o driver, basta executar o UserPort.exe e pressionar o botão Stop. Conecte sua interface no computador e reinicie.”

(SOARES, 2018)47

Após liberado o acesso a porta paralela é possível por meio dos comandos da linguagem Logo acionar cada um dos pinos da porta paralela conforme mostrado na tabela abaixo:

Tabela 11 – Descrição de funções de comandos avançados do Logo

Pino Descrição Comando Logo Descrição do comando 1 Saída de dados portasaídab 890 10 Libera 5v no pino 1 2 Saída de dados portasaídab 888 1 Libera 5v no pino 2 3 Saída de dados portasaídab 888 2 Libera 5v no pino 3 4 Saída de dados portasaídab 888 4 Libera 5v no pino 4 5 Saída de dados portasaídab 888 8 Libera 5v no pino 5 6 Saída de dados portasaídab 888 16 Libera 5v no pino 6 7 Saída de dados portasaídab 888 32 Libera 5v no pino 7 8 Saída de dados portasaídab 888 64 Libera 5v no pino 8 9 Saída de dados portasaídab 888 128 Libera 5v no pino 9 14 Saída de dados portasaídab 890 9 Libera 5v no pino 14 16 Saída de dados portasaídab 890 15 Libera 5v no pino 16 17 Saída de dados portasaídab 890 3 Libera 5v no pino 17

Fonte: dados da pesquisa (2019)

46 Programa disponibilizado em: < http://www.arnerobotics.com.br/eletronica/sources/Userport.zip

47 Disponível em: <http://www.arnerobotics.com.br/eletronica/UserPort_Logo_XP_2000.htm> Acesso em Jan de

Com a interface de comunicação exemplificada integrada aos comandos acima é possível, portanto utilizar a Linguagem de programação para controlar o acionamento dos LEDs.

Considerando as possibilidades de criação de diferentes mecanismos externos a unidade computacional, como manipuladores robóticos, robôs móveis, dentre outros, pode-se considerar a linguagem logo a via de comunicação mais simples. Isso pode ser demonstrado ao sugerir, por exemplo, que no lugar de cada LED, fosse integrado um mecanismo de acionamento de um motor.

Ao controlar a interface via linguagem logo consequentemente estaríamos controlando os motores que compõem o sistema em desenvolvimento.