es gl es ca gl gl gl gl es gl en gl es en pt ceb gl en gl gl gl gl gl gl gl es gl es en gl gl gl gl es gl gl gl gl gl gl 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 en en en gl en en en en gl en en en en gl
Imos facer que un altofalante conectado nunha saída dixital emita unha melodía
Creamos unha variable para detectar o estado do pulsador
Utilizamos a función tone(pin,frecuencia,duración) para definir o son
Outra maneira de definir unha melodía é definindo ao principio dous arrays, un coas frecuencias das notas que queremos que soen e outro cos tempos de duración de cada nota. Despois imos percorrendo os arrays mediante unha función for.
Agora imos utilizar os pulsadores como se fosen teclas dun piano. Cada vez que prememos nun pulsador soa a nota correspondente mentres estea activado e deixa de soar cando soltamos.
Para executar o son mentres estamos premendo utilizamos a función  while(condición){ proceso }
Non imos marcar un tempo predeterminado, pois a nota soará mentres esteamos premendo, así que usaremos as funcións tone(pin, frecuencia); e noTone(pin);
Ímolo programar para tres notas, DO, RE e MI.  Necesitaremos conectar tres pulsadores, un para cada nota. Se queres facer a escala completa non tes máis que conectar 7 pulsadores e engadir as notas que faltan.
// Declaración de variables const int zumbador = 11; // zumbador no pin 11 const int doPin =2; // Pins dos pulsadores const int rePin =3; const int miPin =4; const int DO = 262; // Frecuencias das notas mulicais const int RE = 294; const int MI = 330; // Configuración void setup(){ pinMode(zumbador, OUTPUT); // zumbador como saída } // Programa void loop(){ while(digitalRead(doPin) == HIGH){ // Mentres o pulsador doPin estea premido tone(zumbador, DO); // Soa a nota DO } while(digitalRead(rePin) == HIGH){ tone(zumbador, RE); } while(digitalRead(miPin) == HIGH){ tone(zumbador, MI); } noTone(zumbador); // Silencio se non hai nada pulsado }
Conecta dous interruptores e dous LEDs, con cadansúas resistencias de protección e, utilizando as funcións condicionais, resolve os seguintes problemas:
Mellora do programa “Melodía”: Fai que ao premer un botón soe unha melodía de maneira sincronizada co acendido e apagado duns LEDs.
Piano: Utiliza 7 pulsadores para crear un piano musical. Engade o que falta na práctica do piano.
Variando as notas: Fai que ao mover o cursor do potenciómetro cambie a frecuencia do ton emitido polo altofalante, desde a nota do a 262 Hz ata o si a 494Hz. Utiliza a función map para facer a conversión. y = map(x, ax, bx, ay, by);
Theremin de luz: Conecta unha LDR e un zumbador. Ao achegar e afastar a man sobre a LDR variará a luz recibida por ela. O zumbador emitirá un son cuxa frecuencia variará en función da luz recibida pola LDR. Establece un máximo de nivel de luz (a man afastada do sensor) para o cal o zumbador non emitirá ningún son.
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
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.