UnKnocki (2 / 5 paso)

Paso 2: Cableado y programación de la emisora

Siga el diagrama para cablear el circuito transmisor.

Código

Añadir el siguiente código después de descargar la biblioteca VirtualWire a tu arduino IDE.

 #include <VirtualWire.h>// you must download and install the VirtualWire.h to your hardware/libraries folde int sensorPin = A0; // select the input pin for the potentiometer int counter = 0; int thold = 8; int bpin = 2; int maxm = 0; int pvalue = 0; bool reset = false; char str[1]; void setup() { Serial.begin(9600); pinMode(bpin,INPUT); pinMode(13,OUTPUT); vw_set_ptt_inverted(true); // Required for RF Link module vw_setup(1000); // Bits per sec vw_set_tx_pin(11); </p><p>Serial.println("hi"); } void loop() { if (digitalRead(bpin) == HIGH){ thold = 0; maxm = 0; reset = true; } while (digitalRead(bpin) == HIGH){ pvalue = analogRead(sensorPin); if (maxm if (reset){ reset = false; thold = maxm-(maxm*0.4); Serial.print("Max Value set to: "); Serial.println(thold); } counter = 0; // read the value from the sensor: int pin = analogRead(sensorPin);</p><p> if (pin>thold){ counter=1; unsigned long currentMillis = millis(); delay(50); while((unsigned int)(millis()thold){ counter++; delay(50); } } //delay(50); Serial.print(counter); str[0] = (10+counter); vw_send((uint8_t *)str, strlen(str)); //vw_wait_tx(); // Wait for message to finish digitalWrite(13,1); delay(100); digitalWrite(13,0); Serial.println(" sent"); } delay(5); } 

Importante: El código utiliza un botón para establecer un valor umbral para detectar los golpes. Para establecer el valor de umbral, mantenga pulsado el botón y golpear como lo haría normalmente en la mesa. Golpeando muy duro mientras que el ajuste del umbral dará lugar a un umbral muy alto lo que hace difícil detectar los golpes, y golpeando muy suavemente resultará en lo más mínimo de grifos como siendo interpretado como un golpe. Asegúrese de que encontrar un punto de dulce. Con el monitor serial para comprobar cuántos golpes se detecten es una buena manera de ir sobre esto.

Usted puede crear muchos transmisores como tu quieras, pero no olvide de cambiar el código que transmite el número es diferente para cada uno. Una buena manera de hacer esto es añadir diez el número de golpes para el primer transmisor, veinte el número de golpes por segundo y así sucesivamente. En este proceso usted recibirá señales como el número 22, que significa que el segundo transmisor fue golpeado dos veces. Este cambio debe hacerse en la línea que dice

 <p>str[0] = (10+counter);</p> 

Artículos Relacionados