MakerPlot
  • Home
  • Features
  • Free Trial
  • Buy
  • New
  • Help
    • Forum
    • 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    MP_SimpleAnalogDigital


/*
Simple Analog & Digital Plotting with MakerPlot

Reads analog value, uses switches to set the setpoint
lighting an LED is above setpoint.
Plots analog values of input and setpoint and
digital values of switches and LED state.
 
 The circuit:
 * potentiometer connected to A0.
   Center pin of the potentiometer goes to the analog pin.
   side pins of the potentiometer go to +5V and ground
 * LED connected from digital D9 to ground
 * Pushbutton swithes on D2 and D3 going to ground.
 
 created 3 July 2012
 by Martin Hebel, SelmaWare Solutions
 
 This example code 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, it 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