Lição 3: Definir o Modo de Interação com Pets

Você já pensou em fazer com que seu animal de estimação eletrônico não apenas exiba expressões, mas também interaja com você? Neste projeto, o sensor de luz no UNIHIKER K10 simulará a "cabeça" do animal, enquanto os sensores de luz esquerdo e direito no Maqueen Plus simularão as "patas". Essa configuração permite que você interaja com seu pet por meio de movimentos simples, fazendo com que ele sinta sua "presença" e responda de acordo. Vamos explorar juntos como tornar seu animal de estimação eletrônico mais vivo e divertido!

Objetivo da Tarefa

Utilizar sensores de luz para configurar modos interativos do animal de estimação eletrônico, permitindo que ele responda de formas diferentes conforme as ações do usuário. Quando o sensor de luz do UNIHIKER K10 for tocado, a expressão do pet mudará para "Rindo" e ele girará no mesmo lugar. Já quando o sensor de luz esquerdo do Maqueen Plus for tocado, a expressão mudará para "Travesso" e o pet se moverá para trás, como se estivesse desviando.

Pontos de Conhecimento

1. Compreender a função dos sensores na interação robótica

2. Entender o papel do fluxo "Entrada - Processamento - Saída" no design de interações

3. Aprender como obter valores de sensores de luz e realizar julgamento por limiar

Lista de Materiais

Hardware necessário:

HARDWARE LIST
1 Maqueen Plus V3
1 UNIHIKER K10

Software Utilizado: 

Software de programação Mind+ (versão V1.8.1 RC3.0 ou superior) Disponível para download em: https://mindplus.cc/download-en.html

 

 

Exercício Prático

Este projeto é realizado passo a passo por meio de duas tarefas para projetar e implementar o modo interativo do animal de estimação eletrônico. A Tarefa 1 concentra-se na aquisição de dados dos sensores e na inicialização da expressão do pet, enquanto a Tarefa 2 aprimora a lógica interativa e o feedback dinâmico com base nos dados dos sensores.

 

Tarefa 1: Coleta de Dados de Luz e Inicialização da Expressão

Ao ler dados dos sensores de luz, é possível entender as condições de iluminação ambiente e inicializar a expressão do pet.

 

Tarefa 2: Projetar a Lógica Interativa

Com base nas variações dos dados coletados dos sensores de luz, projeta-se e implementa-se a lógica de reação dinâmica. Isso permite que o pet exiba diferentes emoções ou ações de acordo com mudanças no ambiente, aumentando a interatividade e vivacidade. A implementação específica é a seguinte:

Quando o sensor de luz do UNIHIKER K10 é tocado, o pet gira no mesmo lugar e muda sua expressão para "Rindo".

Quando o sensor de luz esquerdo do Maqueen Plus é tocado, o pet se move para trás, simulando uma reação tímida ou evasiva, e muda sua expressão para "Travesso".

 

Tarefa 1: Coleta de Dados de Luz e Inicialização da Expressão

1.Conexão do Hardware

Utilize um cabo de dados USB 3.0 para Type-C para conectar o carro robótico montado ao computador. Observação: A extremidade Type-C deve ser conectada ao UNIHIKER K10.

 

 

2.Preparação de Software"

Abra o Mind+ e realize os procedimentos de configuração conforme ilustrado abaixo.

 

 
3.Programação

(1)Leitura dos Valores do Sensor de Luz

Nesta tarefa, é necessário visualizar os valores do sensor de luz através da saída serial. Para isso, utilize o comando "Porta serial em string Embrulhar" para exibir os resultados da leitura do sensor.

 

 

Para obter a intensidade da luz ambiente no UNIHIKER K10, utilize o comando "ler luz" na "Área de Comandos do UNIHIKER K10" e incorpore-o dentro do comando "Porta serial em string Embrulhar" para enviar o resultado à porta serial.

 

 

 

Para obter os dados do sensor de luz do carro Maqueen Plus, acesse a área de comandos "Extension Board" e selecione o comando "Ler valor de luz Esquerda". Da mesma forma, incorpore-o dentro do comando "Porta serial em string Embrulhar" para exibir o resultado.

 

 

Para obter os dados do sensor de luz direito, basta alterar "left" para "right" no comando "read light intensity left".

 

 

 

(2) Inicialização da Exibição da Expressão

Quando o pet está em estado não interativo, definimos sua expressão inicial como "entediado". Na Lição 2, todos os arquivos de imagens de expressão já foram baixados. Nesta lição, utilizaremos diretamente a imagem de expressão "7-Entediado".

Você lembra como exibir a expressão na tela do UNIHIKER K10? Utilize o comando "Armazenar em cache a imagem local" e exiba a imagem na posição (X:0, Y:0). Clique no ícone "Configurações" no meio do comando, selecione "Abrir" no menu suspenso e escolha a imagem de expressão da pasta local (onde a imagem está salva). Ao definir as propriedades da imagem, defina a largura como 240 e a altura como 320 para garantir que a imagem seja exibida completamente na tela.

 

 

Em seguida, utilize o comando "mostrar conteúdo em cache" para atualizar a imagem em cache na tela. Como a expressão é exibida dinamicamente, utilize o comando "espere 0.1 segundo" para controlar o tempo de exibição de cada quadro.

 

 

As três imagens restantes podem ser configuradas uma a uma usando o mesmo método - carregadas e exibidas em sequência para formar uma animação completa da expressão "Entediado". O programa completo é mostrado abaixo:

 

 

4. Execução do Programa

Antes de executar o programa, certifique-se de que o UNIHIKER K10 está corretamente conectado ao computador via cabo USB. Uma vez confirmada a conexão, clique no botão "Executar". Após a conclusão da execução do programa, a imagem da expressão "Entediado" será exibida dinamicamente na tela do UNIHIKER K10.

 

 

Para visualizar os valores detectados pelos sensores de luz, basta abrir a janela da porta serial na área de exibição do terminal do Mind+, onde você poderá ver os dados de saída do sensor em tempo real. Experimente cobrir um dos sensores de luz com a mão e observe se os valores mudam!

 

Observação: Para visualizar os dados via porta serial, o UNIHIKER K10 deve estar conectado ao computador usando um cabo USB.

 

 

5. Experimente

Como os valores dos sensores de luz são atualizados muito rapidamente na porta serial, é difícil determinar diretamente qual valor corresponde a qual sensor. Então, existe alguma maneira de nos ajudar a distinguir rapidamente a intensidade luminosa detectada por cada sensor? Tente pensar de forma criativa - existe um método de exibição mais claro ou uma estratégia de rotulagem que possa ajudar a resolver esse problema?

Tarefa 2: Projetar Lógica Integrative

 

Tarefa 2: Projetar Lógica Interativa

1. Programação

Com base na Tarefa 1, continue aprimorando o programa adicionando lógica interativa. Toda a lógica da tarefa pode ser dividida em: Interação com a Cabeça, Interação com o Pé Esquerdo e Interação com o Pé Direito.

 

(1) Interação com a Cabeça

Quando o usuário cobre o sensor de luz no UNIHIKER K10 (simulando uma ação de "afagar a cabeça"), o pet responde com uma reação "Rindo": primeiro gira no próprio eixo, depois muda para uma expressão "Rindo" e exibe esse estado na tela.

Crie uma nova função chamada "afagar a cabeça" e complete as seguintes operações:

 

 

Controle de Movimento

Utilize o bloco "Configurar motor direção Girar para velocidade" na seção "Placa de Expansão" para fazer os motores esquerdo e direito girarem em direções opostas na mesma velocidade (100), permitindo que o pet gire no próprio eixo.

 

 

Girar para Esquerda: Defina a direção do motor esquerdo como "trás" e a direção do motor direito como "frente", mantendo este estado por 3 segundos.

 

 

Girar para Direita: Defina a direção do motor esquerdo como "frente" e a direção do motor direito como "trás", mantendo este estado por 3 segundos.

 

 

Parar: Utilize a instrução "Configurar motor parar" para interromper todos os motores.

 

 

Troca de Expressão

Utilize a instrução "Armazenar em cache a imagem local" para carregar o arquivo de imagem "Rindo.png", em seguida use a instrução "Mostrar conteúdo em cache" para mostrar ou atualizar o conteúdo na tela. Defina a velocidade de alternância de expressão para 0,1 segundos.

 

 

Utilize o comando "repita 3 vezes" para inserir a instrução "mostrar conteúdo em cache" dentro do loop, permitindo que a expressão seja exibida 3 vezes consecutivas.

 

 

Acionar a Função "afagar a cabeça"

Adicione lógica condicional no programa principal utilizando o comando "ler luz" para obter o valor atual do sensor de luz.

 

 

Utilize a instrução "se...então" para chamar a função "afagar a cabeça" quando o valor detectado for menor que 50 (ou seja, a luz está reduzida porque a mão cobre o sensor).

 

 

(2)Interação com o pé esquerdo Quando o usuário toca a área do "pé esquerdo" na placa principal do Maqueen Plus V3 (tocando o sensor de luz/fotossensor), o pet primeiro se move para trás à esquerda, depois para trás à direita para simular um movimento evasivo, e então muda para uma expressão "Travesso".

 

Crie uma nova função chamada "Interação com o pé esquerdo".

 

 

Controle de Movimento

Utilize o bloco "Configurar motor direção Girar para velocidade" da seção "Placa de Expansão" para configurar o motor esquerdo para mover-se no sentido reverso a uma velocidade de 200 por 0,2 segundos, em seguida utilize o bloco "Configurar motor parar" para interromper todos os motores.

 

 

Em seguida, utilize o bloco "Configurar motor direção Girar para velocidade" para configurar o motor direito para mover-se no sentido reverso a uma velocidade de 200 por 0,2 segundos, e utilize o bloco "Configurar motor parar" para interromper todos os motores.

 

 

Inclua o programa de movimento evasivo do pet dentro de um bloco "repita 3 vezes", fazendo com que o pet execute o movimento de recuo três vezes consecutivas.

 

 

Troca de Expressão

Já praticamos várias vezes a função de alternância de expressões faciais. Desta vez, vamos selecionar a expressão "Travesso" para exibir!

Observação: Certifique-se de que a expressão seja alternada três vezes consecutivas novamente!

 

 

Acionar a Função "Interação com o pé esquerdo"

adicione lógica condicional ao programa principal utilizando o comando "Ler valor de Luz Esquerda" da PlacaExpansão para obter valores do sensor esquerdo.

 

 

Utilize o comando "se...então". Quando o valor detectado for inferior a 50 (indicando que a luz está reduzida, como quando uma mão cobre o sensor Light-L), chame a função "Interação com o pé esquerdo".

 

 

O programa completo segue abaixo:

 

 

 

2. Execução do Programa

Antes de executar o programa, verifique se o UNIHIKER K10 está corretamente conectado ao computador através de um cabo USB. Após confirmar a conexão, clique no botão "Executar" e aguarde o carregamento do programa.

 

Quando o programa iniciar, a tela do UNIHIKER K10 exibirá dinamicamente uma expressão "Entediada".

 

Ao cobrir o sensor de luz na parte superior do dispositivo (simulando um afago na cabeça), o carro girará para a esquerda por 3 segundos, depois para a direita por 3 segundos, alternando para uma expressão "Rindo".

 

Cobrindo o sensor Light-L no lado esquerdo do carro (simulando tocar seu pé esquerdo), o veículo realizará movimentos evasivos para trás-esquerda e trás-direita três vezes consecutivas, mudando então para uma expressão "Travesso".

 

 

3. Experimente

Na Tarefa 2, já concluímos a programação para "Interação com a Cabeça" e "Interação com o Pé Esquerdo". Agora, tente utilizar o mesmo método para completar a função "Interação com o Pé Direito"!

 

Dica: Durante a interação com o pé direito, o carro deve primeiro mover-se para trás à direita e exibir uma expressão adequada.

 

Canto do Conhecimento

1. Compreendendo o Papel dos Sensores na Interação Robótica

O que é um sensor? Um sensor funciona como um "órgão sensorial" do robô, permitindo que ele perceba o ambiente externo. Os sensores convertem informações como luz, distância e temperatura em sinais elétricos que são enviados para a placa controladora principal para processamento. Vejamos alguns exemplos de sensores básicos:

 

 

Como os sensores ajudam os robôs a alcançar interação? Para um robô interagir, ele deve primeiro "perceber" ações humanas ou mudanças no ambiente. Os sensores servem como a ponte - o "canal de informação" - para esse processo.

 

Adquirir informações externas: Permite ao robô "sentir" se você está interagindo com ele.

 

Disparar respostas comportamentais: Quando mudanças específicas são detectadas, o robô executa ações correspondentes (como girar ou mudar expressões).

 

Permitir interação humano-robô: O robô "responde" às suas ações com base em dados dos sensores, aumentando tanto a diversão quanto a inteligência.

 

2. O Papel do "Entrada - Processamento - Saída" no Design de Interação

Na interação entre robôs e humanos, qualquer processo comportamental completo normalmente envolve três estágios-chave: input, processamento e output.

 

 

O fluxo "Entrada - Processamento - Saída" é a lógica central do design de interação. Sem uma avaliação adequada do input, o robô não pode responder com precisão. Você pode pensar em cada design de interação como esse fluxo: basta determinar qual sensor usar para perceber o quê, em quais condições considerar a interação "acionada" e como deseja que o robô "responda". Com esse pensamento claro, você pode projetar interações robóticas divertidas e envolventes!

 

 

 

Desafie-se

Nos projetos de interação anteriores, programamos o pet eletrônico para responder com ações variadas - como rotação, movimento reverso e troca de expressões - ao toque em diferentes sensores de luz. Agora, vamos adicionar sons para que o pet possa expressar emoções através de tons variados no buzzer, criando uma experiência interativa mais vívida! Você pode experimentar:

Adicionar um bip alegre na "Afagar a cabeça", fazendo o pet emitir "bip bip" enquanto gira;

Incluir efeitos sonoros lúdicos na "Interação com o pé esquerdo", como tons alternados agudos e graves para aumentar a diversão;

Criar sua própria "biblioteca de expressões sonoras", associando tons únicos a cada interação.

Experimente! Seu pet eletrônico consegue transmitir emoções e reações através da combinação de movimentos, expressões e sons?

 

icon program.zip 852KB Download(0)
icon resource.zip 104KB Download(0)

💬 Já criamos uma comunidade WhatsApp exclusiva para usuários de língua portuguesa do Brasil! Entre para o grupo e receba as informações mais atualizadas, novidades incríveis de projetos, descontos e muitas outras surpresas!

Whatsapp comunidade: https://chat.whatsapp.com/KTCdPBQDDWTGHlS5LoO8HC
License
All Rights
Reserved
licensBg
0