pin

Neste post, vamos descobrir que opções nos oferecem os blocos da aba “Funções PIN” no bitbloq. Vamos começar!

Blocos de declaração dos pinos

Em primeiro lugar veremos que aparecem os blocos Pino analógico e Pino digital:

funcoespin_2

Como vemos, estes blocos permitem escolher números entre 0 e 13 para os pinos digitais e entre A0 e A5 para os analógicos. Seguramente que já sabes porquê, certo? Porque na placa controladora, temos fisicamente esse número de pinos:

O bloco Pino analógico serve para ajudar-te a declarar em que pino conectaste um componente analógico… tem lógica!

Da mesma maneira, o bloco Pino digital serve para indicar em que pino digital conectámos um componente digital.

Contudo, com este último bloco poderias alterá-lo por um simples número inteiro como podes ver na imagem seguinte. O efeito é o mesmo…mas lembra-te de não usares desta forma  com os pinos analógicos que em principio necessitam ter a letra A.

Ler e escrever nos pinos

O bloco LED NA PLACA estado… serve para acender/apagar o minúsculo LED integrado na placa, chamado D13 que está internamente conectado ao pino digital 13. Poderias utilizar este pequeno bloco em vez de usar o bloco de LED habitual:

O bloco Ler o pino analógico PIN#… faz o que o seu nome indica: ler o estado do componente analógico conectado nesse lugar. Poderias utilizar este pequeno bloco em vez de usar um bloco habitual de um componente já definido (como por exemplo, o do potenciómetro). Em código Arduino corresponderia à função analogRead()

O bloco Ler o pino digital PIN#… lê o estado do componente digital conectado. Em código Arduino corresponderia à função digitalRead()

Da mesma forma que os blocos para ler, existem dois blocos para escrever: o bloco chamado Escrever no pino digital… o valor analógico… serve para gerar nesse pino um sinal de saída cíclica (PWM) que nos servirá para actuar sobre certos componentes, como por exemplo, os servomotores ou o buzzer. Aqui pode ver-se um exemplo de como seria a equivalência de usar este bloco ou o bloco de Servo para escrever o ângulo 90º:

Em código Arduino corresponderia à função analogWrite().

O bloco Escrever no pino digital… estado… escreve um estado ALTO/BAIXO (HIGH/LOW ou o mesmo que 1/0) no pino indicado. Em código Arduino corresponderia à função digitalWrite()

Já só resta apenas um pequeno bloco que é o que serve para definir o estado digital ALTO ou BAIXO directamente, e que podemos usá-lo por exemplo para comparar uma variável:

Porquê usar os blocos de Funções PIN?

Como pudémos ver, existem muitas equivalências entre os blocos bitbloq habituais dos componentes (abas Octopus bloqs, Zum bloqs…) e os blocos que acabámos de ver. Para quê então usar estes últimos?

Os blocos habituais possuem ícones do componente que programam para facilitar a sua identificação… mas em certas ocasiões podemos querer tornar o programa mais pequeno sem mostrar uma imagem de um LED cada vez que o activemos, ou por exemplo, se quisermos conectar outros módulos ou outros componentes distintos.

Se sabemos como medir a voltagem lendo um pino analógico… Então… Hmmm… Não sei como dizer isto, mas… achas que saberias fazer um sensor pimento?!

pimientooooo

Um sensor-vegetal pode chegar a ter mais utilidade do que possas pensar … ou… ao menos… ser muito vistoso e divertido!