init v0.1
This commit is contained in:
		
						commit
						7bf7b5f131
					
				| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
This code is released under the DWTW license
 | 
			
		||||
 | 
			
		||||
This program is free software; you can redistribute it and/or modify it under the terms of the Do What Thou Wilt License.
 | 
			
		||||
 | 
			
		||||
Boundless Public License
 | 
			
		||||
DO WHAT THOU WILT
 | 
			
		||||
TO PUBLIC LICENSE
 | 
			
		||||
 | 
			
		||||
Version 2.55
 | 
			
		||||
 | 
			
		||||
Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it in full or in part is allowed without any restrictions.
 | 
			
		||||
 | 
			
		||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 | 
			
		||||
 | 
			
		||||
0. Do what thou wilt shall be the whole of the Law.
 | 
			
		||||
 | 
			
		||||
DWTWL – a license with a single requirement: DO WHAT THOU WILT
 | 
			
		||||
 | 
			
		||||
The license provides more freedom than any other one (such as GPL or BSD) and does not require saving the license text on copying.
 | 
			
		||||
 | 
			
		||||
DWTWL – an accomplished and eligible license for free text, code and any other symbols (including the software, documentation and artwork).
 | 
			
		||||
 | 
			
		||||
The license does not contain a "no warranty" clause. DWTWL can be used in countries that do not legally acknowledge the transition to public domain.
 | 
			
		||||
 | 
			
		||||
Summary:
 | 
			
		||||
 | 
			
		||||
An author-creator gives their source code to the world for free, without becoming distracted by worldly thinking regarding how and why the others will use it.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
8-channel relay on arduino serial control with permanent led blinking
 | 
			
		||||
======
 | 
			
		||||
 | 
			
		||||
Use 10uF capacitor for disabling autoreset on serial connection
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -0,0 +1,78 @@
 | 
			
		|||
// 8-channel relay on arduino serial control with permanent led blinking
 | 
			
		||||
// v0.1 under dwtwl 2.55
 | 
			
		||||
// ch1 = pin2; ch2 = pin3; ch3 = pin4; ch4 = pin5;
 | 
			
		||||
// ch5 = pin6; ch6 = pin7; ch7 = pin8; ch8 = pin9; led = pin13;
 | 
			
		||||
// send: switch on = 1X; switch off = 2X; get status = 3X;
 | 
			
		||||
// codes: in = init; eX = enabled; dX = disabled; tX = power on; fX = off;
 | 
			
		||||
#include <Thread.h>
 | 
			
		||||
Thread ledThread = Thread();
 | 
			
		||||
 | 
			
		||||
int incomingNumber = 0;
 | 
			
		||||
 | 
			
		||||
void setup() {
 | 
			
		||||
  Serial.begin(9600);
 | 
			
		||||
  pinMode(13, OUTPUT);
 | 
			
		||||
  for(int i=2;i<10;i++){
 | 
			
		||||
    pinMode(i, OUTPUT);
 | 
			
		||||
    digitalWrite(i, HIGH);
 | 
			
		||||
  }
 | 
			
		||||
  Serial.println("in");
 | 
			
		||||
 | 
			
		||||
  ledThread.onRun(ledBlink);
 | 
			
		||||
  ledThread.setInterval(1000);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ledBlink() {
 | 
			
		||||
  static bool ledStatus = false;
 | 
			
		||||
  ledStatus = !ledStatus;
 | 
			
		||||
  digitalWrite(13, ledStatus);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
  // Thread init:
 | 
			
		||||
  if (ledThread.shouldRun())
 | 
			
		||||
    ledThread.run();
 | 
			
		||||
  
 | 
			
		||||
  if (Serial.available() > 0) {
 | 
			
		||||
    int incomingByte = Serial.read()-48;
 | 
			
		||||
    if (incomingByte>=0 && incomingByte<=9) {
 | 
			
		||||
      incomingNumber=incomingNumber*10+incomingByte;
 | 
			
		||||
    } else {
 | 
			
		||||
      if (incomingNumber>=10 && incomingNumber<=19) {
 | 
			
		||||
        delay(500);
 | 
			
		||||
        int currentPin = incomingNumber - 9;
 | 
			
		||||
        char currentChannel[] = "e0";
 | 
			
		||||
        currentChannel[1] = '0' + (currentPin - 1);
 | 
			
		||||
        digitalWrite(currentPin, LOW);
 | 
			
		||||
        Serial.println(currentChannel);
 | 
			
		||||
        delay(500);
 | 
			
		||||
      }
 | 
			
		||||
      
 | 
			
		||||
      if (incomingNumber>=20 && incomingNumber<=29) {
 | 
			
		||||
        delay(500);
 | 
			
		||||
        int currentPin = incomingNumber - 19;
 | 
			
		||||
        char currentChannel[] = "d0";
 | 
			
		||||
        currentChannel[1] = '0' + (currentPin - 1);
 | 
			
		||||
        digitalWrite(currentPin, HIGH);
 | 
			
		||||
        Serial.println(currentChannel);
 | 
			
		||||
        delay(500);
 | 
			
		||||
      }
 | 
			
		||||
      
 | 
			
		||||
      if (incomingNumber>=30 && incomingNumber<=39) {
 | 
			
		||||
        delay(500);
 | 
			
		||||
        int currentPin = incomingNumber - 29;
 | 
			
		||||
        if (digitalRead(currentPin)==HIGH) {
 | 
			
		||||
          char currentChannel[] = "f0";
 | 
			
		||||
          currentChannel[1] = '0' + (currentPin - 1);
 | 
			
		||||
          Serial.println(currentChannel);
 | 
			
		||||
        } else {
 | 
			
		||||
          char currentChannel[] = "t0";
 | 
			
		||||
          currentChannel[1] = '0' + (currentPin - 1);
 | 
			
		||||
          Serial.println(currentChannel);
 | 
			
		||||
        }
 | 
			
		||||
        delay(500);
 | 
			
		||||
      }
 | 
			
		||||
      incomingNumber = 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 162 KiB  | 
		Loading…
	
		Reference in New Issue