
Bloco necessário para iniciar o código.
Setup(): Executa o código apenas uma vez. É comumente usado para inicializar o Serial, alguns sensores, configurar pinos de entrada e saída, iniciar bibliotecas, entre outros.
Loop(): Aqui executa o código que deseja que o Arduino execute repetidamente, como ler sensores, controlar saídas, tomar decisões baseadas em condições, etc.

Blocos usados para dar um intervalo ao programa por um período de tempo determinado.
O delay em milissegundos: Cada segundo é igual a 1000 milissegundos.
O delay em microssegundos: Há 1000 microssegundos em 1 milissegundo, e um milhão de microssegundos em um segundo.

Bloco usado para temporizar em milissegundos desde o momento em que a placa Arduino foi ligada ou reiniciada.
Exemplo de código:

ms a uma variável para que seja possível armazenar o seu valor, depois é mostrado no monitor serial o seu valor.
Bloco de condição usado para tomada de decisão.
Exemplo de código:
