Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //pin definitions
- int redPin = 7;
- int greenPin = 5;
- int bluePin = 6;
- int buttonPin = 2;
- //serial vars
- char commandBuffer[512];
- uint8_t buffPos = 0;
- byte incomingByte = 0;
- String line = "";
- bool avail = false;
- //button vars
- int prev = LOW;
- int reading = LOW;
- void setup()
- {
- Serial.begin(9600);
- pinMode(redPin, OUTPUT);
- pinMode(greenPin, OUTPUT);
- pinMode(bluePin, OUTPUT);
- pinMode(buttonPin, INPUT);
- analogWrite(redPin, 0);
- analogWrite(greenPin, 0);
- analogWrite(bluePin, 0);
- }
- void loop()
- {
- SerialRead();
- if(avail){
- avail=false;
- if(line.equals("green"))
- digitalWrite(greenPin, HIGH);
- else if(line.equals("red")){
- digitalWrite(redPin, HIGH);
- else if(line.equals("yellow"))
- digitalWrite(bluePin, HIGH);
- }
- reading = digitalRead(buttonPin);
- if(reading!=prev){
- if(reading == HIGH)
- Serial.println("button_high");
- else
- Serial.println("button_low");
- prev = reading;
- }
- }
- void setColor(int red, int green, int blue)
- {
- analogWrite(redPin, red);
- analogWrite(greenPin, green);
- analogWrite(bluePin, blue);
- }
- void serialRead(){
- if (Serial.available() > 0) {
- incomingByte = Serial.read();
- if (incomingByte == 13) {
- line = commandBuffer;
- line.trim();
- avail = true;
- memset(commandBuffer, 0, 100);
- buffPos = 0;
- }else{
- commandBuffer[buffPos] = incomingByte;
- buffPos++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement