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_programmer\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_programmer\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 55. 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 () e então inserir o login e a senha do usuário () e então clicar em Submit (3). 3 Começando a programação, primeiramente devemos fazer a leitura do sensor de luz. Para isso clicaremos em Read sensor (), selecionaremos a porta analógica 4 () e clicaremos em ok (3). 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 80. Portanto, tomaremos como medida o valor médio 0. Ou seja; quando o valor do sensor de luz for maior do que 0, o programa irá considerar que há luz e; quando for menor do que 0, que não há luz.
5 3 4 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. 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). 3
Adicionaremos então a seguinte linha: Agora podemos fechar o if. Clicaremos então em End Commands Block da janela IF Sensor 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 000. 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. 3 6 4 5
Após isso clicamos em finish and save local. 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 (), selecionaremos o programa que fizemos () 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 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. 3 Agora faremos o upload da programação para a nossa placa. Para isso iremos em upload (), localize a pasta pp_programmer (a pasta normalmente é criada automaticamente na instalação do programa na pasta c:), e escolha o arquivo program.hex (). 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. 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). Em E mail Config (), defina o destinatário do e mail (), o titulo da mensagem(3), o corpo da mensagem (4) e clique em Change (5). 6 4 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 (), configuramos em qual porta COM a placa está () e a velocidade de comunicação (3). Após isso clicaremos em Connect (4). 3 Com isso o computador está pronto para enviar 4 o e-mail assim que a placa mandar. 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 [], os 6 pinos na horizontal estão interligados, sendo então duas fileiras de 6 pinos. - Em [], os 6 pinos na vertical estão interligados, sendo então 6 fileiras de 6 pinos. Primeiramente vamos conectar os polos positivo e negativo da placa e também o fio da entrada analógica 4 (A0) no pequeno protoboard. 5V GND A0 A0 GND 5V 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 4 que criamos no programa). A0 5V GND 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 irá servir para ligar a lâmpada; o botão 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. 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. 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. 3 Com isso adicionaremos a seguinte linha na programação 4
Agora daremos um delay para dar um tempo para o comando ser executado. Colocaremos um pequeno delay de 00ms (milissegundos). 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. 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. 3 4 Adicionaremos então a seguinte linha na programação. 5 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. 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 00ms (milissegundos).
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. 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. Adicionaremos então a seguinte linha na programação. 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. 3
4 4 5 Após isso clicamos em finish and save local. 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 (), selecionaremos o programa que fizemos () 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 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. 3 Agora faremos o upload da programação para a nossa placa. Para isso iremos em upload (), localize a pasta pp_programmer (a pasta normalmente é criada automaticamente na instalação do programa na pasta c:), e escolha o arquivo program.hex (). 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 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 for colocada na variável x a saída 4 será ligada e quando for a saída 4 será desligada. Começaremos então um if que verificará se x for igual a. 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. 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 (), selecionaremos o programa que fizemos () 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 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 (), localize a pasta pp_programmer (a pasta normalmente é criada automaticamente na instalação do programa na pasta c:), e escolha o arquivo program.hex (). 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: