Índice:

Posso usar o TinyLiDAR no Scratch ?: 3 etapas
Posso usar o TinyLiDAR no Scratch ?: 3 etapas

Vídeo: Posso usar o TinyLiDAR no Scratch ?: 3 etapas

Vídeo: Posso usar o TinyLiDAR no Scratch ?: 3 etapas
Vídeo: Technical Presentation of tinyLiDAR's Command Terminal Sketch 2024, Novembro
Anonim
Posso usar o TinyLiDAR no… Scratch?
Posso usar o TinyLiDAR no… Scratch?

Recebemos solicitações de vez em quando para perguntar se o tinyLiDAR funcionará em sua plataforma de computação específica. Embora o tinyLiDAR tenha sido projetado como um sensor LiDAR simples de usar para o Arduino UNO, não há nada que o impeça de ser usado em outras plataformas como o Raspberry Pi (conforme mostrado no instrutível anterior aqui). Ou seja, se a plataforma tiver um barramento I2C e puder suportar o recurso de alongamento de clock da especificação I2C. Então - e se a sua placa nem mesmo suportar I2C? - não importa o tempo esticar o tempo … Bem, esse seria um cenário desafiador, mas na realidade ele realmente existe para a linguagem de programação visual ultra popular chamada "Scratch".

Pesquise no Google se você nunca ouviu falar dela antes, mas em poucas palavras, é uma ótima primeira linguagem para qualquer pessoa colocar sua mente no reino da programação. Scratch foi criado pelo MIT Media Lab e existe há mais de 16 anos. É a linguagem goto para ensinar crianças a programar em todo o mundo. Qualquer pessoa pode começar a usá-lo gratuitamente - já que normalmente funciona na sua área de trabalho em um navegador da web. Verifique aqui se quiser.

TL; versão DR

SIM! Com um novo recurso chamado "Modo de Emulação Ultrassônica" no tinyLiDAR f / w versão 1.3.9

Passo 1: Scratch What?

Existem muitos sabores de Scratch na natureza agora. Os entusiastas da robótica tendem a usar as versões focadas em GPIO como ScratchGPIO ou outras versões modificadas como ScratchX que podem ser feitas para suportar qualquer 'hardware experimental'. Todos esses são ótimos para usuários avançados, mas as versões principais que são instaladas por padrão no pi serão nosso foco para este instrutível, pois eles têm opções de hardware bastante limitadas.

O Raspbian Stretch Desktop do pi vem com duas versões do Scratch pré-instaladas. Ou seja, "Scratch" e "Scratch 2". Estaremos usando o primeiro, também conhecido como "Scratch 1.4 (NuScratch)" e o usaremos "offline" para que possamos usar o recurso de servidor GPIO.

Você pode baixar a imagem oficial do pi para desktop aqui.

Por alguma razão, os criadores do Scratch decidiram oferecer suporte a apenas alguns dos sensores mais comumente disponíveis em grandes empresas como a Lego etc. Curiosamente, eles também decidiram adicionar suporte para o HC-SR04. Este é, obviamente, o sensor de distância ultrassônico onipresente que simplesmente emite uma única largura de pulso proporcional à distância medida.

A precisão da medição pode variar um pouco dependendo da temperatura do ar, umidade e material alvo, conforme mencionado aqui, aqui e aqui. Mas, em geral, praticamente qualquer plataforma pode medir a saída de largura de pulso deste dispositivo.

Etapa 2: Novo recurso

Novo Recurso
Novo Recurso

A saída de pulsos precisos em escala de microssegundos não é um problema para nós no tinyLiDAR, pois temos temporizadores de hardware sobressalentes de alta resolução dentro do micro de 32 bits integrado. O tinyLiDAR também sempre se calibra automaticamente para a temperatura ao ligar, então nenhum ajuste adicional é necessário para o ambiente operacional.

Vamos fazê-lo

Ok - poderíamos, então apenas adicionamos um novo recurso ao tinyLiDAR (a partir do firmware 1.3.9) chamado "Modo de Emulação Ultrasônica". Você pode acessá-lo usando o comando "u" do Terminal da GUI do tinyLiDAR atualizado.

Usá-lo mudará as configurações na memória não volátil para que o tinyLiDAR se pareça com um sensor ultrassônico genérico, mesmo depois de retirá-lo da alimentação. Você pode alterá-lo de volta ao modo I2C normal pressionando o botão de reinicialização e emitindo o comando "az". Mais detalhes estão no manual do usuário.

Para tornar a vida ainda mais simples, estamos disponibilizando o sensor tinyLiDAR predefinido para este novo modo de emulação ultrassônica em nosso site. Basta solicitar a versão "-u".

Olha mãe, sem solda

Nenhuma solda e também nenhuma placa de ensaio é necessária, pois os cabos "Grove para Fêmea 4 pinos" incluídos se conectam diretamente aos pinos de cabeçalho pi do Raspberry. O pino de disparo é o fio amarelo e o pino de eco é o fio branco. Preto e vermelho são para poder, é claro. Consulte a imagem principal acima para obter detalhes.

Aliás, demos um passo adiante e fizemos o pino amarelo se comportar como o sensor PING))) que usa um único fio para os sinais de disparo e eco.

Por causa disso, agora você pode fazer medições com o tinyLiDAR usando o esboço ultrassônico "PING" padrão que vem com cada IDE Arduino sem nenhuma alteração de código! Você também pode tentar sem demora.

Claro, você pode definir parâmetros como alta precisão, longa distância, etc. de suas medições LiDAR antes de selecionar o comando "u" e ele fará essas medições toda vez que vir o pino de disparo cair, conforme mostrado no diagrama acima.

Perigo, Will Robinson

Observe que o sensor ultrassônico SR04 precisa de alguns resistores para evitar que a alimentação de + 5v danifique seu pi. Mas como o tinyLiDAR é executado nativamente a partir de + 3.3v, não há necessidade de nenhum resistor para fazer interface com o pi:)

Etapa 3: codificando

Codificando
Codificando
Codificando
Codificando

Então, qual é exatamente o código de que precisamos para o tinyLiDAR funcionar no Scratch?

Que bom que você perguntou!

É apenas uma questão de arrastar alguns blocos de transmissão simples, como mostrado nas fotos acima.

Para habilitar os pinos GPIO, podemos emitir o "broadcast gpioserveron" Em seguida, para configurar o pino de disparo, emitimos o "broadcast config16out" Em seguida, podemos configurar o pino de eco por "broadcast config26in" e, em seguida, iniciar as medições por "broadcast ultrasonictrigger16echo26". Isso fará com que as medições sejam feitas continuamente em uma cadência de cerca de 140 ms. Você pode ler os dados medidos usando o bloco de detecção "valor do sensor de distância ultrassônico".

Bem, é isso por agora, obrigado por ler e não deixe de conferir o pequeno programa de demonstração divertido do Scratch (compartilhado aqui) que criamos chamado "tinyLiDAR_catch_me" e … Scratch On!;)

Recomendado: