EXERCICIOS DO CURSO
Página 1 de 1
Re: EXERCICIOS DO CURSO
COMUNICACAO SERIAL
- CODIGO:
- int conta=0;
char Caractere = 'A';
float Pi = 3.1415;
void setup() {
Serial.begin(9600);
}
void loop()
{
Serial.println("Mestres do Arduino");
Serial.println('A');
Serial.println(1.2534, 4); // numero de casas decimais
Serial.print("Conta: ");
Serial.println(conta);
Serial.println(Caractere);
Serial.println(Pi, 4);
Serial.println(10, BIN); //exibir em binario
Serial.println(10, DEC); //exibir em decimal
Serial.println(10, HEX); //exibir em hexadecimal
delay(2000);
}
Última edição por Admin em Ter Nov 24, 2020 3:48 am, editado 1 vez(es)
Re: EXERCICIOS DO CURSO
CONSTANTES
- CODIGO:
- unsigned int contagem=0; //os valores negativos da variavel serao todos positivos
void setup() {
Serial.begin(115200);
}
void loop()
{
Serial.println(contagem);
contagem++;
}
Última edição por Admin em Ter Nov 24, 2020 3:51 am, editado 4 vez(es)
Re: EXERCICIOS DO CURSO
LIGA E DESLIGA LEDS COM DOIS BOTOES
LIGA LED COM 1 BOTAO
ACENDER LED COM POTENCIOMETRO
ACENDER LEDS SEQUENCIAIS COM POTENCIOMETRO 2
LIGA LED COM DOIS BOTOES PRESSIONADOS
SEMAFORO (MILLIS)
ACENDER LEDS TEMPORIZADOS (DA ESQUERDA PRA DIREITA E VOLTA
ACENDER E APAGAR LED COM O MESMO BOTAO ( SEM BUG )
LIGA DESLIGA LED COM 1 BOTAO ( 3 CLIQUES )
- CLIQUE AQUI:
void setup() {
pinMode(2, OUTPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
}
void loop()
{
if (digitalRead(3) == HIGH )
{
digitalWrite(2, 1);
}
if (digitalRead(4) == HIGH )
{
digitalWrite(2, 0);
}
}
LIGA LED COM 1 BOTAO
- CLIQUE AQUI:
- void setup() {
pinMode(2, OUTPUT);
pinMode(3, INPUT);
}
void loop() {
if (digitalRead(3) == HIGH){
digitalWrite(2, 1);
}
else {
digitalWrite(2, 0);
}
}
ACENDER LED COM POTENCIOMETRO
- CLIQUE AQUI:
- //ACENDER LEDS CONFORME POSICAO POTENCIOMETRO
#define LED1 2 // LEIA-SE 2 QUANDO LED1
#define LED2 3
#define LED3 4
#define LED4 5
#define LED5 6
#define LED6 7
int ValorAnalogico; //DECLARANDO
void setup() {
// put your setup code here, to run once:
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
ValorAnalogico = analogRead(A0); //ATRIBUINDO SEGUNDO PINO ANALOGICO
//O CONVERSOR ANALOGICO DO UNO TEM 2^10
//O QUE DA 1024 (NUM POTENCIOMETRO POR EXEMPLO)
if (ValorAnalogico >= 170) {
digitalWrite(LED1, HIGH);
} else {
digitalWrite(LED1, LOW);
}
if (ValorAnalogico >= 340) {
digitalWrite(LED2, HIGH);
} else {
digitalWrite(LED2, LOW);
}
if (ValorAnalogico >= 510) {
digitalWrite(LED3, HIGH);
} else {
digitalWrite(LED3, LOW);
}
if (ValorAnalogico >= 680) {
digitalWrite(LED4, HIGH);
} else {
digitalWrite(LED4, LOW);
}
if (ValorAnalogico >= 850) {
digitalWrite(LED5, HIGH);
} else {
digitalWrite(LED5, LOW);
}
if (ValorAnalogico >= 1010) {
digitalWrite(LED6, HIGH);
} else {
digitalWrite(LED6, LOW);
}
}
ACENDER LEDS SEQUENCIAIS COM POTENCIOMETRO 2
- CLIQUE AQUI:
- //acendendo leds sequencias com potenciometro
//valores comparativos a leitura foram calculados para o potenciometro especifico
//tendo feito leitura da voltagem a medida que gira-o
//o conversor do arduino tem 10 bits
//entao, 2^10 = 1024 ( esta é a amplitude a considerar do potenciometro
//o potenciometro que usei foi de 50k e ele libera de 0~4.66v
//os potenciometros podem variar de peça para peça
//definindo variaveis
#define led1 2 // led1 = 2
#define led2 3
#define led3 4
#define led4 5
#define led5 6
#define led6 7
int leitura; // variavel leitura tipo inteira
void setup() {
// definido tipo de pino
pinMode(led1, OUTPUT); // pino 2 eh um pino de saida
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
Serial.begin(9600); // iniciando e definindo velocidade do monitor serial
}
void loop() {
leitura = analogRead(1); // declarando variavel leitura
if (leitura > -1 && leitura < 10.1) { //led1 fixo
digitalWrite(led1, 1); // pino 2 HIGH - led ligado
digitalWrite(led2, 0); // pino 3 LOW - led desligado
digitalWrite(led3, 0);
digitalWrite(led4, 0);
digitalWrite(led5, 0);
digitalWrite(led6, 0);
delay(300); // tempo de espera em milessegundos
}
if (leitura > 10 && leitura < 200.1 ) { //led2 pisca
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 0);
digitalWrite(led4, 0);
digitalWrite(led5, 0);
digitalWrite(led6, 0);
delay(300);
digitalWrite(led2, 0);
}
if (leitura > 200 && leitura < 410.1 ) { //led3 pisca
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 0);
digitalWrite(led5, 0);
digitalWrite(led6, 0);
delay(300);
digitalWrite(led3, 0);
}
if (leitura > 410 && leitura < 619.1) { //led4 pisca
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 1);
digitalWrite(led5, 0);
digitalWrite(led6, 0);
delay(300);
digitalWrite(led4, 0);
}
if (leitura > 619 && leitura < 817.1) { //led5 pisca
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 1);
digitalWrite(led5, 1);
digitalWrite(led6, 0);
delay(300);
digitalWrite(led5, 0);
}
if (leitura > 817 && leitura < 1020.1) { //led6 pisca
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 1);
digitalWrite(led5, 1);
digitalWrite(led6, 1);
delay(300);
digitalWrite(led6, 0);
}
if (leitura > 1020) { //led6 fixo
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 1);
digitalWrite(led5, 1);
digitalWrite(led6, 1);
delay(300);
}
delay(300);
// Serial.println(leitura); // exibindo variavel leitura no monitor serial
Serial.println(leitura);
}
LIGA LED COM DOIS BOTOES PRESSIONADOS
- CODIGO:
- void setup() {
pinMode(2, OUTPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
}
void loop() {
if (digitalRead(3) == HIGH && digitalRead(4) == HIGH){ // testar com ( || ou )
digitalWrite(2, 1);
}
else {
digitalWrite(2, 0);
}
}
SEMAFORO (MILLIS)
- CLIQUE AQUI:
- //SEMAFORO
//DECLARA CONSTANTE SEM SINAIS
unsigned long tempoLed = millis();
unsigned long tempoAmarelo = millis();
//DECLARA CONSTANTES
byte led2 = 1; //COMECA COM LED VERDE ACESO
byte led3 = 0;
byte led4 = 0;
byte amarelo = 1;
int tempog = 2500;
int tempop = 200;
void setup() {
Serial.begin(9600); //INICIA MONITOR SERIAL
pinMode(2, OUTPUT); //verde
pinMode(3, OUTPUT); //amarelo
pinMode(4, OUTPUT); //vermelho
}
void loop() {
if ( led2 == 1 ) {
digitalWrite(2, 1);
if ( (millis() - tempoLed) > tempog ) {
tempoLed = millis();
led2 = 0;
digitalWrite(2, 0);
led3 = 1;
digitalWrite(3, 1);
tempoAmarelo = millis();
amarelo = 0;
}
}
if ( led3 == 1 ) {
if ( (millis() - tempoAmarelo) > tempop) {
if ( amarelo == 0) {
digitalWrite(3, 0);
amarelo = 1;
tempoAmarelo = millis();
} else {
digitalWrite(3, 1);
amarelo = 0;
tempoAmarelo = millis();
}
if ( (millis() - tempoLed) > tempog ) {
tempoLed = millis();
led3 = 0;
digitalWrite(3, 0);
led4 = 1;
digitalWrite(4, 1);
}
}
}
if ( led4 == 1 ) {
if ( (millis() - tempoLed) > tempog ) {
tempoLed = millis();
led2 = 1;
digitalWrite(2, 1);
led4 = 0;
digitalWrite(4, 0);
}
}
}
ACENDER LEDS TEMPORIZADOS (DA ESQUERDA PRA DIREITA E VOLTA
- CLIQUE AQUI:
- void setup() {
// put your setup code here, to run once:
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(2,1);
delay(500);
digitalWrite(3,1);
delay(500);
digitalWrite(4,1);
delay(500);
digitalWrite(5,1);
delay(500);
digitalWrite(6,1);
delay(500);
digitalWrite(7,1);
delay(500);
digitalWrite(7,0);
delay(500);
digitalWrite(6,0);
delay(500);
digitalWrite(5,0);
delay(500);
digitalWrite(4,0);
delay(500);
digitalWrite(3,0);
delay(500);
digitalWrite(2,0);
delay(500);
}
ACENDER E APAGAR LED COM O MESMO BOTAO ( SEM BUG )
- CLIQUE AQUI:
- const int led = 2;
const int botao = 3;
int limite = 5;
int para = 0;
int conta = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(botao, INPUT);
Serial.begin(9600);
}
void loop()
{
if (digitalRead(botao) == 1 && para == 0) {
para = 1;
}
if (digitalRead(botao) == 0 && para == 1) {
conta++;
para = 0;
}
Serial.print("Conta=> ");
Serial.println(conta);
Serial.print("limite=> ");
Serial.println(limite);
if (conta = limite) {
digitalWrite(led, 1);
conta = 0;
limite = 3;
}
}
LIGA DESLIGA LED COM 1 BOTAO ( 3 CLIQUES )
- CLIQUE AQUI:
- const int led = 2;
const int botao = 3;
int para = 0;
int conta = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(botao, INPUT);
Serial.begin(9600);
}
void loop()
{
if (digitalRead(botao) == 1 && para == 0) {
para = 1;
}
if (digitalRead(botao) == 0 && para == 1) {
conta++;
para = 0;
}
Serial.print("Conta=> ");
Serial.println(conta);
if (conta == 5) {
digitalWrite(led, 1);
}
if (conta == {
digitalWrite(led, 0);
conta = 0;
}
}
Última edição por Admin em Ter Nov 24, 2020 4:28 am, editado 13 vez(es)
Re: EXERCICIOS DO CURSO
EXEMPLO IF ELSE
- CLIQUE AQUI:
- /*codigo com comentarios
*
*
*/
void setup() {
// put your setup code here, to run once:
pinMode(2,OUTPUT); // definindo pino 2 como saida
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if(condicao)
{
comandos
else{
comandos
}
}
digitalWrite(2,1);
delay(500); //tempo de 0,5 segundos
digitalWrite(3,1);
delay(500);
digitalWrite(4,1);
delay(500);
digitalWrite(5,1);
delay(500);
digitalWrite(6,1);
delay(500);
digitalWrite(7,1);
delay(500);
digitalWrite(7,0);
delay(500);
digitalWrite(6,0);
delay(500);
digitalWrite(5,0);
delay(500);
digitalWrite(4,0);
delay(500);
digitalWrite(3,0);
delay(500);
digitalWrite(2,0);
delay(500);
}
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|