Criando seu primeiro programa:
Ao abrir o software, ele já está pronto para começar a programar:
Após inserir funções, os códigos aparecerão na lateral esquerda:
Assim que seu programa estiver pronto, clique em “Finish and Save”, você verá a seguinte tela e a confirmação:
Preencha os dados sobre seu programa e clique em “Save”, você verá outra confirmação.
Aguarde o reinicio do software, clique em list my programs:
Podemos ver que o programa que fiz neste exemplo, foi processado com sucesso, basta selecionar o número de ID
do seu programa, e clicar em Download Program.
Agora, vamos transferir para o microcontrolador, clique em Upload:
Selecione o caminho do Hex file: “C:\pp_programmer2\program\program.hex”
Em device selecione o modelo da sua placa, a porta COM da mesma e clique em Upload. Aguarde até o termino do
upload e pronto, seu programa já está carregado no microcontrolador.
Você sempre poderá baixar novamente os programas que já fez, basta acessar o menu “list my programs” baixa-lo e
transferir para o microcontrolador.

Baixando programas públicos:
Clique em public sketchs:
Selecione o programa que quiser, clique em download hex e faça o processo de upload já explicado.
Aprendendo as Funções:
Vamos começar pelo menu superior:


New: inicia um novo projeto em branco
Upload: Abre a janela para transferência do seu programa para o microcontrolador
o
o
o
o
o

Hex file: Caminho do arquivo por padrão: “C:\pp_programmer2\program\program.hex”
Device: Modelo da sua placa, para a 3.6, selecione Duemilanove
COM port: Porta em que seu microcontrolador está conectado.
Baud rate: Taxa de transferência deixe o padrão da sua placa.
Upload: Transfere o arquivo.
Edit Label: Abre a janela para inserção de título e descrição do seu programa

o Program Title: título do seu programa.
o Functionality description: Descrição do seu programa.
o Input and Output pins: Descrição das portas usadas no projeto
o Board Type: Placa utilizada.
List My Programs: Abre uma lista com todos os seus programas processados
o
o




Download Program: Baixa o arquivo processado
Download Programmers: Baixa o código fonte sem processar.
View Programmers: Abre um documento de texto com o código do seu programa
Setup Info: Abre a janela que informa as configurações e definições do programa
Login: Permite fazer Login usando sua conta, Logout e trocar usuário.
Exit: Encerra o programa.
Vamos agora para as funções de programação:

Output:
Selecione a porta e o estado.

Wait:
Define o tempo de espera.

Jump:
Retorna para a linha de código selecionada.
Exemplo de código com output, wait e jump:

Read Sensor:
Faz a leitura de um sensor.
Exemplo do código de leitura de um sensor digital e um analógico respectivamente.

PWM:
Permite controlar motores através de PWM, com valores de 0 a 255.

Call sub routine:
Faz a chamada da rotina (função) especificada

Insert c++ code:
Permite a inserção de trechos de código em c++

Expression:
Permite a inserção de uma expressão usando uma variável.

Println:
Função para exibir valores no serial monitor, sendo possível adicionar um prefixo, e uma variável ou sensor.
Exemplo de código que exibe o resultado da leitura no monitor.
Obs.: para alguns comandos, como o ultrassom, usamos o LM35 para uma linha especial,999, para que a
leitura e conversão seja repetida.

If Sensor:
o
Start Commands block:

o
Abre uma janela com opções para a criação de uma estrutura condicional baseada no
resultado obtido de uma leitura de sensores (é necessário ler o sensor[Read Sensor] antes
de fazer uma comparação de valores). Após abrir o bloco, insira o comando a ser feito para a
condição definida.
End Commands Block: Encerra o bloco de comandos.
Exemplo de código com if sensor:

O código acima verifica dois sensores e liga as portas, caso a condição(ligado) seja antendida.
Também podemos ver o else, que desliga as portas, quando o sensor está desligado.
If Variable:
o
Start Commands block:

Abre uma janela com opções para a criação de uma estrutura condicional baseada no valor
de variáveis. Após abrir o bloco, insira o comando a ser feito para a condição definida.
(Variáveis fixas: ir, temperatura, distancia).
o
End Commands Block: Encerra o bloco de comandos.
Exemplo de código:
Podemos ver no código acima, um exemplo de uso da variável temperatura, criada
automaticamente pela função “Include LM35” explicada adiante, neste caso, quando a temperatura
é superior a 36 graus Celsius, a porta 9 é ligada.
Também temos o uso do else, para desliga-la.

Else:
Else é a estrutura condicional “se não”, pode ser usada em ambos os casos (if variable e if sensor).
o

Start Commands Block:
Inicia o bloco de comandos para o else.
o End Commands Block:
Finaliza o bloco de comandos para o else.
Repeat Commands Block:
o

Start Commands Block:
Abre um bloco de comandos que será repetido pelo número escolhido.
o End Commands Block: Encerra o bloco de comandos.
Include IR:
Faz a inclusão e leitura de um sensor IR, a variável que armazena o resultado se chama ir.

Include Servo:
Faz a inclusão do servo motor na porta indicada.

Output Servo:
Abre a janela de configuração do movimento do servo.
Exemplo de código que movimenta o Servo motor.
.

Include LM35:
Faz a inclusão de um sensor do tipo LM35, faz a leitura, e retorna o valor em graus Celsius para a variável fixa
temperatura.
Exemplo de código do LM35, em que usamos a variável “temperatura” acima(sessão if variable).

Ultrassom:
Faz a inclusão de um sensor ultrassônico de distância, nas portas especificadas. O resultado da leitura é dado
em cm e pode ser obtido com o uso da variável “distancia”;
Exemplo de código:
Este código liga a porta 9 quando a distancia medida é inferior a 30 cm.
Obs.: para alguns comandos, como o ultrassom, usamos o jump para uma linha especial,999, para que a
leitura e conversão seja repetida.

Tools :
A função tools permite criar uma sub rotina e salva-la.
o
Sub-builder:
o
Janela para inserção do nome da sub-rotina.
End:
Janela para descrição da rotina criada, e seleção de salvar como pública ou privada.

Email Config:

Configura o e-mail vinculado a sua conta para envio/recebimento através da sua placa.
Send Mail:
Envia um email para o endereço configurado, com a mensagem e assunto especificados.

Mail Server: Ferramenta que permite o microcontrolador enviar e-mails
Configure a porta do microcontrolador, e clique em connect, e quando a condição for atendida, ele enviará
um email.
Exemplo de código:
Neste exemplo, um email é enviado quando apertamos o botão.
Para se conectar ao mail server, clique em include serial port, e depois abra o mail server, e pronto.
O objetivo deste tutorial é criar um projeto em que: O circuito, conectado em um computador com conexão
com a internet, envia um e-mail assim que a lâmpada do cômodo for ligado. Usaremos um sensor de luz para fazer
essa identificação.
Para configurar o software, devemos primeiramente logar nele clicando em “Change User” (1) e então inserir o login
e a senha do usuário (2) e então clicar em “Submit” (3).
1
2
3
Começando a programação, primeiramente devemos fazer a leitura do sensor de luz. Para isso clicaremos em “Read
sensor” (1), selecionaremos a porta analógica 14 (2) e clicaremos em ok (3).
2
1
3
Com isso iremos inserir a seguinte linha na programação.
Após isso criaremos um if para fazer a avaliação do valor que lemos. Após alguns testes, verificamos que na presença
de luz o sensor retorna um valor próximo de 60, e na ausência de luz o sensor retorna 180. Portanto, tomaremos como
medida o valor médio 120. Ou seja; quando o valor do sensor de luz for maior do que 120, o programa irá considerar
que há luz e; quando for menor do que 120, que não há luz.
1
4
2
5
3
Com isso, adicionaremos a seguinte linha á programação.
Após isso iremos colocar aquilo que irá dentro do “if”.
Primeiramente clicaremos em “Send E-mai” que irá colocar o comando de envio de e-mail.
1
Com isso adicionaremos a seguinte linha á programação:
Já que precisaremos que seja enviado apenas um e-mail, para evitar um envio constante de e-mails, iremos colocar
um delay generoso de 300.000 milisegundos (5 minutos).
1
3
2
Adicionaremos então a seguinte linha:
Agora podemos fechar o “if”. Clicaremos então em “End Commands Block” da janela “IF Sensor”
1
Com isso adicionaremos a seguinte linha á programação:
Com isso fechamos a sequencia do if.
Para que possamos criar um Loop que faça o programa enviar um novo e-mail ou simplesmente verificar o Sensor de
luz novamente, daremos um comando de Jump. Clicaremos então em “Jump” e mandaremos a programação voltar
ao inicio na linha 0001.
2
1
Teremos então no final, as seguintes linhas de código:
3
Agora devemos salvar a programação antes de executá-la.
Clicaremos então em “Edit Label” para definir a descrição do programa que iremos salvar como: Título do programa;
descrição e para qual tipo de placa iremos executar nosso programa.
1
2
3
6
4
5
Após isso clicamos em “finish and save local”.
1
2
E depois em “Save in the Cloud”:
1
2
Agora, depois de o nosso programa ser processado, iremos baixar ele. Clicaremos então em “List my Programs” (1),
selecionaremos o programa que fizemos (2) e depois faremos o download do programa clicando em “Download
Program” (3). Preste atenção no Status do seu programa: um status 0 significa que o programa ainda não foi
processado; um status 2 significa que ele foi processado com sucesso e um status 9 significa que foi processado mas
ocorreu um erro no programa feito que impediu o processamento, nesse caso o seu programa deve ser refeito.
1
2
3
Agora faremos o upload da programação para a nossa placa. Para isso iremos em upload (1), localize a pasta
pp_programmer2 (a pasta normalmente é criada automaticamente na instalação do programa na pasta c:), e escolha
o arquivo “program.hex” (2). Antes do upload se certifique que a placa correspondente foi selecionada (3) e que a
porta COM da placa tambem foi selecionada corretamente (4). Não é necessário mudar a taxa de transferência (Baud
Rate)(??)
1
Ao clicar em Upload, na parte de baixo da janela aparecerá a mensagem que o programa está sendo baixado e depois
ele informará a quantidade de dados baixada para a placa.
Agora vamos configurar o programa para que ele possa enviar os e-mails.
Para isso, selecione o botão “Include Serial Port” (a cor do botão irá mudar de vermelho para verde).
1
Em “E mail Config” (1), defina o destinatário do e mail (2), o titulo da mensagem(3), o corpo da mensagem (4) e clique
em “Change” (5).
6
2
4
1
3
5
Agora devemos estabelecer a comunicação com a placa para que o e-mail possa ser enviado quando a placa mandar.
Para isso clicaremos em Mail Server (1), configuramos em qual porta COM a placa está (2) e a velocidade de
comunicação (3). Após isso clicaremos em “Connect” (4).
2
3
1
Com isso o computador está pronto para enviar
o e-mail assim que a placa mandar.
4
Antes de testar o programa, reinicie a placa arduino apertando o botão Reset no meio da placa.
Botão
de
Reset
O funcionamento do protoboard é o seguinte:
- Em [1], os 16 pinos na horizontal estão interligados, sendo então duas fileiras de 16 pinos.
- Em [2], os 6 pinos na vertical estão interligados, sendo então 16 fileiras de 6 pinos.
1
2
Primeiramente vamos conectar os polos positivo e negativo da placa e também o fio da entrada analógica 14 (A0) no
pequeno protoboard.
5V
GND
A0
GND
5V
A0
Em seguida ligaremos o sensor no protoboard. Primeiramente ligaremos o positivo e negativo do sensor no protoboard
na mesma ordem dos dois GND e 5V que colocamos, em seguida ligaremos o sinal (fio branco) na mesma linha do fio
que colocamos na entrada analógica A0 (que corresponde á entrada 14 que criamos no programa).
5V
GND
A0
O objetivo deste projeto é, através de um controle remoto, acionar e desligar uma lâmpada ligada na rede elétrica.
Assim que aprendermos a ligar a lâmpada por meio do controle remoto, poderemos ligar qualquer coisa por meio de
um controle remoto ou um celular com bluetooth como um ar condicionado, um ventilador ou a trava de uma porta.
Antes de tudo, devemos tomar alguns cuidados: Misturar o tipo de energia usado no arduino e o usado na rede
elétrica é perigoso, além de ter o risco de danificar a placa arduino pode acarretar também ferimentos. Para
evitarmos isso nós utilizaremos um relê de forma a evitar que a tensão da rede elétrica possa entrar em contato com
a tensão utilizada na placa arduino e procure manejar a energia que vem da rede elétrica com cuidado, peça
orientações se necessário.
A programação irá funcionar da seguinte forma: o botão “1” irá servir para ligar a lâmpada; o botão “2” irá servir
para desligar a lâmpada e iremos utilizar a saída 4 para acionar a bobina do relê. Para evitar que possa ocorrer
problemas com os comandos, iremos inserir atrasos após os comandos.
Primeiramente quando vamos usar o controle remoto, devemos acionar o botão “Include IR” que irá mudar de
vermelho para verde. Quando fazemos isso automaticamente criamos uma variável chamada “ir”. Assim, sempre
que acionarmos algum botão do controle remoto, o programa irá atribuir um número á variável “ir”.
1
Com isso adicionaremos a seguinte linha na programação.
Após isso, devemos fazer a primeira leitura da variável que fará a lâmpada ligar. Primeiramente então clicaremos em
“Start Commands Block” no quadrado do “IF Variable”. Depois vamos configurar o “if” da seguinte forma: se “ir” for
igual a 1.
1
2
4
Com isso adicionaremos a seguinte linha na programação.
3
Após isso vamos configurar o que irá acontecer dentro do “if”. Primeiramente devemos fazer a saída que aciona o
relê. Iremos então em “output” e mandaremos a saída 4 ligar.
1
2
3
4
Com isso adicionaremos a seguinte linha na programação
Agora daremos um delay para dar um tempo para o comando ser executado. Colocaremos um pequeno delay de
200ms (milissegundos).
1
2
Com isso adicionaremos a seguinte linha na programação
3
Agora podemos fechar esse “if” que liga a lâmpada. Para isso clicaremos em “End Commands Block” dentro do bloco
“IF Variable” para fechar o “if”.
1
Com isso adicionaremos a seguinte linha na programação.
Agora devemos começar a fazer o “if” que irá servir para desligar a lâmpada. Clicaremos então em “Start Command
Block” dentro do bloco “IF Variable”. Vamos configurar ele para, quando a variável “ir” for igual a 2.
1
3
4
2
5
Adicionaremos então a seguinte linha na programação.
Agora vamos começar a programar dentro do “if” que fará a lâmpada desligar. Para isso clicaremos em “Output” e
mandaremos a saída 4 desligar.
1
2
3
Com isso adicionaremos a seguinte linha na programação.
4
Agora colocaremos outro delay para dar um tempo para executar o comando. Clicaremos então em “Wait” e
colocaremos outro tempo de 200ms (milissegundos).
1
Com isso adicionaremos a seguinte linha na programação.
E agora podemos fechar este segundo “if”. Clicaremos então em “End Commands Block” no bloco “IF Variable”.
1
Adicionaremos então a seguinte linha na programação.
Depois de termos terminado os dois “ifs” faremos ele voltar para o começo. Para isso clicaremos em “Jump” e
faremos o programa pular para a primeira linha.
1
2
3
Adicionaremos então a seguinte linha na programação.
Agora devemos salvar a programação antes de executá-la.
Clicaremos então em “Edit Label” para definir a descrição do programa que iremos salvar como: Título do programa;
descrição e para qual tipo de placa iremos executar nosso programa.
1
2
3
4
4
5
Após isso clicamos em “finish and save local”.
1
2
E depois em “Save in the Cloud”:
1
2
Agora, depois de o nosso programa ser processado, iremos baixar ele. Clicaremos então em “List my Programs” (1),
selecionaremos o programa que fizemos (2) e depois faremos o download do programa clicando em “Download
Program” (3). Preste atenção no Status do seu programa: um status 0 significa que o programa ainda não foi
processado; um status 2 significa que ele foi processado com sucesso e um status 9 significa que foi processado mas
ocorreu um erro no programa feito que impediu o processamento, nesse caso o seu programa deve ser refeito.
1
2
3
Agora faremos o upload da programação para a nossa placa. Para isso iremos em upload (1), localize a pasta
pp_programmer2 (a pasta normalmente é criada automaticamente na instalação do programa na pasta c:), e escolha
o arquivo “program.hex” (2). Antes do upload se certifique que a placa correspondente foi selecionada (3) e que a
porta COM da placa tambem foi selecionada corretamente (4). Não é necessário mudar a taxa de transferência (Baud
Rate)(??)
1
Ao clicar em Upload, na parte de baixo da janela aparecerá a mensagem que o programa está sendo baixado e depois
ele informará a quantidade de dados baixada para a placa.
Para a parte elétrica do projeto, devemos modificar uma tomada (que colocaremos uma lâmpada de 5W) para que
ele possa se conectar com o relê.
Em seguida, ligaremos o sensor de infravermelho na placa arduino. O GND do sensor colocaremos em um GND da
placa, o 5V colocaremos em um 5V da placa e o sinal iremos colocar na entrada analógica A5 da placa arduino
Em seguida ligaremos o relê na placa arduino. Para isso, utilizando dois cabos ligaremos: um GND da placa arduino e
a saída 4 aos terminais 6V do relê. Não é preciso se preocupar com a polaridade.
Por fim ligaremos a lâmpada que modificamos nos terminais “COM” e “NA” (Normalmente Aberto) do relê. Não é
preciso se preocupar com a polaridade.
Fotos do sistema funcionando.
Esquema elétrico do projeto
O objetivo deste projeto será: a partir de um comando enviado da internet, o computador receber o comando e a
partir daí, o computador enviar um comando via Bluetooth para a placa arduino que fará acionar ou desliguar uma
saída. O programa terá capacidade de acionar e desativar até 4 dispositivos.
O funcionamento da função será o seguinte: toda vez que clicarmos em um botão do site, o programa irá identificar
isso e irá atribuir um valor a uma variável predefinida x e então, usando “ifs” acionar as saídas.
Testaremos a programação fazendo ligar uma lâmpada ligada na rede elétrica.
Antes de tudo, devemos tomar alguns cuidados: Misturar o tipo de energia usado no arduino e o usado na rede
elétrica é perigoso, além de ter o risco de danificar a placa arduino pode acarretar também ferimentos. Para
evitarmos isso nós utilizaremos um relê de forma a evitar que a tensão da rede elétrica possa entrar em contato com
a tensão utilizada na placa arduino e procure manejar a energia que vem da rede elétrica com cuidado, peça
orientações se necessário.
No menu superior, no botão “Setup Info”, teremos dispostos no quadrado “Web Commands” os valores que a
variável x pode receber.
Primeiramente faremos o login no programa. Clicaremos então em “Change User” e colocaremos o login e a senha
do usuário.
Como vamos trabalhar com a comunicação entre a placa arduino e o computador, devemos clicar em “Include Serial
Port”. A cor do botão irá mudar de vermelho para verde.
Com isso iremos adicionar a seguinte linha na programação
Agora para podermos habilitar o programa a receber comandos da internet clicaremos no botão “Receive Web
Comands”.
Com isso adicionaremos a seguinte linha na programação:
Agora começaremos a definir as funções dos botões. Iremos definir que quando o valor 1 for colocada na variável x a
saída 4 será ligada e quando for 2 a saída 4 será desligada. Começaremos então um “if” que verificará se x for igual a
1. Clicaremos então no “Starts Commands Block” no quadro “IF Variable” e faremos essa verificação.
Com isso adicionaremos a seguinte linha na programação
Agora acionaremos a saída 4, para isso clicaremos em “Output” e mandaremos a saída 4 ligar.
Adicionaremos então a seguinte linha na programação.
Com o primeiro “if” definido, fecharemos ele clicando em “Ends Commands Block” no quadro “IF Variable”
Adicionaremos então a seguinte linha na programação.
Agora começaremos o “if” para fazer a saída 4 desligar. Iremos então iniciar um “if” para fazer essa verificar quando
a variável x for igual a 2. Clicaremos então no “Starts Commands Blocck” no quadro “IF Variable” e faremos essa
verificação.
Adicionaremos então a seguinte linha na programação:
Agora mandaremos a saída 4 desligar, para isso clicaremos em “Output” e mandaremos a saída 4 desligar.
Adicionaremos então a seguinte linha na programação:
Agora devemos fechar o segundo if. Clicaremos então em “Ends Commands Block” no quadro “IF Variable”.
Adicionaremos então a seguinte linha na programação.
Para que possamos fazer um Loop para que esses dois ifs sejam verificados constantemente, usaremos o comando
Jump para ir para a linha 9999.
Adicionaremos a seguinte linha na programação:
Agora devemos salvar a programação antes de executá-la.
Clicaremos então em “Edit Label” para definir a descrição do programa que iremos salvar como: Título do programa;
descrição e para qual tipo de placa iremos executar nosso programa.
Após isso clicamos em “finish and save local”. A cor do botão irá mudar de verde para vermelho.
E depois em “Save in the Cloud”:
Agora, depois de o nosso programa ser processado, iremos baixar ele. Clicaremos então em “List my Programs” (1),
selecionaremos o programa que fizemos (2) e depois faremos o download do programa clicando em “Download
Program” (3). Preste atenção no Status do seu programa: um status 0 significa que o programa ainda não foi
processado; um status 2 significa que ele foi processado com sucesso e um status 9 significa que foi processado mas
ocorreu um erro no programa feito que impediu o processamento, nesse caso o seu programa deve ser refeito.
Agora faremos o upload da programação para a nossa placa. Para isso iremos em upload (1), localize a pasta
pp_programmer2 (a pasta normalmente é criada automaticamente na instalação do programa na pasta c:), e escolha
o arquivo “program.hex” (2). Antes do upload se certifique que a placa correspondente foi selecionada (3) e que a
porta COM da placa tambem foi selecionada corretamente (4). Não é necessário mudar a taxa de transferência (Baud
Rate)(??)
Ao clicar em Upload, na parte de baixo da janela aparecerá a mensagem que o programa está sendo baixado e depois
ele informará a quantidade de dados baixada para a placa.
Para a parte elétrica do projeto, devemos modificar uma tomada (que colocaremos uma lâmpada de 5W) para que
ele possa se conectar com o relê.
Em seguida ligaremos o relê na placa arduino. Para isso, utilizando dois cabos ligaremos: um GND da placa arduino e
a saída 4 aos terminais 6V do relê. Não é preciso se preocupar com a polaridade.
Por fim ligaremos a lâmpada que modificamos nos terminais “COM” e “NA” (Normalmente Aberto) do relê. Não é
preciso se preocupar com a polaridade.
Agora indo no site nós conseguiremos acionar a saída da placa arduino
Fotos do projeto funcionando:
Esquema elétrico do projeto:
Download

Criando seu primeiro programa: Ao abrir o software, ele já