es gl es ca gl gl gl gl es gl en gl es en pt ceb gl gl gl gl gl gl gl en gl gl ro gl gl de gl es gl gl gl gl gl en gl gl gl gl en gl es es gl gl gl pt es gl gl gl pt pt en gl ar es gl en en en gl gl gl ca gl ca gl gl gl gl gl gl gl gl it gl gl gl gl gl gl gl gl gl gl en it es es gl es gl es es gl pt en gl gl ca fr fr gl gl gl pt es sv es gl sv pt en gl hu en gl gl en gl it it es uk pt gl gl gl gl gl en gl gl es gl gl vi gl gl gl gl es es gl gl gl gl gl it gl es
Movendo un potenciómetro – Arduino
Imos ler o valor enviado por un potenciómetro a unha entrada analóxica e, segundo o resultado, executar unha serie de instrucións.
Conectaremos un potenciómetro de 10kΩ de xeito que a patilla central c estea conectada á entrada analóxica A0, outra patilla a 5V e a que queda a masa.
Conectamos tres LEDs coas súas resistencias de protección aos pins 11, 13 e 13.
1. Lectura serial: Imos ler na consola serie o valor que nos dá un potenciómetro en función da posición do cursor.
2. Acender un LED cun potenciómetro: Podemos utilizar a información que lemos na consola sobre o valor dun potenciómetro en función da posición do cursor para acender un LED cando o potenciómetro supere un determinado valor.
Segundo sexa a lectura do potenciómetro executamos catro procesos diferentes. Imos utilizar a estrutura de control switch/case, pero podería facerse tamén con if … else
// Declaración de variables int led1=13; int led2=12; int led3=11; // Configuración void setup(){ Serial.begin(9600); // Inicia a comunicación serie pinMode(led1, OUTPUT); // Configuramos o LED como saída pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); } // Programa void loop(){ int pot = analogRead(0); // pot = valor lido na entrada analóxica A0 int opcion = map(pot, 0, 1023, 0, 3); // Dividimos o rango do potenciómetro ( de 0 a 1023) // en 4 intervalos (de 0 a 3) ("opcion" é un nº enteiro) switch(opcion){ // Segundo sexa o valor da variable opcion (0,1,2 ou 3) case 0: // Executamos un proceso diferente. digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); break; case 1: digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led3, LOW); break; case 2: digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, LOW); break; case 3: digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); break; } Serial.println(String(pot) + " ---> " + String(opcion)); delay (200); }
Cada LED nun rango: Utiliza a estrutura if … else para programar o seguinte: Temos tres LEDs conectados aos pins 11, 12 e 13. O primeiro LED verde débese acender no rango de 50 a 350 da lectura do potenciómetro, o segundo LED amarelo no rango 351-700 e o terceiro LED vermello no rango 701-1023.
Máis estados: Fai a montaxe con 5 LEDs e, utilizando a estrutura de múltiples casos  fai o programa con 6 estados diferentes, desde todo apagado a todo aceso.
Alerta: Nos casos anteriores, engade intermitencia ao LED vermello.
Deixa un comentario Cancelar a resposta
Nome Correo electrónico Sitio web
Gardar o meu nome, correo electrónico e web neste navegador para a próxima vez que faga un comentario.
Descrición de Arduíno UNO
O IDE de Arduíno
Entradas e saídas dixitais
Condicional if … else
Sinais PWM e lectura serial
Array de LEDs e funcións
A posición dun servo
Servos de xiro continuo
Motor de corrente continua
Motores paso a paso
Sensor de Luz LDR
Sensor de temperatura LM35 e TMP36
Sensor de temperatura e humidade DHT11
Sensor de temperatura DS18B20
Sensor de movemento PIR
Sensor de cor TCS3200
Sensor de cor TCS34725 RGB
Sensor de auga no solo
Medindo o tempo 1
Medindo o tempo 2: RTC
Bluetooth mestre + escravo
O tanque de auga
Reloxo de area dixital
A máquina máis inútil
Clasificador M&M’s por cor
Alarma para a cortadora láser
© 2022 Arduino • Creado con GeneratePress