Skip to content

Commit 2f95cdd

Browse files
authored
Update the trigger3.0 (the improved version)
1 parent 5d2aae4 commit 2f95cdd

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

trigger/trigger3.0/trigger3.0.ino

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#include <Bridge.h>
2+
#include <Process.h>
3+
4+
volatile boolean triggered = false;
5+
6+
void setup() {
7+
// Bridge startup
8+
pinMode(13, OUTPUT);
9+
digitalWrite(13, LOW);
10+
Bridge.begin();
11+
digitalWrite(13, HIGH);
12+
13+
Serial.begin(115200);
14+
Serial.println("Started.");
15+
//ADCSRB = 0;
16+
//ACSR = bit (ACI) | bit (ACIE) | bit (ACIS1);
17+
ACSR |= ((0<< ACD)| // Enable Analog comparator
18+
(1<<ACBG)| // AIN+ set to bandgap reference voltage 1.1(1)V
19+
(0<< ACO)| // Analog comparator output-off
20+
(1<< ACI)| // Analog comparator interrupt flag: clear pending interrupt
21+
(1<<ACIE)| // Analog comparator interrupt is activated
22+
(0<<ACIC)| // Analog comparator input capture-disable
23+
(1<<ACIS1)|(1<<ACIS0)); // Comparator interrupt on falling output edge
24+
ADCSRB |= (1<<ACME); // AIN- set to ADC7
25+
ADCSRA &= ~(1<<ADEN);
26+
ADMUX |= ((1<<MUX2)|(1<<MUX1)|(1<<MUX0));
27+
28+
delay(1000);
29+
digitalWrite(13, LOW);
30+
31+
sei(); // Enable the global interrupts
32+
}
33+
34+
void loop() {
35+
if(triggered) {
36+
Process p; // Create a process "p"
37+
p.runShellCommandAsynchronously("nc 10.10.85.160 5025"); //10.10.91.91
38+
p.println("triggered");
39+
Serial.println("Triggered!");
40+
triggered = false;
41+
42+
digitalWrite(13, HIGH);
43+
delay(20);
44+
p.close();
45+
digitalWrite(13, LOW);
46+
}
47+
}
48+
49+
ISR(ANALOG_COMP_vect) {
50+
if ((ACSR &(1 << ACO))) {
51+
triggered = true;
52+
}else{
53+
triggered = false;
54+
}
55+
}

0 commit comments

Comments
 (0)