Paso 7: Añadir un botón de grabación
Se necesita:
- Botón
- 2 * macho - macho puente Pins
En lugar de presionar el disco para cada módulo de micrófono individual, queremos un botón para grabar todo.
Se pulsa el botón y luego se toca una bandeja específica. Esto con el inicio de grabación para que la bandeja especial. Cuando termine de soltar el botón. La próxima vez que toque esa bandeja debe oír su mensaje recién grabado.
- Fije los pernos de la grabación a los pines de Arduino A0, A1, A2. Estos pueden ser digital por nombrarlos pines 14,15 y 16.
- Coloque el botón en el tablero
- Fije una de las patas al suelo
- Colocar la otra pata del botón al pin 2
Asegúrese de que la grabación y reproducción corresponden a la misma Junta misma de grabación para cada bandeja.
#include <CapacitiveSensor.h> int button = 2; int play1 = 12; int rec1 = 14; int play2 = 11; int rec2 = 15; int play3 = 10; int rec3 = 16; CapacitiveSensor sensor1 = CapacitiveSensor(7,6); CapacitiveSensor sensor2 = CapacitiveSensor(7,5); CapacitiveSensor sensor3 = CapacitiveSensor(7,4); int touch = 75; void setup() { pinMode(play1, OUTPUT); pinMode(play2, OUTPUT); pinMode(play3, OUTPUT); pinMode(rec1, OUTPUT); pinMode(rec2, OUTPUT); pinMode(rec3, OUTPUT); pinMode(button, INPUT); // enable the internal pull up resistor digitalWrite(button, HIGH); Serial.begin(9600); } void loop() { long total1 = sensor1.capacitiveSensorRaw(3); long total2 = sensor2.capacitiveSensorRaw(3); long total3 = sensor3.capacitiveSensorRaw(3); int buttonReading = digitalRead(button); if(buttonReading == 1){ if(total1 > touch) { playMessage(play1); } else if(total2 > touch) { playMessage(play2); } else if(total3 > touch) { playMessage(play3); } }else { if(total1 > touch) { recordMessage(rec1); } else if(total2 > touch) { recordMessage(rec2); } else if(total3 > touch) { recordMessage(rec3); } } } void playMessage(int play){ digitalWrite(play, 1); digitalWrite(play, 0); } void recordMessage(int number){ int buttonNumber = digitalRead(button); while(buttonNumber == 0) { buttonNumber = digitalRead(button); digitalWrite(number, 1); } digitalWrite(number , 0); }