MakerPlot
  • Home
  • Features
  • Free Trial
  • Buy
  • New
  • More
    • Guide
    • Interfaces
    • Videos >
      • Basic Plotting
      • Interfaces
      • Learn
      • Maker
    • Arduino Sketches
    • FAQ
    • Building Tools
    • Custom Interfaces
    • Developers
    • Hot Keys
    • License Information
    • Trademarks
    • Terms and Conditions
    • Common Problems
  • Contact

Arduino Sketch    Arduino Setpoint Example


// Arduino Setpoint Example
// This sketch is in the public domain

const int analogInPin = A0;   // Analog input pin that the potentiometer is attached to
const int LEDpin = 9;         // Analog output pin that the LED is attached to
const int SW1pin = 2;         // Pushbutton switch, raise setpoint
const int SW2pin = 3;         // Pushbutton switch, lower setpoint

int sensorValue = 0;         // value read from the pot
int setPoint = 100;          // Initial value of setPoint
int SW1state = 0;            // Store state of SW1
int SW2state = 0;            // Store state of SW2
int LEDstate = 0;            // Store state of LED

void setup() {
  // configure hardware
  pinMode(SW1pin, INPUT_PULLUP);  // Enable pull-ups on switches
  pinMode(SW2pin, INPUT_PULLUP);  
  pinMode(LEDpin, OUTPUT);        // set LED to be an output pin
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);
}

void loop() {
  // read the analog in value
  sensorValue = analogRead(analogInPin);            
 
  // Check pot value against setpoint, if above light LED
  if (sensorValue > setPoint)
    LEDstate = 1;
  else
    LEDstate = 0;
  digitalWrite(LEDpin,LEDstate);

  // Check states of pushbuttons, if pressed change setpoint up or down    
  SW1state = digitalRead(SW1pin);
  if (SW1state == 0)
    setPoint++;
  SW2state = digitalRead(SW2pin);  
  if (SW2state == 0)
    setPoint--;  

  // print the analog values formatted for MakerPlot
  Serial.print(sensorValue);  // send 1st value      
  Serial.print(",");          // send comma delimiter
  Serial.println(setPoint);   // send 2nd value with carriage return
 
  // print the digital values formatted for MakerPlot
  Serial.print("%");          // send binary indicator
  Serial.print(SW1state);     // send 1/0 for SW1
  Serial.print(SW2state);     // send 1/0 for SW2
  Serial.println(LEDstate);   // send 1/0 for LED with carriage return

  // wait 100 milliseconds before the next loop
  delay(100);                     
}

copyright  LearnOnLine, Inc.
MakerPlot is a product of SelmaWare Solutions, LLC
LearnOnLine, Inc. is the exclusive distributor of MakerPlot