Two programs in one
hi everyone,
i wanted make program able to:
1) open relay after amount of time once specific input triggered
2) open relay instantly after specific button on ir remote pressed
so made research , found both of these programs, however, there problem dont know how put them 1 loop, difficult? how can done?
here program of delay:
-------------------------------------------------------------------------------------------------
int led = 11;
int button = 13;
unsigned long previousmillis = 0;
const long interval = 2000;
void setup(){
pinmode(led,output);
pinmode(button,input);
}
void loop(){
unsigned long currentmillis = millis();
if (currentmillis - previousmillis >= interval) {
// save last time blinked led
previousmillis = currentmillis;
if(digitalread(button) == high){
digitalwrite(led,low);
}else{
digitalwrite(led,high);
}
}
}
-------------------------------------------------------------------------------------------------
and here code of program:
-------------------------------------------------------------------------------------------------
#include <irremote.h>
int recv_pin = 12;
int mrelay = 13;
irrecv irrecv(recv_pin);
decode_results results;
void setup()
{
pinmode(mrelay, output);
pinmode(4, output);
serial.begin(9600);
irrecv.enableirin(); // start receiver
}
int on = 0;
unsigned long last = millis();
void loop() {
if (irrecv.decode(&results)) {
if (results.value == 0xd || results.value == 0x80d) { // tivo button
// if it's been @ least 1/4 second since last
// ir received, toggle relay
if (millis() - last > 250) {
on = !on;
digitalwrite(mrelay, on ? high : low);
}
last = millis();
}
serial.println(results.value, hex);
irrecv.resume(); // receive next value
}
}
-------------------------------------------------------------------------------------------------
i wanted make program able to:
1) open relay after amount of time once specific input triggered
2) open relay instantly after specific button on ir remote pressed
so made research , found both of these programs, however, there problem dont know how put them 1 loop, difficult? how can done?
here program of delay:
-------------------------------------------------------------------------------------------------
int led = 11;
int button = 13;
unsigned long previousmillis = 0;
const long interval = 2000;
void setup(){
pinmode(led,output);
pinmode(button,input);
}
void loop(){
unsigned long currentmillis = millis();
if (currentmillis - previousmillis >= interval) {
// save last time blinked led
previousmillis = currentmillis;
if(digitalread(button) == high){
digitalwrite(led,low);
}else{
digitalwrite(led,high);
}
}
}
-------------------------------------------------------------------------------------------------
and here code of program:
-------------------------------------------------------------------------------------------------
#include <irremote.h>
int recv_pin = 12;
int mrelay = 13;
irrecv irrecv(recv_pin);
decode_results results;
void setup()
{
pinmode(mrelay, output);
pinmode(4, output);
serial.begin(9600);
irrecv.enableirin(); // start receiver
}
int on = 0;
unsigned long last = millis();
void loop() {
if (irrecv.decode(&results)) {
if (results.value == 0xd || results.value == 0x80d) { // tivo button
// if it's been @ least 1/4 second since last
// ir received, toggle relay
if (millis() - last > 250) {
on = !on;
digitalwrite(mrelay, on ? high : low);
}
last = millis();
}
serial.println(results.value, hex);
irrecv.resume(); // receive next value
}
}
-------------------------------------------------------------------------------------------------
rather posting 2 programs (badly), why not post 1 program tried write both things?
Arduino Forum > Using Arduino > Programming Questions > Two programs in one
arduino
Comments
Post a Comment