Arduino Nano test circuit.

Arduino Nano Test Template

by Lewis Loflin

This is a template for the a series on motor control with the Arduino Nano or similar micro-controller.

It has a small test program that can be cut and pasted to an Arduino compiler.

This is going to combine hardware with software control. This is a tutorial for Arduino beginners.

This is more expanded than in the video.

Arduino motor test circuit.




// Note:

// if (S1()) digitalWrite(LED1, ON);

// is the same as: 

// if (S1() == 1) digitalWrite(LED1, ON);

// Any value != 0 is true.

// 0 is false


// Basic template cut and paste.
// Functions S1(0), S2(), and POT()
// LED1(), LED2(), and LED3().

/*
S1 or S2 turn on associated motor
No LCD or power enable LED3
*/

#define SW1 2
#define SW2 3
#define L1 9 // LED DP9
#define L2 10 // LED DP10
#define L3 11 // LED DP11
#define pot 0

// HIGH = 1 and LOW = 0
#define ON 1
#define OFF 0

// define subroutines saves time

// return HIGH when pressed
byte  S1(void)   {
  if (digitalRead(SW1) != 1) return 1;
  else  return 0;
}

// return HIGH when pressed
byte  S2(void)   {
  if (digitalRead(SW2) != 1) return 1;
  else  return 0;
}

// return 0-1023 from ADC
int   POT(void)   {
  int num = analogRead(pot);
  return num;
}

// write LED1
void   LED1(byte temp)   {
  digitalWrite(L1, temp);
}

// write LED2
void   LED2(byte temp)   {
  digitalWrite(L2, temp);
}

// write LED3
void   LED3(byte temp)   {
  digitalWrite(L3, temp);
}

void setup() {
  // put your setup code here, to run once:
  pinMode(L1, OUTPUT);
  pinMode(L2, OUTPUT);
  pinMode(L3, OUTPUT);
  pinMode(SW1, INPUT);
  digitalWrite(SW1, HIGH); // pull up on
  pinMode(SW2, INPUT);
  digitalWrite(SW2, HIGH); // pull up on
}


void loop() {
  delay(100);

  // same as if (S1() == 1)
  if ( S1() ) LED1(ON); // digitalWrite(L1, ON);
  else LED1(OFF); // digitalWrite(L1, OFF);

  // same as if (S2() == 1)
  if ( S2() ) LED2(ON); // digitalWrite(L2, HIGH);
  else LED2(OFF); // digitalWrite(L2, LOW);// end loop