sBotics Wiki

Tutorial do Simulador usado pela OBR

Ferramentas do usuário

Ferramentas do site


reduc

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
reduc [2025/04/02 00:08] – [Controladores de fluxo] adminreduc [2025/04/15 16:34] (atual) – edição externa 127.0.0.1
Linha 1: Linha 1:
 ====== rEduc ====== ====== rEduc ======
  
-A linguagem rEduc foi criada para facilitar a programação de robôs em linguagens mais complexas (no caso do sBotics, [[csharp|C#]]). Ela reúne as estruturas básicas e tipos de dados que um usuário pode precisar para programar seus robôs. +A linguagem rEduc foi criada para facilitar a programação de robôs em linguagens mais complexas (no caso do sBotics, [[csharp|C#]]). Ela reúne as estruturas básicas e tipos de dados que um usuário pode precisar para programar seus robôs. Ao "compilar" rEduc, o simulador converte o código em C# para que o robô consiga executar o que foi programado sem o usuário precisar ter conhecimentos de programação avançada em C#.
  
 Neste tutorial apresentaremos as principais estruturas desta linguagem. Neste tutorial apresentaremos as principais estruturas desta linguagem.
 +
 +> **Aviso!** rEduc também tem uma versão em inglês, porém neste tutorial estamos tratando da versão pt-BR do rEduc, a mais utilizada por usuários do sBotics.
  
 ===== Inicialização ===== ===== Inicialização =====
Linha 286: Linha 288:
  
 ===== Exemplo ===== ===== Exemplo =====
 +{{ line-follower.gif }}
 +
 Segue abaixo um código de exemplo de um simples seguidor de linha para o robô "Trekker" padrão do sBotics usando rEduc. Segue abaixo um código de exemplo de um simples seguidor de linha para o robô "Trekker" padrão do sBotics usando rEduc.
  
 <code> <code>
 +# Funções de Controle
 +tarefa Frente com numero velocidade = 200{
 +        TravarMotor("l", falso) # Destrava o motor da esquerda
 +        TravarMotor("r", falso) # Destrava o motor da direita
  
 +        Motor("l", velocidade)
 +        Motor("r", velocidade)
 +}
 +
 +tarefa Direita com numero velocidade = 200{
 +        Motor("r", 0)
 +        TravarMotor("r", verdadeiro) # Trava o motor da direita
 +
 +        TravarMotor("l", falso) # Destrava o motor da esquerda
 +        Motor("l", velocidade*2)
 +}
 +
 +tarefa Esquerda com numero velocidade = 200{
 +        Motor("l", 0)
 +        TravarMotor("l", verdadeiro) # Trava o motor da esquerda
 +
 +        TravarMotor("r", falso) # Destrava o motor da direita
 +        Motor("r", velocidade*2)
 +}
 +
 +tarefa Tras com numero velocidade = 200{
 +        TravarMotor("l", falso) # Destrava o motor da esquerda
 +        TravarMotor("r", falso) # Destrava o motor da direita
 +
 +        Motor("l", 0-velocidade)
 +        Motor("r", 0-velocidade)
 +}
 +
 +numero contador = 0
 +tarefa LedFinal {
 +    para contador de 1 ate 5 passo 1 farei {
 +        LigarLuz("led", 255, 0, 0)
 +        Esperar(50)
 +        LigarLuz("led", 0, 255, 0)
 +        Esperar(50)
 +        LigarLuz("led", 0, 0, 255)
 +        Esperar(50)
 +    }
 +}
 +
 +inicio
 +    AbrirConsole()
 +    
 +    enquanto (verdadeiro) farei {
 +        EscreverLinha("Escrevendo no Console")
 +        se((Cor("rc") == "Preto") e (Cor("lc") != "Preto")) entao {
 +            LigarLuz("led", 0, 0, 255)
 +            Direita(300)
 +        } senao se((Cor("rc") != "Preto") e (Cor("lc") == "Preto")) entao {
 +            LigarLuz("led", 255, 0, 0)
 +            Esquerda(300)
 +        } senao se((Cor("rc") == "Preto") e (Cor("lc") == "Preto")) entao {
 +            LigarLuz("led", 0, 255, 0)
 +            Frente()
 +        } senao se((Cor("rc") == "Vermelho") ou (Cor("lc") == "Vermelho")) entao {
 +            Frente(0)
 +            LedFinal()
 +        } senao { 
 +            LigarLuz("led", 255, 0, 255)
 +            Frente()
 +        }
 +
 +    }
 +
 +fim
 </code> </code>
 +
 +Caso seja um usuário avançado que deseja realizar tarefas mais difíceis e ter um controle total sobre seu robô, cogite alterar para [[csharp|C#]].
  
reduc.1743552509.txt.gz · Última modificação: 2025/04/15 16:34 (edição externa)