Ejercicio 13: Timbre musical (con 2 o más notas)

Requisitos:

  • Un pulsador, una resistencia de 1 Kohmio.
  • Un zumbador piezoeléctrico.

Planteamiento: Timbre ding-dong, músicas mínimas en cada puerta.

Este es un ejercicio sencillo en el seleccionamos elementos de una cadena a través de los valores de la variable que recorre su ordenación. Repasamos el uso del condicional para usar el pulsador y del procedimiento nota() para producir los sonidos.

Variaciones:

  • Añade más notas y crea tu propio timbre carrusel.

VIDEO DEL EJERCICIO 13

VIDEO DEL EJERCICIO 13 (versión para el montaje del SIMON)

CODIGO FUENTE

 Copyright (C) 2006  Juan Carlos Alonso de Mena
 This program is free software; you can redistribute it and/or modify it under the terms
 of the GNU General Public License as published by the Free Software Foundation;
 See the GNU General Public License for more details?

 int notas[] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956};
 int puls=5;
 int zumb=10;
 int tnota=150;
 int n=0;
 int m=0;
 void setup (){
   for(n=0;n<4;n++){
     pinMode(zumb,OUTPUT);
     pinMode(puls,INPUT);
   }
 }
 void nota(){ 
   for(m=0;m<=tnota;m++){      
     digitalWrite(zumb,HIGH);
     delayMicroseconds(notas[n]);
     digitalWrite(zumb,LOW);
     delayMicroseconds(notas[n]);
   }
 }  
 void loop(){
   if(digitalRead(puls)==HIGH){
     n=0;                          //elegimos la primera nota del timbre
     nota();                       //que aquí es la primera de la cadena
     delay(200);
     n=6;                          //elegimos la segunda nota del timbre
     nota();                       //que aquí es la sexta de la cadena
     delay(200);
   }
 }

Volver?

  Copyright (c) 2006  Juan Carlos Alonso de Mena

  Permission is granted to copy, distribute and/or modify this document under the terms of 
 the GNU Free Documentation License, Version 1.2 or any later version published by the
 Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no
 Back-Cover Texts.  A copy of the license is included in the section entitled 
 GNU Free Documentation License?.