Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior |
componentes [2025/04/01 22:41] – [Componentes Simples] admin | componentes [2025/04/15 16:34] (atual) – edição externa 127.0.0.1 |
---|
* [[#Componentes_Simples|Componentes Simples]] | * [[#Componentes_Simples|Componentes Simples]] |
* [[#Sensores|Sensores]] | * [[#Sensores|Sensores]] |
| |
| ===== Nomes ===== |
| Todo componente acessível possui um nome, que serve como chave de acesso. Em robôs tradicionais, o programador tem que chamar uma função como ''cor(1)'' e então descobrir qual sensor do robô corresponde ao sensor na porta de número ''1''. Já no sBotics você nomeia seu próprio sensor, então você pode chamar seus sensores de cor como SensorCorEsquerdo e SensorCorDireito, e assim o código pode ser executado como ''Cor("SensorCorEsquerdo")'' ou ''Cor("SensorCorDireito")''. |
| |
| Como pode perceber, estes nomes são **EXTREMAMENTE** importantes para acessar componentes e realizar comandos na programação. Estes nomes são dados na [[Guia:Entendendo a Construção|"Oficina de Robôs"]], clicando em um componente e alterando o nome no campo que aparece a direita e clicando no botão de alterar, como mostrado nas imagens abaixo. |
| |
| {{ alterarnome.png?200 }} {{ alterarnomebotao.png?200 }} |
| {{ editadosucesso.png?600 }} |
| |
| > **Atenção:** Em alguns computadores o botão de alterar está com a ativação um pouco descentralizada, então ao clicar no botão verifique que a mensagem "Editado com Sucesso!" aparece no topo da tela. Caso não apareça inicialmente basta apertar em um local menos centralizado do botão. |
| |
| Para ver o nome dos componentes do seu robô, basta ir na tela de [[Robôs]] e visualizar na parte superior deste menu: |
| |
| {{ componentes.png?600 }} |
| |
----------------------- | ----------------------- |
| |
| {{ controlador-branco.png?150}} |
| ===== Controlador do Robô ===== |
| O controlador do robô pode ser considerado por muitos um componente, já que o mesmo é capaz de executar alguns comandos de sensores "embutidos" e de saída. |
| |
| {{controller.png?20}} **Comandos do Controlador:** |
| | Comando ^ Descrição ^ rEduc / Blockeduc ^ C# ^ |
| ^ Abrir Console | Abre o painel do console. | ''%%AbrirConsole()%%'' | ''%%IO.OpenConsole();%%'' | |
| ^ Escrever | Escreve no console logo após o último texto. | ''%%Escrever("texto")%%'' | ''%%IO.Print("texto" );%%'' | |
| ^ Escrever em uma Linha | Escreve no console em uma nova linha. | ''%%EscreverLinha("texto")%%'' | ''%%IO.PrintLine("texto");%%'' | |
| ^ Limpar Console | Limpa todo o texto do console. | ''%%LimparConsole()%%'' | ''%%IO.ClearPrint();%%'' | |
| ^ Bússola / Direção | Retorna a direção (em graus) observada pelo robô. | ''%%Direcao()%%'' | ''%%Bot.Compass%%'' | |
| ^ Inclinação | Retorna número que indica a inclinação em graus do robô. | ''%%Inclinacao()%%'' | ''%%Bot.Inclination%%'' | |
| ^ Velocidade | Retorna número que indica a velocidade que o controlador (robô como um todo) está se movimentando. | ''%%Velocidade()%%'' | ''%%Bot.Speed%%'' | |
| |
| //(Avançado)// Arquivo de Registro: |
| | Comando ^ Descrição ^ rEduc / Blockeduc ^ C# ^ |
| ^ Registrar | Escreve no registro logo após o último texto. | ''%%Registrar("texto")%%'' | ''%%IO.Write("texto" );%%'' | |
| ^ Registrar em uma Linha | Escreve no registro em uma nova linha. | ''%%RegistrarLinha("texto")%%'' | ''%%IO.WriteLine("texto");%%'' | |
| ^ Limpar Registro | Limpa todo o texto do arquivo de registro. | ''%%LimparRegistro()%%'' | ''%%IO.ClearWrite();%%'' | |
| |
| > O arquivo de registro é como um console mas que fica inteiramente fora do sBotics em um arquivo separado. Ele pode ser acessado através do [[Rotina#Console|painel de console]] clicando no ícone de "Documento". Pode ser utilizado para gerar gráficos, csvs e outras implementações que o usuário queira fazer fora do sBotics a partir de dados gerados dentro do sBotics. |
===== Componentes Simples ===== | ===== Componentes Simples ===== |
| |
* {{p-servomotor.png?20}} **Servomotor:** Gira um [[robos#fisica_e_conectores|grupo de blocos]] em um ângulo definido. | * {{p-servomotor.png?20}} **Servomotor:** Gira um [[robos#fisica_e_conectores|grupo de blocos]] em um ângulo definido. |
* {{p-pen.png?20}} **Caneta 3D:** Desenha linhas no caminho percorrido pelo robô. | * {{p-pen.png?20}} **Caneta 3D:** Desenha linhas no caminho percorrido pelo robô. |
==== Entendendo o Servomotor ==== | ==== Entendendo Melhor o Servomotor ==== |
| |
{{ motorgirando.gif }} | |
| |
Embora aparentemente o servomotor seja um "simples" componente, ele é o componente mais importante de todo robô, pois ele permite a movimentação programada de [[robos#fisica_e_conectores|grupos de blocos]] e possui muitas formas de interação. | Embora aparentemente o servomotor seja um "simples" componente, ele é o componente mais importante de todo robô, pois ele permite a movimentação programada de [[robos#fisica_e_conectores|grupos de blocos]] e possui muitas formas de interação. |
| |
| {{ motorgirando.gif }} |
| |
> **TODO MOTOR INICIA TRAVADO, sendo necessário DESTRAVAR O MOTOR para usá-lo.** | > **TODO MOTOR INICIA TRAVADO, sendo necessário DESTRAVAR O MOTOR para usá-lo.** |
| |
> **Lembre-se!** Para acessar um componente através de um comando é necessário informar o nome do mesmo. Certifique-se que um nome foi informado na Oficina de Robôs e verifique o nome do componente em questão no painel de **[[Robôs]]**. | > **Lembre-se!** Para acessar um componente através de um comando é necessário informar o nome do mesmo. Certifique-se que um nome foi informado na Oficina de Robôs e verifique o nome do componente em questão no painel de **[[Robôs]]**. |
| |
| **{{p-buzzer.png?20}} Buzzer:** |
| | Comando ^ Descrição ^ rEduc / Blockeduc ^ C# ^ |
| ^ Está Tocando? | Retorna se o buzzer informado está tocando algo ou não (verdadeiro/falso). | ''%%EstaTocando("Nome")%%'' | ''%%Bot.GetComponent<Buzzer>( "Nome" ).Playing %%'' | |
| ^ Tocar Nota | Toca uma nota musical no buzzer informado. | ''%%TocarNota("Nome", "Sol")%%'' | ''%%Bot.GetComponent<Buzzer>( "Nome" ).PlaySound("Sol");%%'' | |
| ^ Tocar Frequência | Toca uma frequência específica em Hz no buzzer informado. | ''%%TocarFrequencia("Nome", 24.5)%%'' | ''%%Bot.GetComponent<Buzzer>( "Nome" ).PlaySound( 24.5 );%%'' | |
| ^ Parar Som | Desativa o buzzer informado. | ''%%PararSom("Nome")%%'' | ''%%Bot.GetComponent<Buzzer>( "Nome" ).StopSound();%%'' | |
| |
| |
**{{p-led.png?20}} Luz LED:** | **{{p-led.png?20}} Luz LED:** |
| |
**{{p-color-sensor.png?20}} Sensor de Cor:** Variável do tipo **//cor*//** (C#) ou **numero**/**texto** (rEduc/Blockeduc). | **{{p-color-sensor.png?20}} Sensor de Cor:** Variável do tipo **//cor*//** (C#) ou **numero**/**texto** (rEduc/Blockeduc). |
| Comandos tipo "Cor" ^ Descrição ^ rEduc / Blockeduc ^ C# ^ | | Comandos ^ Descrição ^ rEduc / Blockeduc ^ C# ^ |
^ Cor | Retorna o nome da //cor*//* lida pelo sensor informado. | ''%%Cor("Nome do Sensor")%%'' | ''%%Bot.GetComponent<ColorSensor>( "Nome do Sensor" ).Analog.ToString()%%'' | | ^ Cor | Retorna o //"nome da cor"*//* lida pelo sensor informado. | ''%%Cor("Nome do Sensor")%%'' | ''%%Bot.GetComponent<ColorSensor>( "Nome do Sensor" ).Analog.ToString()%%'' | |
| ^ Luminosidade | Retorna o valor numérico que representa a intensidade de luz (leitura preta-e-branca) do sensor informado. | ''%%Luz("Nome do Sensor")%%'' | ''%%Bot.GetComponent<ColorSensor>( "Nome do Sensor" ).Analog.Brightness%%'' | |
| ^ Tom de Azul | Retorna o valor numérico de azul da cor lida pelo sensor informado. | ''%%CorAzul("Nome do Sensor")%%'' | ''%%Bot.GetComponent<ColorSensor>( "Nome do Sensor" ).Analog.Blue%%'' | |
| ^ Tom de Verde | Retorna o valor numérico de azul da cor lida pelo sensor informado. | ''%%CorVerde("Nome do Sensor")%%'' | ''%%Bot.GetComponent<ColorSensor>( "Nome do Sensor" ).Analog.Green%%'' | |
| ^ Tom de Vermelho | Retorna o valor numérico de azul da cor lida pelo sensor informado. | ''%%CorVermelho("Nome do Sensor")%%'' | ''%%Bot.GetComponent<ColorSensor>( "Nome do Sensor" ).Analog.Red%%'' | |
| |
** {{p-ultrasonic.png?20}} Sensor Ultrassônico:** Mede a distância até um objeto. | ** {{p-ultrasonic.png?20}} Sensor Ultrassônico:** Mede a distância até um objeto. |
| | Comandos ^ Descrição ^ rEduc / Blockeduc ^ C# ^ |
| ^ Ultrassônico | Retorna a distância (nas unidades próprias do simulador) percebida pelo sensor informado. | ''%%Ultra("Nome do Sensor")%%'' | ''%%Bot.GetComponent<UltrasonicSensor>( "Nome do Sensor" ).Analog%%'' | |
| |
| ** {{p-touch.png?20}}Sensor de Toque:** Sensor de toque //não possui leitura analógica, apenas digital, por se tratar de um simples botão//. |
** {{p-touch.png?20}}Sensor de Toque:** Detecta se um objeto está em contato com o sensor. | |
| |
| |
| |
> *//* Os tipos de cores que existem no sBotics são:// | > *//* Os tipos de cores que existem no sBotics são:// |
> **rEduc / Blockeduc:** ''%%"preto"%%'', ''%%"branco"%%'', ''%%"verde"%%'', ''%%"vermelho"%%'', ''%%"azul"%%'', ''%%"amarelo"%%'', ''%%"magenta"%%'', ''%%"ciano"%%''. | > **rEduc / Blockeduc:** ''%%"Preto"%%'', ''%%"Branco"%%'', ''%%"Verde"%%'', ''%%"Vermelho"%%'', ''%%"Azul"%%'', ''%%"Amarelo"%%'', ''%%"Magenta"%%'', ''%%"Ciano"%%''. |
> **C#:** ''%%Colors.Black%%'', ''%%Colors.White%%'', ''%%Colors.Green%%'', ''%%Colors.Red%%'', ''%%Colors.Blue%%'', ''%%Colors.Yellow%%'', ''%%Colors.Magenta%%'', ''%%Colors.Cyan%%''. | > **C#:** ''%%Colors.Black%%'', ''%%Colors.White%%'', ''%%Colors.Green%%'', ''%%Colors.Red%%'', ''%%Colors.Blue%%'', ''%%Colors.Yellow%%'', ''%%Colors.Magenta%%'', ''%%Colors.Cyan%%''. |
| |
| |
| |
//**Importante:** A câmera ainda não está totalmente funcional e pode não ser utilizável na maioria dos casos. Ela possui comandos em C# que podem ser visualizados na página de [[https://github.com/sBotics/programming-reference|Referência para Programação C#]].// | //**Importante:** A câmera ainda não está totalmente funcional e pode não ser utilizável na maioria dos casos. Ela possui comandos em C# que podem ser visualizados na página de [[https://github.com/sBotics/programming-reference|Referência para Programação C#]], mas não está na wiki por não ter suporte.// |