English
Español
PCBWAY PCB service

PCBWAY PCB service

PCBONLINE PCB service






DIY flash ADC, Arduino encoder code


Download the .zip file below. Install it on your Arduino IDE.







/*
 * 3 bit encoder code with LM325 OpAmps
 * http://www.electronoobs.com
 * http://www.youtube.com/c/electronoobs
 */

int in1 = 2;
int in2 = 3;
int in3 = 4;
int in4 = 5;
int in5 = 6;
int in6 = 7;
int in7 = 8;
int in8 = 9;

int bit1 = 10;
int bit2 = 11;
int bit3 = 12;



void setup() {
  pinMode(in1, INPUT);
  pinMode(in2, INPUT);
  pinMode(in3, INPUT);
  pinMode(in4, INPUT);
  pinMode(in5, INPUT);
  pinMode(in6, INPUT);
  pinMode(in7, INPUT);
  pinMode(in8, INPUT);

  pinMode(bit1, OUTPUT);
  pinMode(bit2, OUTPUT);
  pinMode(bit3, OUTPUT);
}

void loop() {

  if(digitalRead(in1))
  {
    digitalWrite(bit1,HIGH); digitalWrite(bit2,HIGH); digitalWrite(bit3,HIGH);//7
  }
  else
  {
    if(digitalRead(in2))
    {
      digitalWrite(bit1,HIGH); digitalWrite(bit2,HIGH); digitalWrite(bit3,LOW);//6
    }
    else
    {
      if(digitalRead(in3))
      {
        digitalWrite(bit1,HIGH); digitalWrite(bit2,LOW); digitalWrite(bit3,HIGH);//5
      }
      else
      {
        if(digitalRead(in4))
        {
          digitalWrite(bit1,HIGH); digitalWrite(bit2,LOW); digitalWrite(bit3,LOW);//4
        }
        else
        {
          if(digitalRead(in5))
          {
            digitalWrite(bit1,LOW); digitalWrite(bit2,HIGH); digitalWrite(bit3,HIGH);//3
          }
          else
          {
            if(digitalRead(in6))
            {
              digitalWrite(bit1,LOW); digitalWrite(bit2,HIGH); digitalWrite(bit3,LOW);//2
            }
            else
            {
              if(digitalRead(in7))
              {
                digitalWrite(bit1,LOW); digitalWrite(bit2,LOW); digitalWrite(bit3,HIGH);//1
              }
              else
              {
                digitalWrite(bit1,LOW); digitalWrite(bit2,LOW); digitalWrite(bit3,LOW);//0
              }
            }
          }
        }
      }
    }
  }
}