Olá amigos, hoje teremos um post diferente dos anteriores. Apresentaremos exemplos de como controlar a interface Cyberbox utilizando o software educacional SuperLogo. Serão dois exemplos que ajudarão a compreender a utilização das portas de entrada analógicas e digitais. Com base nos valores do sensores das portas de entrada uma ação será executada e assim uma porta de saída será acionada.
Estes exemplos foram desenvolvidos durante o rápido mini curso que ministramos no Centro Social Marista no bairro Sabará em Curitiba onde a Cyberbox será utilizada com adolescentes do bairro.

Material necessário:
Para este experimento precisaremos de alguns materiais:
- 1 Interface Cyberbox, seu cabo serial e fonte de alimentação
- 1 Versão do SuperLogo que pode ser baixado gratuitamente do site da Unicamp
- 1 Biblioteca de controle da Cyberbox para Superlogo que pode ser baixado Imbrax
- 1 Potenciômetro de 10k Ω
- 1 Motor DC de 12V
- 1 Sensor Reed Switch
- 1 Buzzer 12V
- 1 Alguns centímetros de fio AWG 22 pode ser necessário
- 1 Alicate e chave de fenda
Para saber mais sobre o sensor Reed Switch acesse aqui, para saber mais sobre o Buzzer acesse o link.
O que faremos?
Dois experimentos que farão a leitura das portas de entrada e com base nos sinais adquiridos tomarão uma decisão. O primeiro exemplo fará a leitura de um potenciômetro conectado a porta de entrada analógica, com base no valor do potenciômetro um motor DC será ligado ou desligado. O segundo exemplo fará o acionamento de um buzzer conectado na porta de saída baseado no sinal da entrada onde temos o sensor reed switch conectado.
Como ligar os acessórios?
Agora começa a parte divertida e prática, a montagem dos acessórios dos exemplos. Siga o texto que a montagem é simples e rápida.
Exemplo 1
Utilizaremos neste exemplo um motor DC de 12V, a seguir a imagem do motor que utilizamos.

Também usaremos um potenciômetro, que neste caso foi um de 10kΩ.

O motor foi conectado na porta de saída número 2. Ligue um dos fios do motor na porta 2 e o outro fio na porta auxiliar GND.

O potenciômetro que chamaremos de pot é um resistor variável, ou seja, sua resistência varia de acordo com o movimento do seu eixo. Girando no sentido horário ou anti-horário variamos a resistência e assim a tensão no seu pino de saída varia. Assim, sendo temos para cada movimento do eixo diferentes níveis de tensão. Esse comportamento o caracteriza como um elemento analógico e por isso ele vai ligado nas portas analógicas da Cyberbox.
O pot foi conectado na porta de entrada analógica 1. Seus três fio foram ligados da seguinte forma:
Fio vermelho, alimentação foi conectado na porta auxiliar VCC (onde temos 5Volts). O fio azul, de sinal foi conectado na porta de entrada 1. E o fio preto, terra foi ligado na porta auxiliar GND. Veja a imagem para fica bem claro.

Pronto, foi bem rápido hein?!
Exemplo 2
No segundo exemplo utilizaremos o sensor reed switch, visualize abaixo o que utilizamos. Note que ao centro temos o ímã que quando esta próximo do sensor fecha seu contato e quando esta longe os contatos permanecem abertos.

Também temos o buzzer que será visualizado diretamente na imagem de conexão.
Como montar?
O reed switch é um elemento digital pois ele admite duas opções. 0 ou 1, ligado ou desligado ou ainda uma tensão de 0V ou 5Volts como em nosso exemplo. No nosso caso, um dos terminais do reed switch que chamaremos de RS foi ligado na porta auxiliar VCC a qual fornece uma tensão de 5V. O outro terminal foi ligado na porta digital 1. Assim, quando o ímã se aproxima do sensor a tensão de 5V da porta auxiliar é transmitida para a porta digital. Internamente a Cyberbox considera essa tensão de 5V como um sinal verdadeiro ou ligado.

O buzzer foi ligado na porta de saída 5. Ligue o fio vermelho na porta de saída 5 e o fio preto na porta auxiliar GND. Pronto, visualize abaixo a imagem do buzzer.

Programação:
Agora que conectamos os acessórios vamos ligar os cabos da Cyberbox, ligue primeiro o cabo serial na Cyberbox e depois no Computador. Em seguida ligue o plugue de alimentação na Cyberbox e depois na tomada. Pronto, os 2 leds vermelhos devem acender.
Agora podemos mergulhar a programação com a linguagem LOGO que é bem simples, como mencionado anteriormente usaremos o Superlogo fornecido pela Unicamp.
Clique no ícone do Superlogo na sua área de trabalho ou selecione o link onde ele foi instalado. Normalmente seu arquivo executável esta em C:\Program Files\SuperLogo\SLogo.exe. Para facilitar chamaremos o Superlogo de SL.
Depois de aberto o SL é necessário carregar a biblioteca de comandos de controle da Cyberbox para o SL. Para isso clique no menu Arquivo e em seguida clique Abrir. Agora selecione o arquivo cblogo22.lgo e clique no botão Abrir.
Na linha de comando do SL digite: "cyberbinit" (sem as aspas duplas) e pressione ENTER. A mensagem: [Biblioteca carregada com êxito] deverá aparecer na sua tela.
Agora é necessário mais um comando, digite "SR" (sem as aspas duplas) e pressione ENTER.
Ótimo agora já podemos controlar a Cyberbox.
Exemplo 1
Abra o menu Procedimento e crie um novo. Copie o código abaixo dentro da tela que foi aberta.
A explicação do código está inserida na forma de comentários.
---
; Procedimento para controle de um motor usando um potenciômetro.
aprenda controle_pot_motor
; Este comando aciona a porta analógica 1
apa 1
; ativetemporizador cria um bloco de código que será executado em background pelo SL a cada
; 500 milisegundos. Esse bloco de código é identificado pelo número 13
ativetemporizador 13 500 [
; le porta analogica 1
lpa 1
; mostra para usuario valor da variável da porta analogica 1
escreva :VAL_ENTA1
; Aqui temos a lógica, se o valor do pot for maior que 500 executamos o comando
; ligue 2 senão executamos o comando desligue 2
senao :VAL_ENTA1 > 500 [
ligue 2
] [
desligue 2
]
]
fim
---
Depois de inserir o código na tela "Editor de Procedimentos" selecione o menu Área de Trabalho e clique em Atualizar. Pronto, agora você pode executar o procedimento criado. Na janela de comandos digite: controle_pot_motor.
Deve ser exibido na tela um número indicando o valor do pot, gire o pot no sentido horário e anti-horário e verifique se o motor DC liga ou desliga conforme o valor fica maior que 500.
Exemplo 2
Copie o código abaixo para o SL.
---
; Procedimento para controle de um buzzer a partir de um reed switch.
aprenda rs_buzzer
; habilita porta digital 1
apd 1
; ativetemporizador cria um bloco de código que será executado em background pelo SL a cada
; 500 milisegundos. Esse bloco de código é identificado pelo número 13
ativetemporizador 13 500 [
; le o valor da porta digital 1
lpd 1
; escreve na tela se o valor é 0 ou 1
escreva :VAL_ENTD1
; se o valor da entrada 1 for igual a 1 então executamos o comando ligue 5 que
; aciona a porta de saída 5 onde o buzzer esta conectado. Caso contrário executamos
; o comando para desligar a porta 5
senao :VAL_ENTD1 = 1 [
ligue 5
] [
desligue 5
]
]
fim
---
Depois de inserir o código na tela "Editor de Procedimentos" selecione o menu Área de Trabalho e clique em Atualizar. Pronto, agora você pode executar o procedimento criado. Na janela de comandos digite:rs_buzzer.
Deve ser exibido na tela um número indicando o valor do sensor rs, 0 ou 1. Aproxime o ímã ao sensor reed switch e veja que o valor deve mudar para 1, afastando volta para 0. Assim, quando o valor é 1 ou verdadeiro o buzzer é ligado e então emite o som.
Legal não? Agora você pode explorar outros acessórios como botões e quem sabe desenvolver um aparelho de som. Ou pode usar o sensor de luz para controlar o acionamento de uma lâmpada quando esta escuro ou até mesmo usar um sensor de temperatura de quando esquentar acionar um motor com um pá para esfriar. Tudo depende da sua imaginação.
O SL possui uma sistema de ajuda embutido dentro do aplicativo, para acessá-lo selecione o menu Ajuda e depois clique em Indice. Lá você encontrará informações sobre a programação do SL.
Para saber mais sobre a interface Cyberbox, suas características, compatibilidade, recursos clique Cyberbox. Mais detalhes sobre SuperLogo acesse aqui.
Siga nosso twitter para novidades, twitter.com/imbraxlab.
Dúvidas, comentários e sugestões são bem vindas.
Abraço, Diego
twitter.com/imbraxlab















