oficina de programação utilizando a plataforma arduino€¦ · arduino bianca alessandra...
TRANSCRIPT
![Page 1: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/1.jpg)
Oficina de Programacao utilizando a plataformaArduino
Bianca Alessandra Visineski [email protected]
Paulo Nesello Kunzelkruger [email protected]
Programa de Educacao TutorialComputando Culturas em Equidade
Departamento Academico de InformaticaUTFPR
06 de outubro de 2012
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 1 / 13
![Page 2: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/2.jpg)
O que ha de novo?
Funcoes da Biblioteca Arduino
ramdomSeed(analogRead(0)); - Determina valores aleatorios a partirde um valor inicial definido pela entrada analogica.
random(valor maximo); - Gera um valor aleatorio dentro dos valoresde ramdomSeed(), ate um valor maximo definido por parametro.
random(inicio,fim); - Gera valores aleatorios entre os valores enviadospor parametro.
constrain(RGB2[x], 0, 255); - Garante que o valor dado seja naonegativo e esteja dentro da faixa escolhida.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 2 / 13
![Page 3: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/3.jpg)
O que ha de novo?
Funcoes da Biblioteca Arduino
ramdomSeed(analogRead(0)); - Determina valores aleatorios a partirde um valor inicial definido pela entrada analogica.
random(valor maximo); - Gera um valor aleatorio dentro dos valoresde ramdomSeed(), ate um valor maximo definido por parametro.
random(inicio,fim); - Gera valores aleatorios entre os valores enviadospor parametro.
constrain(RGB2[x], 0, 255); - Garante que o valor dado seja naonegativo e esteja dentro da faixa escolhida.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 2 / 13
![Page 4: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/4.jpg)
O que ha de novo?
Funcoes da Biblioteca Arduino
ramdomSeed(analogRead(0)); - Determina valores aleatorios a partirde um valor inicial definido pela entrada analogica.
random(valor maximo); - Gera um valor aleatorio dentro dos valoresde ramdomSeed(), ate um valor maximo definido por parametro.
random(inicio,fim); - Gera valores aleatorios entre os valores enviadospor parametro.
constrain(RGB2[x], 0, 255); - Garante que o valor dado seja naonegativo e esteja dentro da faixa escolhida.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 2 / 13
![Page 5: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/5.jpg)
O que ha de novo?
Funcoes da Biblioteca Arduino
ramdomSeed(analogRead(0)); - Determina valores aleatorios a partirde um valor inicial definido pela entrada analogica.
random(valor maximo); - Gera um valor aleatorio dentro dos valoresde ramdomSeed(), ate um valor maximo definido por parametro.
random(inicio,fim); - Gera valores aleatorios entre os valores enviadospor parametro.
constrain(RGB2[x], 0, 255); - Garante que o valor dado seja naonegativo e esteja dentro da faixa escolhida.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 2 / 13
![Page 6: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/6.jpg)
O que ha de novo?
Funcoes da Biblioteca Arduino
ramdomSeed(analogRead(0)); - Determina valores aleatorios a partirde um valor inicial definido pela entrada analogica.
random(valor maximo); - Gera um valor aleatorio dentro dos valoresde ramdomSeed(), ate um valor maximo definido por parametro.
random(inicio,fim); - Gera valores aleatorios entre os valores enviadospor parametro.
constrain(RGB2[x], 0, 255); - Garante que o valor dado seja naonegativo e esteja dentro da faixa escolhida.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 2 / 13
![Page 7: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/7.jpg)
O que ha de novo?
Funcoes da Biblioteca Arduino
ramdomSeed(analogRead(0)); - Determina valores aleatorios a partirde um valor inicial definido pela entrada analogica.
random(valor maximo); - Gera um valor aleatorio dentro dos valoresde ramdomSeed(), ate um valor maximo definido por parametro.
random(inicio,fim); - Gera valores aleatorios entre os valores enviadospor parametro.
constrain(RGB2[x], 0, 255); - Garante que o valor dado seja naonegativo e esteja dentro da faixa escolhida.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 2 / 13
![Page 8: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/8.jpg)
O que ha de novo?
Funcoes da Biblioteca Arduino
ramdomSeed(analogRead(0)); - Determina valores aleatorios a partirde um valor inicial definido pela entrada analogica.
random(valor maximo); - Gera um valor aleatorio dentro dos valoresde ramdomSeed(), ate um valor maximo definido por parametro.
random(inicio,fim); - Gera valores aleatorios entre os valores enviadospor parametro.
constrain(RGB2[x], 0, 255); - Garante que o valor dado seja naonegativo e esteja dentro da faixa escolhida.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 2 / 13
![Page 9: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/9.jpg)
Primeiramente, como usar as cores vermelho, verde e azul para conseguiroutras cores?
Tabela : Cores basicas com combinacao RGB.
RED GREEN BLUE Cor255 0 0 Vermelho
0 255 0 Verde
0 0 255 Azul
255 255 0 Amarelo
0 255 255 Azul Piscina (Ciano)
255 0 255 Magenta
255 255 255 Branco
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 3 / 13
![Page 10: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/10.jpg)
Codigo I
// Projeto 6 - Lidando com cores
float RGB1 [3];
float RGB2 [3];
float INC [3];
int red , green , blue;
int RedPin = 11;
int GreenPin = 10;
int BluePin = 9;
void setup () {
randomSeed(analogRead (0));
RGB1 [0] = 0;
RGB1 [1] = 0;
RGB1 [2] = 0;
RGB2 [0] = random (256);
RGB2 [1] = random (256);
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 4 / 13
![Page 11: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/11.jpg)
Codigo II
RGB2 [2] = random (256);
}
void loop() {
randomSeed(analogRead (0));
for (int x=0; x<3; x++) {
INC[x] = (RGB1[x] - RGB2[x]) / 256;
}
for (int x=0; x <256; x++) {
red = int(RGB1 [0]);
green = int(RGB1 [1]);
blue = int(RGB1 [2]);
analogWrite (RedPin , red);
analogWrite (GreenPin , green);
analogWrite (BluePin , blue);
delay (100);
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 5 / 13
![Page 12: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/12.jpg)
Codigo III
RGB1 [0] -= INC [0];
RGB1 [1] -= INC [1];
RGB1 [2] -= INC [2];
}
for (int x=0; x<3; x++) {
RGB2[x] = random (556) -300;
RGB2[x] = constrain(RGB2[x], 0, 255);
delay (1000);
}
}
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 6 / 13
![Page 13: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/13.jpg)
Projeto 7.1 - Luminaria de humor com entrada serial
O controle agora sera feito pelo Serial monitor.
Figura : Tela inicial.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 7 / 13
![Page 14: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/14.jpg)
O que ha de novo?
Variaveis
char buffer[18]; - Strings ou palavras
Estruturas de programacao
while(condicao) - Loop ”parente”do for
char* parameter; - Ponteiros
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 8 / 13
![Page 15: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/15.jpg)
O que ha de novo?
Variaveis
char buffer[18]; - Strings ou palavras
Estruturas de programacao
while(condicao) - Loop ”parente”do for
char* parameter; - Ponteiros
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 8 / 13
![Page 16: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/16.jpg)
O que ha de novo?
Variaveis
char buffer[18]; - Strings ou palavras
Estruturas de programacao
while(condicao) - Loop ”parente”do for
char* parameter; - Ponteiros
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 8 / 13
![Page 17: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/17.jpg)
O que ha de novo?
Variaveis
char buffer[18]; - Strings ou palavras
Estruturas de programacao
while(condicao) - Loop ”parente”do for
char* parameter; - Ponteiros
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 8 / 13
![Page 18: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/18.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 19: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/19.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 20: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/20.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 21: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/21.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 22: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/22.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 23: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/23.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 24: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/24.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 25: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/25.jpg)
Funcoes da Biblioteca Arduino
Serial.begin(9600); - Inicia uma comunicacao serial com ocomputador por meio da porta USB.
Serial.flush(); - ”Limpa”tudo o que estiver na comunicacao serial
Serial.available(); - Verifica se quaisquer caracteres tenham sidoenviados pela comunicacao serial.
Serial.read(); - Le os valores da entrada serial.
Serial.print(dados); - Envia valores pela porta serial, que sao exibidosno monitor
Serial.println(dados); - Idem ao Serial.print(dados);, porem pula linhaquando chega no final do texto.
strtok (data, “ ,”); - Separa uma string de acordo com termos-chave(Nesse caso e a vırgula)
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 9 / 13
![Page 26: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/26.jpg)
Codigo I
// Luminaria RGB controlada por entrada serial
char buffer [18];
int red , green , blue;
int RedPin = 11;
int GreenPin = 10;
int BluePin = 9;
void setup () {
Serial.begin (9600);
Serial.flush ();
pinMode(RedPin , OUTPUT);
pinMode(GreenPin , OUTPUT);
pinMode(BluePin , OUTPUT);
}
void loop() {
if (Serial.available () > 0) {
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 10 / 13
![Page 27: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/27.jpg)
Codigo II
int index =0;
delay (100);
int numChar = Serial.available ();
if (numChar >15) {
numChar =15;
}
while (numChar --) {
buffer[index ++] = Serial.read();
}
splitString(buffer);
}
}
void splitString(char* data) {
Serial.print(‘‘Data entered: ’’);
Serial.println(data);
char* parameter;
parameter = strtok (data , ‘‘ ,’’);
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 11 / 13
![Page 28: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/28.jpg)
Codigo III
while (parameter != NULL) {
setLED(parameter);
parameter = strtok (NULL , ‘‘ ,’’);
}
for (int x=0; x<16; x++) { // limpa o buffer e o
texto do array buffer
buffer[x]=’\0’;
}
Serial.flush ();
}
void setLED(char* data) {
if ((data [0] == ’r’) || (data [0] == ’R’)) {
int Ans = strtol(data+1, NULL , 10);
Ans = constrain(Ans ,0 ,255);
analogWrite(RedPin , Ans);
Serial.print(‘‘Red is set to: ’’);
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 12 / 13
![Page 29: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/29.jpg)
Codigo IV
Serial.println(Ans);
}
if ((data [0] == ’g’) || (data [0] == ’G’)) {
int Ans = strtol(data+1, NULL , 10);
Ans = constrain(Ans ,0 ,255);
analogWrite(GreenPin , Ans);
Serial.print(‘‘Green is set to: ’’);
Serial.println(Ans);
}
if ((data [0] == ’b’) || (data [0] == ’B’)) {
int Ans = strtol(data+1, NULL , 10);
Ans = constrain(Ans ,0 ,255);
analogWrite(BluePin , Ans);
Serial.print(‘‘Blue is set to: ’’);
Serial.println(Ans);
}
}
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 13 / 13
![Page 30: Oficina de Programação utilizando a plataforma Arduino€¦ · Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Kunzel kruger paulo@hotmail.com Programa](https://reader030.vdocuments.site/reader030/viewer/2022040212/5e9154e7e9a93d66960ea2a6/html5/thumbnails/30.jpg)
Exercıcio
Para um circuito com 2 LED’s vermelhos e e 2 LED’s verdes, faca umprograma que quando o usuario digitar ”VERDE”no Serial Monitor osLED’s verdes ascendam e quando o usuario digitar ”VERMELHO”os doisLED’s ascendam.OBS: os LED’s vermelhos e verdes nunca podem estar acesos ao mesmotempo.
PET - CoCE (UTFPR) Oficina de Programacao 06 de outubro de 2012 14 / 13