Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int relay1 = 8;
- int relay2 = 9;
- int relay3 = 10;
- char tmp;
- int in1= 2;
- int in2= 3;
- int in3= 4;
- int mode ; // Mode1= Sequence , Mode2 = Control
- int status1 = 0;
- int status2 = 0;
- int status3 = 0;
- //the delay
- int pause = 200;
- //count to decide which relays are HIGH and which are LOW
- int count = 0;
- // will store last time relay was updated
- unsigned long previousMillis = 0;
- // the setup routine runs once when you press reset:
- void setup() {
- // initialize the digital pin as an output.
- pinMode(in1, INPUT);
- pinMode(in2, INPUT);
- pinMode(in3, INPUT);
- pinMode(relay1, OUTPUT);
- pinMode(relay2, OUTPUT);
- pinMode(relay3, OUTPUT);
- digitalWrite(relay1, HIGH);
- digitalWrite(relay2, HIGH);
- digitalWrite(relay3, HIGH);
- // initialize serial communication at 9600 bits per second:
- Serial.begin(9600);
- //tampildata();
- }
- // the loop routine runs over and over again forever:
- void loop() {
- if (Serial.available() > 0){
- tmp = Serial.read();
- if (tmp == 'o'){
- modeonall();
- mode =2;
- }
- else if (tmp == 'f'){
- modeoffall();
- mode = 2;
- }
- else if (tmp == 't'){
- modeonall();
- delay (4000);
- tampildata();
- mode = 2;
- } else if (tmp == '1'){
- //modeflipflop();
- mode = 1;
- }
- }
- if (mode== 1){
- modeflipflop();
- }
- if (mode== 2){
- //tampildata();
- }
- //delay (1);
- // tampildata();
- }
- void tampildata(){
- status1 = ! digitalRead (in1);
- status2 = ! digitalRead (in2);
- status3 = ! digitalRead (in3);
- Serial.print (status1);
- Serial.print (",");
- Serial.print (status2);
- Serial.print (",");
- Serial.println (status3);
- }
- void modeoffall(){
- //delay (1000);
- digitalWrite(relay1, HIGH);
- digitalWrite(relay2, HIGH);
- digitalWrite(relay3, HIGH);
- //tampildata();
- // Serial.println ("Mode off");
- }
- void modeonall(){
- digitalWrite(relay1, LOW);
- digitalWrite(relay2, LOW);
- digitalWrite(relay3, LOW);
- // Serial.println ("Mode On");
- // tampildata();
- }
- void modeflipflop(){
- // tampildata();
- unsigned long currentMillis = millis();
- if (currentMillis - previousMillis >= pause) {
- // save the last time you blinked the relay
- previousMillis = currentMillis;
- if (count == 0) {
- digitalWrite(relay1, LOW);
- digitalWrite(relay2, HIGH);
- digitalWrite(relay3, HIGH);
- tampildata();
- }
- else if (count == 1){
- digitalWrite(relay1, HIGH);
- digitalWrite(relay2, LOW);
- digitalWrite(relay3, HIGH);
- tampildata();
- }
- else if (count == 2) {
- digitalWrite(relay1, HIGH);
- digitalWrite(relay2, HIGH);
- digitalWrite(relay3, LOW);
- tampildata();
- }
- else if (count == 3) {
- count = -1;
- }
- count++;
- }
- // tampildata();
- }
Advertisement
Add Comment
Please, Sign In to add comment