arduino-sketches – Rev 20

Subversion Repositories:
Rev:
#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;
}

Generated by GNU Enscript 1.6.5.90.