arduino-sketches
/arduinoHAMVOX/arduinoHAMVOX.ino |
@@ -0,0 +1,64 @@ |
#include "TickTwo.h" |
|
const int LED_PIN = D5; |
const int MIC_PIN = A0; |
const int PTT_PIN = D8; |
const int VOX_DELAY = 1000; |
|
// irrelevant TickTwo.h semantics |
void pttClose(); |
TickTwo ticker1(pttClose, 0, 1, MILLIS); |
|
bool transmitting; |
|
void setup() { |
// configure PTT pin as an digital out |
pinMode(LED_PIN, OUTPUT); |
pinMode(PTT_PIN, OUTPUT); |
|
// configure MIC pin as a digital input |
pinMode(MIC_PIN, INPUT); |
// DEBUG |
//Serial.begin(9600); |
|
// deactivate PTT transistor switch / PTT low (start broadcast) |
digitalWrite(LED_PIN, LOW); |
digitalWrite(PTT_PIN, LOW); |
// alarm(MIN) |
ticker1.start(); |
} |
|
void loop() { |
// irrelevant TickTwo.h semantics |
ticker1.update(); |
|
// read the MIC pin |
int val = analogRead(MIC_PIN); |
|
// DEBUG |
//Serial.println(val); |
|
// if mic sensor is low (audio playing) |
if (val == 1024 && !transmitting) { |
// activate PTT switch / PTT low (start broadcast) |
//Serial.println("PTT activated..."); |
digitalWrite(LED_PIN, HIGH); |
digitalWrite(PTT_PIN, HIGH); |
|
// alarm(5000) |
ticker1.interval(VOX_DELAY); |
ticker1.resume(); |
transmitting = true; |
return; |
} |
|
transmitting = false; |
} |
|
void pttClose() { |
// deactivate PTT transistor switch / PTT low (start broadcast) |
//Serial.println("PTT deactivated..."); |
digitalWrite(LED_PIN, LOW); |
digitalWrite(PTT_PIN, LOW); |
transmitting = false; |
} |