ROBO Pro Coding (PT)
Uso geral
Uso geral
O ROBO Pro Coding é um ambiente de desenvolvimento para a programação do novo controlador TXT 4.0 e, portanto, para a programação dos modelos da fischertechnik. O ROBO Pro Coding está disponível para Windows, macOS, Linux, iOS e Android e pode ser obtido dessas fontes.
O código mostrado pode ser usado para este modelo (à esquerda). A interface da web do ROBO Pro Coding tem a seguinte estrutura (os números referem-se às áreas destacadas na figura):
- Aqui está o que foi programado em blocos, em Python
- Este é o campo no qual os blocos são inseridos para programar
- A execução do programa é documentada no console
- Os pontos de interrupção são usados para programas de depuração. Eles definem certos pontos no código em que o programa é interrompido. Eles são configurados por meio do editor e consistem no nome do arquivo + número da linha.
- O conteúdo das variáveis pode ser visto em Termos.
- A pilha de chamadas mostra a nidificação das chamadas. Isso é particularmente útil ao se usar funções.
- Todos os blocos de programação podem ser encontrados aqui, classificados nas categorias de atuadores , sensores e processamento
- Esta linha é explicada separadamente em Cabeçalho
- Aqui, você pode adaptar o nível de aprendizagem ao usuário. Por exemplo, dependendo do nível, apenas os blocos mais importantes são exibidos.
Cabeçalho
No cabeçalho estão (da esquerda para a direita) os elementos operacionais para iniciar o programa, parar o programa, iniciar o depurador, começar o teste de interface, carregar o programa atual e conectar-se ao controlador.
Iniciar programas
Caso deseje iniciar seu programa a partir do ROBO Pro Coding, clique neste símbolo.
Parar programas
Caso queira interromper o programa antes que ele termine sozinho, toque neste símbolo.
O depurador
O depurador tem como objetivo facilitar a localização de erros no programa. Através do menu no canto superior direito, você pode percorrer o código passo a passo e, assim, simular a execução de um programa. O programa ainda reage à interação com sensores, por exemplo, ao pressionar-se um botão. Ao executar o programa, você pode ver no campo grande à esquerda em qual bloco você está e à direita em qual posição no código Python.
O teste de interface
Ao clicar no símbolo com os três controles deslizantes, esta janela se abre:
Aqui você pode ver todos os dispositivos conectados. No caso de atuadores, você pode usar o controle deslizante para verificar se eles estão funcionando. O valor medido é especificado para os sensores (por exemplo, o botão tem 1 porque está pressionado). O menu suspenso (triângulo pequeno) pode ser usado para especificar o que está conectado.
Carregar programas
Se você escreveu um programa e deseja que ele seja executado independentemente no controlador, pode carregá-lo no controlador usando este símbolo. Em seguida, ele aparecerá sob os arquivos no controlador. Ao tocar no nome do programa, você chegará à subpasta do programa. Aqui está um arquivo chamado "main.py". Clique aqui e o botão "abrir" no canto inferior direito deve se acender em verde. Pressione o botão "abrir" e outro menu será aberto, com quatro opções:
- Carregar: Carrega o programa para que você possa iniciá-lo a partir da tela inicial
- Carregamento automático: O programa é recarregado automaticamente da próxima vez que o controlador for iniciado
- Início automático: O programa é recarregado automaticamente e iniciado direto da próxima vez que o controlador for iniciado
- Excluir projeto: O programa é excluído do controlador
Conexão ao controlador
Como se conectar ao controlador foi explicado aqui.
Configuração do controlador
Para poder usar componentes como sensores e atuadores no programa, você deve conectá-los ao controlador, não apenas fisicamente, mas também no software. A configuração do controlador é sempre aberta automaticamente e pode ser acessada na parte superior direita, ao lado do programa principal.
O controlador e todos os componentes que podem ser conectados a ele são então exibidos na área esquerda. O controlador é arrastado para a área de programação. Você pode então conectar os componentes desejados ao controlador usando arrastar e soltar.
Carregar programas
Caso deseje salvar um programa, clique nas três linhas no canto superior esquerdo do site ROBO Pro Coding. Aqui, toque na opção "Exportar". Agora você pode escolher se deseja salvar seu programa localmente em seu dispositivo ou no GitLab.
Local: Depois de inserir o nome do seu programa, basta clicar em "Exportar" e o arquivo do programa estará no seu dispositivo.
GitLab: Depois de inserir o nome do seu programa e seguir os passos indicados para inserir o token de acesso pessoal, basta clicar em "Exportar" e o arquivo do programa será salvo na sua conta GitLab.
Atuadores
Saídas
O início de cada bloco de tempo
O bloco de tempo oferece a possibilidade de executar um programa se uma condição for satisfeita. Portanto, ele funciona de maneira semelhante a uma distinção de caso, mas não é executado apenas uma vez, e sim sempre que a condição for atendida durante todo o curso do programa. O início de cada bloco de tempo:
É uma abreviatura para a seguinte construção:
Você pode usar todas as condições desta categoria ao iniciar cada bloco de tempo da categoria de saídas.
Observação: A seção do programa dentro do iniciar de cada bloco de tempo deve ser mantida curta e não conter chamadas de bloqueio ou loops sem fim para que esta parte do programa possa ser processada rapidamente.
LEDs
Definir
Com os blocos Definir LED ... e Definir brilho do LED ..., é possível ligar e desligar o LED ou definir seu brilho para um determinado valor (de 0 a 512).
Lembrar
Com o bloco obter brilho do LED, o brilho de um LED pode ser acessado e posteriormente processado como um valor.
Consultar
Com os blocos o LED está ... e O brilho do LED está ..., você pode usar a atividade ou o brilho de um LED como condição. No exemplo, o brilho do LED está definido para 512, a menos que já tenha esse brilho.
Motores
O símbolo nos blocos do motor representa todos os motores que não são codificadores ou servo motores.
Definir
Com o bloco definido a velocidade do motor para [] ..., você pode definir a velocidade de um motor para um determinado valor (de 0 a 512).
Lembrar
Com o bloco obter velocidade do motor, a velocidade de um motor pode ser acessada e posteriormente processada como um valor.
Consultar
Com os blocos motor em execução e a velocidade do motor está ... , você pode usar a atividade ou a velocidade de um motor como condição.
Parar
Com o bloco parar motor ..., é possível parar um motor.
Compressor
Definir
Com o bloco definir compressor [] , você pode ligar ou desligar o compressor.
Consultar
Com o bloco o compressor está [] ,pode-se usar a atividade de um compressor como condição.
Válvula solenoide
Definir
Com o bloco definir válvula solenoide [] , você pode ligar ou desligar a válvula solenoide. Aqui, “ligado” significa que a válvula está aberta, e “desligado”, que a válvula está fechada.
Consultar
Com o bloco a válvula solenoide está [] , pode-se usar a atividade de uma válvula solenoide como condição.
Som
O controlador TXT 4.0 possui um alto-falante embutido e, portanto, oferece a possibilidade de reproduzir sons.
O início de cada bloco de tempo
O bloco de tempo oferece a possibilidade de executar um programa se uma condição for satisfeita. Portanto, ele funciona de maneira semelhante a uma distinção de caso, mas não é executado apenas uma vez, e sim sempre que a condição for atendida durante todo o curso do programa. O início de cada bloco de tempo:
É uma abreviatura para a seguinte construção:
Você pode configurar todas as condições da categoria som em iniciar cada bloco de tempo a este nível.
Observação: A seção do programa dentro do iniciar de cada bloco de tempo deve ser mantida curta e não conter chamadas de bloqueio ou loops sem fim para que esta parte do programa possa ser processada rapidamente.
Reproduzir
Arquivos de áudio pré-instalados
Com o bloco a seguir, você pode reproduzir um dos 29 sons pré-instalados. O arquivo de áudio desejado pode ser selecionado no menu suspenso (triângulo pequeno). Também é possível reproduzir o som em um loop contínuo. Para tanto, você deve marcar a caixa atrás do símbolo de loop.
Arquivos de áudio próprios
Caso queira tocar seu próprio som, você pode usar o bloco
. Para incorporar seu próprio som no bloco, você deve:
- Estar conectado ao controlador
- Digite o endereço IP do controlador no navegador (o IP que também foi usado para se conectar ao controlador deve ser selecionado aqui)
- Digite USER: ft, PASSWORD: fischertechnik na página aberta
- Abra a pasta de sons e use o sinal de mais para carregar o arquivo de áudio desejado no controlador (importante: o arquivo de áudio deve estar no formato wav)
- Digite no endereço "./nome do arquivo.wav" no bloco de codificação ROBO Pro
Também aqui existe a opção de reproduzir o som em loop contínuo.
Consultar
Para saber se um arquivo de áudio está sendo reproduzido, o bloco reproduzir som é usado . Isso pode ser usado como uma condição no programa.
Parar
Para interromper um som, basta usar o bloco parar reprodução de som no programa.
Exibição
Com os blocos da categoria exibição, a tela do controlador TXT 4.0 pode ser desenhada e tornada utilizável. Isso é feito em duas etapas:
- Configurar, isto é
- Abra um novo arquivo na categoria Display por meio do símbolo de página com o sinal de mais no canto superior esquerdo
- Arraste os elementos desejados para a área da grade (representa a parte configurável da tela)
- adaptar as especificações, se necessário.
- Programar, isto é
- No programa principal, usar os blocos da categoria Exibição para programar o efeito da interação com a exibição.
Blocos
Consulta de evento
O bloco E vento [] abre o valor de retorno de um elemento. Este bloco só pode ser utilizado nos programas de eventos. Nestes programas de eventos, o bloco refere-se automaticamente ao evento em cujo programa é utilizado. O tipo adequado para o valor de retorno pode ser selecionado através do menu suspenso (triângulo pequeno):
Campo de rotulagem
Com o elemento campo de rotulagem, você pode colocar um texto na tela. O símbolo no configurador de exibição é a etiqueta. Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho do campo de rotulagem em pixels,
- a posição do campo de rotulagem em pixels (o canto superior esquerdo do campo de texto está no ponto especificado),
- o nome do campo de rotulagem e
- o conteúdo do campo de rotulagem (este texto é mostrado quando a exibição é iniciada)
são definidos.
Com o bloco definir texto do campo de rotulagem ... o texto exibido pode ser alterado no decorrer do programa.
Entradas
O elemento Entrada permite que os(as) usuários(as) insiram texto por meio do controlador. O símbolo correspondente no configurador de exibição é o caractere "T". Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho do campo de entrada em pixels,
- a posição do campo de entrada em pixels (o canto superior esquerdo do campo de entrada está no ponto especificado),
- o nome do campo de entrada e
- o conteúdo do campo de entrada (este texto é mostrado quando a exibição é iniciada)
são definidos.
Com o bloco definir texto do campo de entrada... o texto exibido pode ser alterado no decorrer do programa.
Programa de entrada
O programa de entrada é executado quando uma entrada é concluída. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa de entrada é executado no bloco quando a entrada é concluída. O bloco Evento [] é definido no programa de entrada como "texto". Neste exemplo, a variável Nome é definida para o texto digitado, que é então utilizado no programa principal para alterar o texto digitado para produzir:
Instrumento de medição
A função do instrumento de medição pode exibir valores (nenhum valor menor que 1). O símbolo correspondente no configurador de exibição é a escala. Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho do instrumento de medição em pixels,
- a posição do instrumento de medição em pixels (o canto superior esquerdo do medidor está no ponto especificado),
- o nome do instrumento de medição,
- a orientação do instrumento de medição
- a faixa de valores representada pelo instrumento de medição e
- o valor do instrumento de medição mostrado quando o display é iniciado
são definidos.
Com o bloco definir valor do instrumento de medição em ... o instrumento de medição pode ser definido para o valor inserido. Este valor deve estar na faixa de valores definida anteriormente. Se o valor estiver fora da faixa de valores, um dos limites da faixa de valor é exibido, dependendo se o valor é muito grande ou muito pequeno.
Exibição de status
O indicador de status exibe alguma atividade. Dependendo do estado, acende ("ativo") ou não acende ("inativo"). O símbolo no configurador de tela é um diodo brilhante. Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho da exibição de status em pixels,
- a posição da exibição de status em pixels (o canto superior esquerdo dos indicadores de status está no ponto especificado),
- o nome da exibição de status,
- a cor da exibição de status e
- se a exibição de status deve estar ativa ou inativa no início,
são definidos.
Com o bloco definir exibição de status como ativa [], a exibição de status pode ser habilitada ou desabilitada. No menu suspenso (triângulo pequeno), você pode escolher se a exibição de status deve ser definida como ativa ou inativa.
Controle deslizante
O controle deslizante retorna valores dependendo de sua posição. A posição pode ser alterada pelo usuário por meio da tela sensível ao toque. O valor pode ser recuperado através do bloco Evento [] assim que o controle deslizante estiver em repouso. O valor recuperado é um número decimal. Se você quiser que o valor do controle deslizante seja um número inteiro, você deve usar o bloco redondo. O símbolo correspondente para o controle deslizante é a linha com o círculo. Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho do controle deslizante em pixels,
- a posição do controle deslizante em pixels (o canto superior esquerdo do controle deslizante está no ponto especificado),
- o nome do controle deslizante,
- a atividade do controle deslizante,
- a orientação do controle deslizante,
- o intervalo de valores coberto pelo controle deslizante e
- o valor em que o controlador está quando começa a exibição
são definidos.
com o bloco Definir valor do controle deslizante ... você pode mover o controle deslizante para um valor diferente.
Com definir controle deslizante como ativado [], você pode alterar a atividade por meio do menu suspenso (triângulo pequeno).
Programa do controle deslizante
O programa do controle deslizante é executado após o controle deslizante ser movido. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa do controle deslizante é executado no bloco quando o controle deslizante se move. O bloco Evento [] é definido quanto ao valor no programa do controle deslizante. Neste exemplo, a velocidade do motor é controlada usando-se o controle deslizante. O valor do controle deslizante deve ser arredondado porque o motor só aceita números inteiros como velocidade:
Botão
O botão é um campo rotulado que pode ser pressionado. Se você pressionar o botão, o programa do botão será executado assim que for liberado novamente. O símbolo associado ao botão é o quadrado com o rótulo "OK". Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho do botão em pixels,
- a posição do botão em pixels (o canto superior esquerdo do botão está no ponto especificado),
- o nome do botão,
- o texto no botão e
- a atividade do botão
são definidos.
Com o bloco definir controle deslizante como ativado [], você pode alterar a atividade por meio do menu suspenso (triângulo pequeno).
Programa de botões
O programa de botões é executado assim que o botão não estiver mais pressionado. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa de botões é executado no bloco quando o botão é clicado. O bloco Evento [] pode programar botões não usados, pois o botão não tem valor de retorno. Neste exemplo, o LED é ativado quando o botão é pressionado.
Interruptor
O interruptor pode ocupar duas posições e está sempre exatamente em uma dessas duas posições. Dependendo da posição, ele retorna verdadeiro ou falso . O símbolo correspondente para o interruptor é o oval com a ponta. Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho do interruptor em pixels,
- a posição do interruptor em pixels (o canto superior esquerdo do interruptor está no ponto especificado),
- o nome do interruptor,
- o texto próximo ao interruptor,
- a atividade do interruptor e
- o estado em que o interruptor deve estar quando o programa começa
podem ser ajustados.
O bloco
executa duas funções. Você pode definir a atividade (selecionar ativado no menu suspenso) ou o estado (marcad no menu suspenso) como verdadeiro ou falso.
Programa do interruptor
O programa do interruptor é executado sempre que o interruptor é acionado. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa do interruptor é executado no bloco quando o interruptor é desativado. O bloco Evento [] é definido no programa de ativação como "marcado", ele retorna verdadeiro ou falso. Este programa de exemplo liga o LED quando a chave é acionada, caso contrário, o LED é desligado:
Caixa de seleção
A caixa de seleção pode ter dois estados e está sempre exatamente em um desses dois estados. Dependendo da posição, ela retorna verdadeiro ou falso . O símbolo da caixa de seleção é o quadrado com a marca de seleção. Se você arrastar este símbolo para a área da grade, uma janela será aberta à direita. Aqui, em inspetor,
- o tamanho da caixa de seleção em pixels,
- a posição da caixa de seleção em pixels (o canto superior esquerdo da caixa de seleção está no ponto especificado),
- o nome da caixa de seleção,
- o texto próximo à caixa de seleção,
- a atividade da caixa de seleção e
- o estado em que a caixa de seleção deve estar quando o programa começa
são definidos.
O bloco seguinte executa duas funções. O menu suspenso (triângulo pequeno) pode ser selecionado para se escolher qual usar. Você pode definir a atividade (selecionar ativado no menu suspenso) ou o estado (marcad no menu suspenso) como verdadeiro ou falso.
Programa de caixa de seleção
O programa da caixa de seleção é executado sempre que a caixa de seleção é pressionada. Ele é escrito separadamente do programa principal. As variáveis funcionam em ambos os programas. O programa do interruptor é executado no bloco quando a caixa de seleção é desativada. O bloco Evento [] é definido no programa de ativação como "marcado", ele retorna verdadeiro ou falso. Este programa de exemplo liga o LED quando a caixa de seleção é acionada, caso contrário, o LED é desligado:
Motor
O início de cada bloco de tempo
O bloco de tempo oferece a possibilidade de executar um programa se uma condição for satisfeita. Portanto, ele funciona de maneira semelhante a uma distinção de caso, mas não é executado apenas uma vez, e sim sempre que a condição for atendida durante todo o curso do programa. O início de cada bloco de tempo:
É uma abreviatura para a seguinte construção:
Você pode configurar todas as condições da categoria motor em iniciar cada bloco de tempo a este nível.
Observação: A seção do programa dentro do iniciar de cada bloco de tempo deve ser mantida curta e não conter chamadas de bloqueio ou loops sem fim para que esta parte do programa possa ser processada rapidamente.
Motor
O símbolo nos blocos do motor representa todos os motores que não são codificadores ou servo motores.
Definir
Com o bloco definido a velocidade do motor para [] ..., você pode definir a velocidade de um motor para um determinado valor (de 0 a 512). A direção de rotação pode ser selecionada no menu suspenso (triângulo pequeno).
Lembrar
Com o bloco obter velocidade do motor, a velocidade de um motor pode ser acessada e posteriormente processada como um valor.
Consultar
Com os blocos motor em execução e a velocidade do motor está ... , você pode usar a atividade ou a velocidade de um motor como condição.
Parar
Com o bloco parar motor [], é possível parar um motor. O bloco parar motor [] oferece as opções de parar um motor diretamente ou por inércia. A opção desejada pode ser selecionada por meio do menu suspenso (triângulo pequeno):
Servo motor
Definir
Com o bloco Definir posição a ..., você pode definir a posição de um servo motor a um determinado valor (de 0 a 512). 0 e 512 são os valores para a deflexão máxima à direita e à esquerda. Com o valor 256, o servo motor está, correspondentemente, no meio.
Lembrar
A posição de um servo motor pode ser acessada com acessar posição e posteriormente processada como um valor.
Motor codificador
O motor codificador tem as mesmas funções de um motor normal, mas também oferece a opção de contar as rotações e controlar vários motores de maneira sincrônica. Uma revolução é dividida em ~64 etapas.
Definir
Com o bloco
você pode definir a velocidade de um motor para um determinado valor (de 0-512). A direção de rotação pode ser selecionada no menu suspenso (triângulo pequeno). Além disso, você pode inserir o número de etapas que o motor deve percorrer. Neste exemplo, o motor gira 100 etapas, ou seja, uma revolução e um terço. Como pode ser visto no exemplo, este bloco possui um sinal de mais, com a ajuda do qual vários motores podem ser controlados de maneira sincrônica. É possível sincronizar motores no mestre ou em uma extensão; a sincronização geral, por exemplo, entre os motores do mestre e uma extensão, não é possível.
Observação: Chamadas de sincronização em rápida sucessão, como aquelas possibilitadas por um loop (veja o exemplo), podem prejudicar a sincronicidade ou até mesmo causar sua perda completa.
Parar
Com o bloco parar motor ... é possível para um motor. Caso queira parar vários motores ao mesmo tempo, poderá adicionar até três motores usando o botão de adição à esquerda do bloco.
Consultar
O bloco atingiu a posição é usado para usar a posição alcançada como uma condição. Aqui, posição significa a posição final de um motor codificador após o tamanho da etapa concluída.
Sensores
Entradas
O início de cada bloco de tempo
O bloco de tempo oferece a possibilidade de executar um programa se uma condição for satisfeita. Portanto, ele funciona de maneira semelhante a uma distinção de caso, mas não é executado apenas uma vez, e sim sempre que a condição for atendida durante todo o curso do programa. O início de cada bloco de tempo:
É uma abreviatura para a seguinte construção:
Você pode configurar todas as condições da categoria entradas em iniciar cada bloco de tempo a este nível.
Observação: A seção do programa dentro do iniciar de cada bloco de tempo deve ser mantida curta e não conter chamadas de bloqueio ou loops sem fim para que esta parte do programa possa ser processada rapidamente.
Teclado
O teclado é um sensor digital que distingue "corrente fluindo" de "nenhuma corrente fluindo". Se a corrente flui ou não depende do cabeamento e se a tecla está pressionada. Você pode usar o teclado de duas maneiras diferentes:
Como "contato":
os contatos 1 e 3 estão conectados.
Teclado pressionado: Assim, flui uma corrente. Teclado não pressionado: Assim, não flui uma corrente.
Os contatos 1 e 2 estão conectados.
Teclado pressionado: Assim, não flui uma corrente. Teclado não pressionado: Assim, flui uma corrente.
Lembrar
Com obter o status do mini-teclado, você obtém informações sobre se a corrente está fluindo através do teclado ou não. Se a corrente flui, 1 retornado, se nenhuma corrente flui, 0.
Consultar
Para consultar se o botão está em um determinado estado, o bloco o teclado está... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar qual status é solicitado. Este bloco pode ser usado como condição.
Sensor ultrassônico
O sensor ultrassônico é usado para medir distâncias.
Lembrar
Com obter distância do sensor ultrassônico, você obtém as informações sobre a distância do sensor em relação ao próximo objeto. A distância é retornada em cm.
Consultar
Para consultar se o sensor está a uma certa distância do próximo objeto, o bloco a distância do sensor ultrassônico está a ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como a distância medida deve ser comparada com um valor inserido (<, ≤, =, ≠, ≥,>) O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando a distância medida for inferior a 2 cm.
Sensor de cores
O sensor de cores envia luz vermelha e mede o quanto dela é refletida. Dependendo da intensidade do reflexo, o sensor de cores retorna valores de 0 a 2.000. É adequado para reconhecer cores previamente calibradas.
Lembrar
Com obter valor do sensor de cores, recebe-se a informação da intensidade com que uma superfície reflete a luz.
Consultar
Para saber se o sensor tem uma determinada cor à sua frente, o bloco o valor do sensor de cores está a ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como o valor de cor mensurado deve ser comparado com o valor inserido (<, ≤, =, ≠, ≥,>) O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o valor da cor medida for inferior a 1000.
Sensor de rastreamento infravermelho
O sensor de rastreamento infravermelho é um sensor digital para a detecção de um rastro preto em um fundo branco, funcionando a uma distância de 5 a 30 mm do sensor ao substrato.
Lembrar
Com obter status do sensor de rastreamento infravermelho, você obterá 0 se o sensor não detectar um rastro. Caso o sensor detecte um rastro, 1 é retornado
Consultar
Para consultar se o sensor IR da faixa detecta um rastro, compare o status do rastro atual com 0 ou 1. Para tanto, o bloco adequado é o status do sensor de rastreamento infravermelho está [] ... . O menu suspenso (triângulo pequeno) pode ser usado para selecionar como o status do rastro deve ser comparado com o valor inserido (<, ≤, =, ≠, ≥,>) O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o status do rastro medido for 0.
Fototransistor
O fototransistor é um sensor digital que distingue a luz da escuridão.
Lembrar
Com obter status do fototransistor, você obterá 0 se o sensor não detectar luz. Caso o sensor detecte luz, 1 é retornado.
Consultar
Para consultar se o fototransistor detecta luz ou escuridão, compare o status de luminosidade com 0 ou 1. Para tanto, o bloco adequado é o status do status do fototransistor está [] . O menu suspenso (triângulo pequeno) pode ser usado para selecionar se deve ser consultado se está claro ou escuro.
Um possível uso para um fototransistor é em uma barreira de luz, como neste modelo.
Fotorresistor
A resistência do fotorresistor diminuirá à medida que ele for exposto a mais luminosidade. O valor resultante do fotorresistor é, portanto, uma medida de luminosidade.
Lembrar
Com obter valor do fotorresistor, você obtém a informação do nível de luminosidade. Quanto menor o valor exibido, mais luminoso estará.
Consultar
Para saber se o fotorresistor mede um determinado valor de luminosidade, o bloco o valor do fotorresistor está [] ... é usado. No menu suspenso (triângulo pequeno), você pode selecionar como o valor de luminosidade deve ser comparado com o valor inserido (<, ≤, =, ≠, ≥,>). O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o valor da luminosidade é inferior a 3000.
Resistor NTC
O resistor NTC é um sensor de temperatura não binário. Sua resistência elétrica diminui quando a temperatura sobe e, portanto, é uma medida da temperatura.
Lembrar
Com obter resistor NTC [], você obtém um valor de resistência ou a temperatura calculada a partir dele. O que deve ser retornado pode ser selecionado no menu suspenso (triângulo pequeno).
Consultar
Para consultar se o resistor NTC mede um determinado valor, o bloco o resistor NTC está [] [] ... Os menus suspensos (triângulo pequeno) podem ser usados para selecionar o que deve ser comparado e com qual operador de comparação. O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o valor da temperatura é inferior a 20.
Contador
O motor codificador pode ser usado como contador. O número de suas revoluções é contado não apenas quando ele gira como um motor, mas também quando é mecanicamente acionado de fora.
O início de cada bloco de tempo
O bloco de tempo oferece a possibilidade de executar um programa se uma condição for satisfeita. Portanto, ele funciona de maneira semelhante a uma distinção de caso, mas não é executado apenas uma vez, e sim sempre que a condição for atendida durante todo o curso do programa. O início de cada bloco de tempo:
É uma abreviatura para a seguinte construção:
Você pode configurar todas as condições da categoria contador em iniciar cada bloco de tempo a este nível.
Observação: A seção do programa dentro do iniciar de cada bloco de tempo deve ser mantida curta e não conter chamadas de bloqueio ou loops sem fim para que esta parte do programa possa ser processada rapidamente.
Lembrar
Com obter valor do contador, você obtém o valor contado pelo contador.
Consultar
Este bloco é usado para consultar se o contador contou determinado valor
O menu suspenso (triângulo pequeno) pode ser usado para selecionar como o valor contado deve ser comparado com o valor inserido (<, ≤, =, ≠, ≥,>).
Restaurar ao padrão
O contador começa novamente em 0 quando o bloco restaurar o contador é executado.
I2C
Os sensores I2C descritos neste capítulo são conectados ao controlador TXT 4.0 usando-se um cabo de fita adequado.
O início de cada bloco de tempo
O bloco de tempo oferece a possibilidade de executar um programa se uma condição for satisfeita. Portanto, ele funciona de maneira semelhante a uma distinção de caso, mas não é executado apenas uma vez, e sim sempre que a condição for atendida durante todo o curso do programa. O início de cada bloco de tempo:
É uma abreviatura para a seguinte construção:
Você pode configurar todas as condições da categoria l2C em iniciar cada bloco de tempo a este nível.
Sensor de combinação
O sensor de combinação combina as três funções de acelerômetro, giroscópio e sensor de bússola em um componente.
Acelerômetro
Lembrar
Com obter a aceleração do sensor de combinação [], obtém-se a aceleração em uma direção espacial. A direção espacial desejada pode ser selecionada por meio do menu suspenso (triângulo pequeno): A aceleração é dada em g.
Consultar
Para consultar se uma determinada aceleração está sendo medida, o bloco a aceleração do sensor de combinação está [] [] ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como a aceleração deve ser comparada com o valor inserido (<, ≤, =, ≠, ≥,>) e qual direção espacial deve ser consultada. O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando a aceleração na direção x é maior que 10.
Giroscópio
Lembrar
Com obter a rotação do sensor de combinação em [], obtém-se a aceleração em uma direção espacial. A direção espacial desejada pode ser selecionada por meio do menu suspenso (triângulo pequeno): A rotação é dada em °/s.
Consultar
Para consultar se uma determinada aceleração está sendo medida, o bloco a rotação do sensor de combinação está [] [] ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como a rotação deve ser comparada com o valor inserido (<, ≤, =, ≠, ≥,>) e qual direção espacial deve ser consultada. O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando a rotação na direção x é maior que 10.
Sensor de bússola
Lembrar
Com obter fluxo magnético do sensor de combinação [], , o fluxo magnético é obtido em uma direção espacial. A direção espacial desejada pode ser selecionada por meio do menu suspenso (triângulo pequeno): O fluxo magnético é dado em μT.
Consultar
Para consultar se um determinado fluxo magnético está sendo medido, o bloco o fluxo magnético do sensor de combinação está em [] [] ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como o fluxo magnético deve ser comparado com o valor inserido (<, ≤, =, ≠, ≥,>) e qual direção espacial deve ser consultada. O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o fluxo magnético na direção x é maior que 10.
Sensor ambiental
O sensor ambiental combina as quatro funções de sensor de qualidade do ar, sensor de umidade, barômetro e termômetro em um único componente.
Sensor de qualidade do ar
Lembrar
Com o bloco, obter a qualidade do ar do sensor ambiental como [], é possível medir a qualidade do ar. O menu suspenso (triângulo pequeno) pode ser usado para escolher se a qualidade do ar deve ser retornada como um valor numérico (de 0 a 500) ou como texto.
Consultar
Para consultar se uma determinada qualidade do ar está sendo medida, o bloco a qualidade do ar do sensor ambiental está [] ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como a qualidade do ar deve ser comparada com o valor inserido (<, ≤, =, ≠, ≥,>). O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o valor da qualidade do ar é inferior a 10.
Barômetro
Lembrar
Com o bloco obter pressão atmosférica do sensor ambiental, você pode medir a pressão atmosférica.
Consultar
Para consultar se uma determinada pressão atmosférica está sendo medida, o bloco a pressão atmosférica do sensor ambiental está [] ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como a pressão atmosférica deve ser comparada com o valor inserido (<, ≤, =, ≠, ≥,>). O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o valor da pressão atmosférica é inferior a 10.
Termômetro
Lembrar
Com o bloco obter a temperatura do sensor ambiental , é possível medir a temperatura.
Consultar
Para consultar se uma determinada temperatura está sendo medida, o bloco a temperatura do sensor ambiental está [] ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como a temperatura deve ser comparada com o valor inserido (<, ≤, =, ≠, ≥,>). O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando a temperatura é superior a 10.
Sensor de umidade
Lembrar
Com o bloco obter a umidade do sensor ambiental , é possível medir a umidade do ar.
Consultar
Para consultar se uma determinada umidade está sendo medida, o bloco a umidade do sensor ambiental está [] ... é usado. O menu suspenso (triângulo pequeno) pode ser usado para selecionar como a umidade deve ser comparada com o valor inserido (<, ≤, =, ≠, ≥,>). O valor de comparação é inserido no campo numérico ao final do bloco. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando a umidade é superior a 10.
USB
USB
A câmera com um microfone integrado pode ser conectada através da porta USB. A câmera e o microfone são vistos separadamente aqui. Para usar as funções da câmera, primeiro você deve configurá-las no configurador da câmera. Como chegar ao configurador da câmera é explicado aqui.
Câmera
A câmera pode ser usada em particular como um detector de movimento, como um detector de cores, como um detector de círculos e como um detector de linhas.
Detector de movimento
Para usar a câmera como um detector de movimento, você deve arrastar o símbolo masculino no configurador da câmera para a área da grade, e então uma janela será aberta à direita, na qual será possível definir, em Inspetor,
- a área de pixels na qual verificar o movimento,
- a posição dessa área (o canto superior esquerdo da caixa de seleção está no canto superior esquerdo da área),
- o nome do detector de movimento e
- a tolerância
.
Programa do detector de movimento
O programa do detector de movimento é executado quando movimento é detectado. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa do detector de movimento é executado no bloco quando movimento é detectado.
Detector de cores
Para usar a câmera como um detector de cores, você deve arrastar o símbolo da pipeta para a área da grade, e então uma janela será aberta à direita, na qual será possível definir, em Inspetor,
- a área de pixels na qual verificar cores,
- a posição dessa área (o canto superior esquerdo da caixa de seleção está no canto superior esquerdo da área),
- o nome do detector de cores e
- o contraste
.
Lembrar
Com obter cores como [] ,você obtém a cor reconhecida em hexadecimais ou no formato RGB. O formato pode ser definido usando-se o menu suspenso (triângulo pequeno).
Consultar
Para consultar se o detector captou uma cor, o bloco a cor foi detectada é usado. Este bloco pode ser usado como condição.
Este bloco é usado para consultar se o detector capta uma determinada cor
O bloco pode ser usado para comparar a cor captada com uma inserida. O menu suspenso (triângulo pequeno) pode ser usado para escolher se a cor definida deve ser igual ou não à cor captada. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando a cor captada é vermelha.
Programa do detector de cores
O programa do detector de cores é executado quando uma cor é detectada. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa de entrada é executado no bloco quando cor é reconhecida.
Detector de círculos
Para usar a câmera como um detector de círculos, você deve arrastar o símbolo do círculo no configurador da câmera para a área da grade, então uma janela será aberta à direita, na qual você poderá selecionar, em Inspetor,
- a área de pixels na qual verificar círculos,
- a posição dessa área (o canto superior esquerdo da caixa de seleção está no canto superior esquerdo da área),
- o nome do detector de círculos,
- a área em que se encontra o diâmetro do círculo,
- a área do eixo x,
- a cor do círculo e
- a tolerância de cor
.
Lembrar
Com obter [] do círculo, é possível obter a posição x, posição y, o raio ou o diâmetro do círculo.
Consultar
Para consultar se o detector captou um círculo, o bloco o círculo foi detectado é usado. Este bloco pode ser usado como condição.
Este bloco é usado para consultar se o detector detecta um círculo com uma determinada posição x, posição y, raio ou diâmetro
O bloco pode ser usado para comparar as especificações do círculo captado com um valor inserido. Os menus suspensos (triângulo pequeno) podem ser usados para selecionar o que deve ser comparado e com qual operador de comparação. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o diâmetro do círculo captado for inferior a 5.
Programa do detector de círculos
O programa do detector de círculos é executado quando um círculo é detectado. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa de entrada é executado no bloco quando o círculo é reconhecido .
Detector de linhas
Para usar a câmera como um detector de linhas, você deve arrastar o símbolo daos pontos para a área da grade, e então uma janela será aberta à direita, na qual será possível definir, em Inspetor,
- a área de pixels na qual verificar linhas,
- a posição dessa área (o canto superior esquerdo da caixa de seleção está no canto superior esquerdo da área),
- o nome do detector de linhas,
- o número de linhas a serem reconhecidas e
- a área em que se encontra a largura da(s) linha(s)
.
Lembrar
Com obter [] da linha [], é possível obter a posição ou largura de uma dentre, no máximo, cinco linhas.
Com obter cor da linha [] como [], é possível obter a cor de uma linha em hexadecimais ou no formato RGB. O formato pode ser definido usando-se o menu suspenso (triângulo pequeno).
Consultar
Para consultar se o detector captou uma linha, o bloco a linha foi detectada é usado. Este bloco pode ser usado como condição.
Este bloco é usado para consultar se o detector detecta uma linha com determinada posição ou largura
O bloco pode ser usado para comparar as especificações da linha captada com um valor inserido. Os menus suspensos (triângulo pequeno) podem ser usados para selecionar o que deve ser comparado e com qual operador de comparação. Este bloco pode ser usado como condição. No exemplo, o motor é parado quando o valor da linha captada for inferior a 2.
Este bloco é usado para consultar se o detector detecta uma linha com uma determinada cor
O bloco pode ser usado para comparar a cor da linha captada com uma inserida. O menu suspenso (triângulo pequeno) pode ser usado para escolher se a cor definida deve ser igual ou não à cor captada. Este bloco pode ser usado como condição.
Programa do detector de linhas
O programa do detector de linhas é executado quando uma ou mais linhas são detectadas. Ele é escrito separadamente do programa principal. As variáveis funcionam globalmente em ambos os programas. O programa de entrada é executado no bloco quando linhas são detectadas.
Microfone
O microfone integrado à câmera pode ser usado como detector de volume.
O início de cada bloco de tempo
O bloco de tempo oferece a possibilidade de executar um programa se uma condição for satisfeita. Portanto, ele funciona de maneira semelhante a uma distinção de caso, mas não é executado apenas uma vez, e sim sempre que a condição for atendida durante todo o curso do programa. O início de cada bloco de tempo:
É uma abreviatura para a seguinte construção:
Você pode configurar todas as condições da categoria microfone em iniciar cada bloco de tempo a este nível.
Observação: A seção do programa dentro do iniciar de cada bloco de tempo deve ser mantida curta e não conter chamadas de bloqueio ou loops sem fim para que esta parte do programa possa ser processada rapidamente.
Detector de volume
Lembrar
Com volume do microfone, você obtém o volume em decibéis.
Consultar
Este bloco é usado para consultar se o detector de volume capta um determinado volume
O bloco pode ser usado para comparar o volume captado com um inserido. O menu suspenso (triângulo pequeno) pode ser usado para selecionar com qual operador de comparação deve-se comparar. Este bloco pode ser usado como condição.
Processamento
Condições
As instruções condicionais são fundamentais para a programação. Eles tornam possível formular distinções de caso, tais como:
- Se houver um caminho para a esquerda, vire à esquerda.
- Se pontuação = 100, imprima "Muito bem!".
Blocos
blocos se
A condição mais simples é um bloco se:
Quando isso é executado, o valor da variável x é comparado a 100. Quando for maior, "Que grande número!" será emitido. Caso contrário, nada acontecerá.
blocos caso contrário
Também é possível indicar que algo deve acontecer se a condição não for verdadeira, como neste exemplo:
Como no bloco anterior, será emitido "Que grande número!" se x > 100. Caso contrário, "Isso não é muito grande." é especificado.
Um bloco se tem uma seção caso contrário, mas não mais de uma.
blocos caso contrário, se
Também é possível testar várias condições com um único bloco se adicionando cláusulas caso contrário se:
O bloco primeiro verifica se x > 100 e retorna "Que número grande!", se for esse o caso. Se este não for o caso, ele verifica se x = 42. Em caso afirmativo, ele diz "Este é meu número da sorte!". Caso contrário, nada acontecerá.
Um bloco se pode ter qualquer número de seções caso contrário se. As condições são avaliadas de cima para baixo até que uma seja satisfeita, ou até que não haja mais condições.
blocos caso contrário, caso contrário
Blocos se podem ter tanto seções caso contrário se como caso contrário:
A seção caso contrário garante que uma ação será executada mesmo se nenhuma das condições anteriores for verdadeira.
Uma seção caso contrário pode aparecer após qualquer número de seções caso contrário se, incluindo zero, e então será obtido um bloco se caso contrário perfeitamente normal.
Modificação de bloco
Apenas o bloco se simples e o bloco se caso contrário aparecem na barra de ferramentas:
Para adicionar cláusulas caso contrário se e caso contrário, clique no símbolo (+). As cláusulas caso contrário se - podem ser removidas com o símbolo (-):
Observe que as formas dos blocos permitem qualquer número de sub-blocos caso contrário se a serem adicionados, mas apenas até um bloco se.
Lógica
A lógica booleana é um sistema matemático simples que possui dois valores:
- verdadeiro
- falso
Os blocos lógicos no ROBO Pro Coding geralmente existem para controlar condições e loops.
Aqui está um exemplo:
Se o valor da variável x for maior que 100, a condição é verdadeira e o texto "Que número grande!" é emitido. Se o valor de x não for maior que 100, a condição será falsa e "Isso não é muito grande." é emitido. Os valores booleanos também podem ser armazenados em variáveis e repassados para funções, assim como números, texto e valores de lista.
Blocos
Se um bloco espera um valor booleano como entrada, uma entrada ausente é interpretada como falsa. Os valores não booleanos não podem ser inseridos diretamente onde os valores booleanos são esperados, embora seja possível (mas não aconselhável) armazenar um valor não booleano em uma variável e, em seguida, inseri-lo na entrada de condição. Este método não é recomendado e seu comportamento pode mudar em versões futuras do ROBO Pro Coding.
Valores
Um único bloco com uma lista suspensa indicando verdadeiro ou falso pode ser usado para obter um valor booleano:
Operadores de comparação
Existem seis operadores de comparação. Cada um recebe duas entradas (geralmente dois números) e o operador de comparação retorna verdadeiro ou falso, dependendo de como as entradas são comparadas.
Os seis operadores são: igual a, não igual a, menor que, maior que, menor ou igual a, maior ou igual a.
Operadores lógicos
O bloco e retorna verdadeiro se e somente se seus dois valores de entrada forem verdadeiros.
O bloco ou retorna verdadeiro se pelo menos um de seus dois valores de entrada for verdadeiro.
não
O bloco não converte uma entrada booleana em seu oposto. Por exemplo, o resultado é:
falso.
Se nenhuma entrada for feita, o valor é considerado verdadeiro, de modo que o bloco a seguir gera o valor falso:
No entanto, não é recomendável deixar uma entrada em branco.
três operadores
Os três operadores se comportam como um bloco se-caso contrário em miniatura. São necessários três valores de entrada: o primeiro valor de entrada é a condição booleana a ser testada, o segundo valor de entrada é o valor que deve ser retornado se o teste resultar em verdadeiro, o terceiro valor de entrada é o valor que deve ser retornado se o teste resultar em falso. No exemplo a seguir, a variável cor é definida como vermelho se a variável x for menor que 10, caso contrário, a variável cor é definida como verde.
Um bloco de três sempre pode ser substituído por um bloco se-caso contrário. Os dois exemplos a seguir são exatamente iguais.
Desbastar
A área "Controle" contém blocos que controlam se outros blocos colocados dentro deles são executados. Existem dois tipos de blocos de controle: blocos se caso contrário (descritos em uma página separada) e blocos que controlam a frequência com que seus interiores são executados. Os últimos são chamados de loops porque seu interior, também conhecido como corpo ou corpo do loop, é (possivelmente) repetido várias vezes. Cada execução de um loop é chamada de iteração.
Blocos para criar loops
repetir permanentemente
O bloco de repetição permanente executa o código em seu corpo até que o programa termine.
repetição
O bloco repetição executa o código em seu corpo quantas vezes forem especificadas. Por exemplo, o bloco a seguir diz "Olá!" Dez vezes:
repetir até
Imagine um jogo em que um jogador lança um dado e soma todos os valores lançados, desde que o total seja inferior a 30. Os blocos a seguir implementam este jogo:
- Uma variável chamada total recebe um valor inicial de 0.
- O loop começa verificando se o total é inferior a 30. Nesse caso, ele passará pelos bloqueios do corpo.
- Um número aleatório no intervalo de 1 a 6 é gerado (para simular um lançamento de dados) e armazenado em uma variável chamada lançamento de dados.
- O número lançado é dado.
- A variável total é aumentada pelo número de lançamento de dados.
- Quando o final do loop é alcançado, o controle volta para a etapa 2.
Após o término do loop, todos os blocos subsequentes (não representados) são executados. No exemplo, o ciclo do loop termina após um certo número de números aleatórios no intervalo de 1 a 6 terem sido emitidos, e o valor da variável total tem a soma desses números, que é pelo menos 30.
repetir até
Loops repetir até repetem seu corpo até que uma condição seja atendida. loops de repetição são semelhantes, exceto que eles repetem seu corpo até que uma determinada condição seja atendida. Os blocos a seguir são equivalentes ao exemplo anterior porque o loop continua até que o total seja maior ou igual a 30.
contagem de até
O loop decontagem de até incrementa o valor de uma variável, começando com um primeiro valor, terminando com um segundo valor e em etapas a partir de um terceiro valor, executando o corpo uma vez para cada valor da variável. Por exemplo, o programa a seguir imprime os números 1, 3 e 5.
Como mostram os dois loops a seguir, que geram os números 5, 3 e 1, esse primeiro valor pode ser maior que o segundo. O comportamento é o mesmo, independentemente de o valor incremental (terceiro valor) ser positivo ou negativo.
para cada
O bloco para cada é semelhante ao loop de contagem de até, exceto que, em vez de usar a variável de loop em uma ordem numérica, ele usa os valores de uma lista em sequência. O programa a seguir gera cada elemento da lista "alfa", "beta" e "gama":
Blocos de cancelar loop
A maioria dos loops é executada até que a condição de término (para blocos de repetição) seja satisfeita ou até que todos os valores da variável do loop sejam aceitos (para loops contar com e para cada). Dois blocos raramente usados, mas ocasionalmente úteis, oferecem opções adicionais para controlar o comportamento do loop. Eles podem ser usados com qualquer tipo de loop, embora os exemplos a seguir mostrem seu uso com o loop para cada.
continuar com a próxima interação
continuar com a próxima iteração faz com que os blocos restantes no corpo do loop sejam pulados e a próxima iteração do loop comece.
O programa a seguir imprime "alfa" na primeira iteração do loop. Na segunda iteração, o bloco continuar com a próxima iteração é executado, sendo a saída de "beta" ignorada. A última iteração imprime "gama".
Cancelamento de loop
O bloco de cancelamento de loop permite uma saída antecipada de um loop. O programa a seguir gera "alfa" na primeira iteração e interrompe o loop na segunda iteração se a variável do loop for igual a "beta". O terceiro ponto da lista nunca é alcançado.
Matemática
Os blocos da categoria Matemática são usados para fazer cálculos. Os resultados dos cálculos podem ser usados como valores para variáveis, por exemplo. A maioria dos blocos de matemática está relacionada a cálculos matemáticos gerais e deve ser autoexplicativa.
Blocos
Números
Use o bloco de números para adicionar qualquer número ao seu programa ou para atribuir esse número como um valor a uma variável. Este programa atribui o número 12 à variável idade:
Contas simples
Este bloco possui a estrutura valor-operador-valor. Os tipos de cálculo + , - , ÷ , × e ^ estão disponíveis como operadores. O operador pode ser selecionado no menu suspenso. Pode ser aplicado diretamente a números ou aos valores das variáveis. Exemplo:
Dieser Block gibt Ergebnis 144 (12^2) aus.
Este bloco retorna o resultado 144 (12^2).
Contas especiais
Este bloco aplica o tipo de cálculo selecionado por meio do menu suspenso ao número ou ao valor da variável colocada atrás dele. As operações aritméticas disponíveis são:
- Raiz quadrada,
- Montante,
- Logaritmo natural,
- Logaritmo decádico,
- Função exponencial com a base e (e^1, e^2,...),
- Função exponencial com base 10 (10^1, 10^2,...),
- Mudança de sinal (multiplicação por -1).
Aqui, e é o número de Euler. Este bloco obtém a raiz quadrada de 16 e define a variável i como o resultado.
Funções trigonométricas
Este bloco funciona de maneira semelhante ao bloco descrito acima, com a diferença de que as funções trigonométricas seno, cosseno, tangente e suas funções inversas são utilizadas como operações aritméticas. O número especificado ou o valor da variável especificada é usado na função selecionada no menu suspenso, e o resultado pode ser processado posteriormente no programa. Além disso, há o bloco arctan2 de X: ... Y: ..., que permite a saída de um valor de função do arctan2 na faixa de 360° com a ajuda de dois números reais (a serem inseridos como X e Y).
Constantes usadas com frequência
Este bloco funciona da mesma maneira que o bloco numérico, mas você não insere aqui o valor numérico. Em vez disso, constantes usadas com frequência (por exemplo, π) são pré-armazenadas. A constante pode ser selecionada no menu suspenso.
Restante de uma divisão
O bloco restante do ... é usado para produzir o restante de uma divisão. Este programa atribui o resto da divisão de 3:2, ou seja, 1, à variável restante:
Arredondar
Com o bloco arredondar ..., um número decimal especificado ou o valor de uma variável especificada pode ser arredondado para um inteiro. Existem três opções para escolher no menu suspenso:
- com "arredondar" comercialmente arredondado (por exemplo, 4,5 torna-se 5)
- com "arredondamento" é arredondado para cima (por exemplo, 5,1 torna-se 6)
- com "arredondar a partir de", é arredondado (por exemplo, 5,9 torna-se 5)
Avaliação de listas
Com o bloco ... da lista você pode emitir
- com "Soma", a soma de todos os valores de uma lista,
- com "min", o menor valor de uma lista,
- com "max", o maior valor de uma lista,
- com "valor médio", a média de todos os valores em uma lista,
- com "mediana", a mediana de uma lista,
- com "valor modal", o valor de ocorrência mais frequente em uma lista,
- com "desvio padrão", o desvio do padrão de todos os valores de uma lista,
- com "valor aleatório" um valor aleatório de uma lista
. Todas essas opções podem ser selecionadas no menu suspenso do bloco:
Restringir valores de entrada
O bloco de restrição ... de ... a ... permite que os valores de entrada sejam restritos a um determinado intervalo. Antes de um valor de entrada ser processado posteriormente, é testado se ele está dentro do intervalo especificado. Existem três opções de como proceder com um valor inserido:
- O valor está no intervalo, por isso é transmitido inalterado.
- O valor está abaixo do limite inferior do intervalo, portanto, esse limite inferior é transmitido.
- O valor está acima do limite superior do intervalo, portanto, esse limite superior é transmitido.
Neste exemplo, o bloco é usado para limitar o valor da velocidade variável às velocidades suportadas pelo motor:
Gerar valores aleatórios
Ambos os blocos número aleatório de ... a... e a fração aleatória geram um valor aleatório. Assim, o bloco número aleatório de ... a... gera um número do intervalo definido. O bloco de fração aleatória, por outro lado, produz um valor entre 0,0 (incluído) e 1,0 (excluído).
Texto
Exemplos de textos são:
"Coisa 1"
"12. Março de 2010 "
"" (texto vazio)
O texto pode conter letras (minúsculas ou maiúsculas), números, sinais de pontuação, outros símbolos e espaços.
Blocos
Criação de texto
O bloco a seguir cria o texto "Olá" e o salva na variável chamada Saudação:
O bloco de criação de texto combina o valor da variável saudação e o novo texto "mundo" com o texto "Olámundo". Observe que não há espaço entre os dois textos, uma vez que não havia nenhum em ambos os textos originais.
Para aumentar o número de entradas de texto, clique no símbolo (+). Para remover a última tarefa, clique no símbolo (-).
Alteração de texto
O bloco em ... anexo adiciona o texto dado à variável especificada. Neste exemplo, ele altera o valor da variável saudação de "Olá" para "Olá, você!":
Comprimento do texto
O comprimento do bloco conta o número de caracteres (letras, números etc.) contidos em um texto. A duração de "Nós somos#1!" é 12 e o comprimento do texto vazio é 0.
Verifique se há texto em branco
O módulo está vazio verifica se o texto especificado está vazio (tem comprimento 0). O resultado é verdadeiro no primeiro exemplo e falso no segundo exemplo.
Busca de texto
Esses blocos podem ser usados para verificar se um texto aparece em outro texto e, em caso afirmativo, onde ele aparece. Por exemplo, a primeira ocorrência de "l" em "Olá" é perguntada aqui, o resultado é 2:
Este pede a última ocorrência de "l" em "Olá", que também resulta em 2:
Independentemente de a primeira ou última ocorrência ser selecionada, este bloco retorna o resultado 0, pois "Olá" não contém um "z".
Extração de texto
Extrair um único caractere
Isso resulta em "b", a segunda letra em "abcde":
Isso dá "d", a penúltima letra em "abcde":
Isso dá "a", a primeira letra em "abcde":
Isso dá "e", a última letra em "abcde":
Isso dá cada uma das 5 letras em "abcde" com igual probabilidade:
Nenhum deles altera o texto do qual é extraído.
Extrair um trecho de texto
Com o bloco no texto ... corrente de caracteres, um trecho de texto pode ser extraído, começando com:
- Letra #
- Letra # do final
- Primeira letra
começa e com:
- Letra #
- Letra # do final
- última letra
termina.
O exemplo a seguir extrai "abc":
Ajustar a caixa de texto
Este bloco cria uma versão do texto de entrada que pode ser salvo tanto em
- MAIÚSCULAS (todas as letras em maiúsculas) ou em
- minúsculas (todas as letras em minúsculas) ou em
- Substantivos próprios (primeiras letras maiúsculas, outras letras minúsculas).
O resultado do seguinte bloco é "OLÁ":
Os caracteres não alfabéticos não são afetados. Observe que este bloco não funciona no que se refere ao texto em idiomas que não diferenciam maiúsculas de minúsculas, como, por exemplo, o chinês.
Cortar (remover) espaços
O bloco a seguir remove espaços, dependendo do que está definido no menu suspenso (triângulo pequeno):
- no início do texto
- no final do texto
- em ambos os lados do texto
O resultado do bloco a seguir é "Oi você".
Espaços no meio do texto não são afetados.
Emitir texto
O bloco emitir faz com que o valor de entrada seja exibido na janela do console:
Em nenhum caso será enviado para a impressora, como o nome pode sugerir.
Emitir texto com formatação
Com o bloco formatar texto, os blocos podem emitir texto com conteúdo variável formatado. Todos os marcadores de posição {} no texto são substituídos pelo conteúdo das variáveis anexadas após o texto. A formatação pode ser especificada entre chaves. A formatação {:.1f}, por exemplo, exibe apenas a primeira casa decimal do ponto decimal na variável t .
Listas
Criar uma lista
criar lista com
Com a o bloco criar lista com, você pode inserir os valores iniciais em uma nova lista. Este exemplo cria uma lista de palavras e as coloca em uma variável chamada letras:
Referimo-nos a esta lista como ["alfa", "beta", "gama"].
Isso mostra a criação de uma lista de números :
Para fazer uma lista de cores:
É menos comum, mas possível, fazer uma lista de valores de diferentes tipos:
Alterar o número de entradas
Para alterar o número de entradas, clique ou toque no símbolo da engrenagem. Isso abrirá uma nova janela. Você pode arrastar os sub-blocos do item do lado esquerdo da janela para o bloco da lista à direita para adicionar uma nova entrada:
Embora o novo item tenha sido adicionado abaixo no exemplo, ele pode ser adicionado em qualquer lugar. Da mesma forma, sub-blocos de itens indesejados podem ser arrastados para a esquerda do bloco de listas.
Criar lista com elemento
Com o bloco criar lista com elemento, você pode criar uma lista que contém o número especificado de cópias de um elemento. Por exemplo, os blocos a seguir colocam as variáveis palavras na lista ["muito", "muito", "muito"].
Verificar o comprimento de uma lista
está vazio
O valor de um bloco está vazio é verdadeiro se sua entrada for a lista vazia e falso se for qualquer outra coisa. Esta entrada é verdadeira? O valor do bloco a seguir seria falso porque as variáveis cores não estão vazias: Ele tem três elementos.
Observe a semelhança com o bloco está vazio para o texto.
Comprimento de
O valor do bloco comprimento de é o número de elementos que estão na lista usados como entrada. O valor do bloco seguinte seria, por exemplo, 3, uma vez que a cor tem três elementos:
Observe que o bloco comprimento de informa quantos elementos existem na lista, não quantos elementos diferentes existem nela. Por exemplo, o seguinte é 3, embora as palavras sejam compostas por três cópias do mesmo texto:
Observe a semelhança com o bloco comprimento de para o texto.
Buscar elementos em uma lista
Esses blocos encontram a posição de um elemento em uma lista. O exemplo a seguir tem o valor 1 porque a primeira ocorrência de "muito" está no início da lista de palavras (["muito", "muito", "muito"]).
O resultado do seguinte é 3 porque a última ocorrência de "muito" em palavras está na posição 3.
Se o elemento não aparecer em nenhum lugar da lista, o resultado será o valor 0, como neste exemplo:
Esses blocos se comportam da mesma maneira que os blocos para localizar letras no texto.
Obtenha elementos de uma lista
Recuperar um único item
Lembre-se da definição da lista de cores:
O bloco a seguir recebe a cor azul porque é o segundo elemento da lista (contando a partir da esquerda):
Ele fica verde porque é o segundo elemento (contando da extremidade direita):
Este recebe o primeiro elemento, vermelho:
Este resulta no último elemento, amarelo:
Este seleciona aleatoriamente um elemento da lista, com uma probabilidade igual de retornar um dos elementos vermelho, azul, verde ou amarelo.
Obter e remover um item
O menu suspenso é usado para alterar o bloco recuperar da lista ... para o bloco recuperar da lista ... e remover , que fornece o mesmo resultado, mas também altera a lista:
Este exemplo define a primeira letra da variável como "alfa" e deixa as letras restantes (["beta", "gama"]) na lista.
Remover uma entrada
Ao selecionar Remover no menu suspenso, o item à esquerda do bloco desaparecerá:
Isso remove o primeiro elemento das letras.
Obter uma sublista
O bloco da lista ... obter sublista é semelhante ao bloco em obter da lista ..., exceto por extrair uma sublista em vez de um único elemento. Existem várias opções para especificar o início e o fim da sublista:
Neste exemplo, uma nova lista de primeiras letras é criada. Esta nova lista tem dois elementos: ["alfa", "beta"].
Observe que este bloco não altera a lista original.
Adicionar elementos a uma lista
Substituir elementos de uma lista
O bloco na lista ... substituir substitui o elemento em uma determinada posição em uma lista por outro elemento.
O significado das opções suspensas individuais pode ser encontrado na seção anterior.
O exemplo a seguir faz duas coisas:
- A listapalavras é criada com 3 elementos: ["muito", "muito", "muito"].
- O terceiro elemento da lista é substituído por "bom". O novo valor das palavras é ["muito", "muito", "bom"]
Inserir elementos em um ponto específico de uma lista
O bloco inserir na lista ... no bloco é chamado por meio do menu suspenso do bloco substituir na lista ...:
Ele insere um novo elemento na posição especificada na lista, antes do elemento que estava anteriormente nesta posição. O exemplo a seguir (baseado em um exemplo anterior) faz três coisas:
- A lista palavras é criada com 3 elementos: ["muito", "muito", "muito"].
- O terceiro elemento da lista é substituído por "bom". O novo valor das palavras é ["muito", "muito", "bom"].
- A palavra "Seja" é inserida no início da lista. O novo valor das palavras é ["muito", "muito", "bom"].
Dividir correntes e unir listas
Criar uma lista a partir de um texto
O módulo criar lista a partir do texto divide o texto especificado em partes com a ajuda de um delimitador:
O exemplo acima retorna uma nova lista que contém três trechos de texto: "311", "555" e "2368".
Crie um texto a partir de uma lista
O módulo criar texto a partir de uma lista combina uma lista em um único texto com a ajuda de um separador:
No exemplo acima, um novo texto é retornado com o valor: "311-555-2368".
Blocos relacionados
Impressão de uma lista
O módulo impressão na categoria Texto pode gerar listas. O resultado do programa a seguir é a saída do console mostrada:
Executar algo para cada elemento em uma lista
O bloco para cada na categoria Controle executa uma operação em cada item de uma lista. Por exemplo, este bloco imprime cada item da lista individualmente:
Isso não remove os itens da lista original.
Veja também os exemplos para os blocos de cancelar loop .
Uso
Com o ROBO Pro, a categoria de uso inclui blocos de codificação dos seguintes tipos:
- Seleção de cor
- Esperar
- Código Python
- Iniciar
- Execução de função
Seleção de cor
Este bloco é usado como um valor de entrada quando uma cor é solicitada (por exemplo, em equilíbrio da cor pela câmera). Ao clicar ou tocar na cor, uma das 70 cores pode ser selecionada de uma paleta de cores.
Esperar
Esperar até que o tempo acabe
O bloco de espera [...] evita que o programa continue pelo tempo de espera especificado. A unidade de tempo pode ser selecionada no menu suspenso (triângulo pequeno) e a duração desejada da pausa no campo de entrada atrás dela.
Esperar com condição
No bloco esperar até, a pausa não está ligada ao tempo, mas ao cumprimento de uma condição (por exemplo, pressionamento de um botão). A condição é anexada ao bloco esperar até.
Código Python
Caso deseje integrar o código Python existente no ROBO Pro Coding, você pode inseri-lo no bloco de código Python. O programa então executa tudo o que foi escrito em Python no bloco.
Iniciar
Além disso, o bloco iniciar quando é sujeito a uma condição. Somente quando esta condição é atendida o programa no corpo do bloco é iniciado.
Execução de função
Com a função executar ... em uma thread , a função selecionada pode ser executada em uma thread separada. Em alguns casos, essa medida pode permitir que um programa continue a responder às entradas e seja executado mais rapidamente.
Variáveis
Usamos o termo variável como é usado em matemática e em outras linguagens de programação: um valor nomeado que pode ser alterado (variado). As variáveis podem ser criadas de diversas maneiras.
- Alguns blocos, como contar com e para cada usam uma variável e definem seus valores. Um termo tradicional da ciência da computação para essas variáveis é o termo variáveis de loop.
- Funções definidas pelo usuário (também conhecidas como "procedimentos") podem definir entradas, criando variáveis que só podem ser usadas dentro daquela função. Tais variáveis são tradicionalmente chamadas de "parâmetros" ou "argumentos".
- Os usuários podem alterar as variáveis a qualquer momento usando o bloco definir. Essas são tradicionalmente chamadas de "variáveis globais". Elas podem ser usadas em qualquer lugar no código ROBO Pro Coding.
Menu suspenso
Ao clicar no símbolo suspenso (triângulo pequeno) de uma variável, o seguinte menu aparecerá:
O menu oferece as seguintes opções.
- a exibição dos nomes de todas as variáveis existentes definidas no programa.
- "Renomear variável ...", ou seja, alterar o nome desta variável onde quer que ela apareça no programa (selecionar esta opção abre uma consulta para o novo nome)
- "Excluir variável ...", ou seja, a exclusão de todos os blocos que se referem a esta variável, onde quer que ela ocorra no programa.
Blocos
Determinar
O bloco definir atribui um valor a uma variável e cria a variável caso ela ainda não exista. Por exemplo, o valor da variável idade é definido como 12:
Lembrar
O bloco recuperação fornece o valor armazenado em uma variável sem alterá-lo:
É possível, porém uma má ideia, escrever um programa em que um bloco recuperação sem um conjunto de blocos anterior correspondente.
Alterar
O blcco alterar adiciona um número a uma variável.
O bloco alterar é uma abreviatura para a seguinte construção:
Exemplo
Observe o seguinte código de exemplo:
O primeiro conjunto de blocos cria uma variável chamada idade e define seu valor inicial para o número 12. A segunda linha de blocos recupera um valor de 12, adiciona 1 a isso e armazena a soma (13) na variável. A mensagem é emitida na última linha: "Parabéns! Agora você tem 13 anos".
Funções
As funções são usadas para tornar partes do código reutilizáveis e, assim, estruturar o código como um todo. Caso você preencha um bloco de funções, um novo bloco aparecerá no menu de funções com o mesmo nome deste bloco. Agora é possível inserir apenas o bloco com o nome da função no programa principal. Quando o programa é executado, este bloco encaminha para o código na função de mesmo nome e o processa.
Função simples
O bloco de funções simples pode ser usado para criar uma função com o nome inserido no campo de texto. A função pode conter qualquer número de variáveis que podem ser adicionadas usando-se o símbolo de engrenagem. Esta função envelhecimento adiciona 1 à variável idade:
A função pode então ser usada no programa principal:
Função com valor de retorno
Este bloco permite que você crie uma função com um valor de retorno. Este valor de retorno pode então ser usado no programa principal. Aqui está um exemplo: