Arduino tutorial #02 | Serial communication
Contents
- Basic
- functions
- Hello, Arduino
- Blink
- Use
- Long message
- +Processing
Basic
Functions
- Serial.begin(<band>)
- Serial.available()
- Serial.read()
- Serial.print(<message>)
- Serial.println(<message>)
Hello, Arduino
void setup(){ Serial.begin(9600); } void loop(){ } void serialEvent() { if(Serial.available()>0){ if(Serial.read()=='h'){ Serial.println("Hello, I am Arduino"); } } }
Blink
int led = 13; void setup(){ Serial.begin(9600); pinMode(led, OUTPUT); } void loop(){ } void serialEvent() { if(Serial.available()>0){ char c = Serial.read(); if(c=='h'){ digitalWrite(led,HIGH); Serial.println("I turned led on!"); } if(c=='l'){ digitalWrite(led,LOW); Serial.println("I turned led off!"); } } }
Use
Long message
String inputString = ""; boolean stringComplete = false; void setup() { Serial.begin(9600); } void loop() { if (stringComplete) { if(inputString == "hello"){ Serial.println("Hello, I'm Arduino."); }else if(inputString == "bye"){ Serial.println("See you."); }else{ Serial.println("?"); } inputString = ""; stringComplete = false; } } void serialEvent() { while (Serial.available()) { char inChar = (char)Serial.read(); if (inChar == '\n') { stringComplete = true; }else{ inputString += inChar; } } }
+Processing
Arduino code
int led = 9; void setup() { Serial.begin(9600); pinMode(led,OUTPUT); } void loop() { } void serialEvent() { if(Serial.available()>0){ analogWrite(led, int(Serial.read())); } }
processing code
import processing.serial.*; Serial myPort; void setup() { size(255, 255); println(Serial.list()); strokeWeight(5); String portName = Serial.list()[2]; myPort = new Serial(this, portName, 9600); } void draw() { background(255); myPort.write(int(mouseX)); point(mouseX,mouseY) }