Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int mode = 1;
- int total = 2; // maximum 8
- int potPIN = A0; // analog pin
- int potVAL = 0;
- int ledPIN = 3; // digital pin
- int ledVAL = LOW;
- int muxPIN[] = {10,11,12}; // digital pin
- String MUX = "MUX ";
- int k = 0;
- void writeMux(int x) {
- for (int i = 0; i < 3; i++) {
- if (bitRead(x,i) == 1) {
- digitalWrite(muxPIN[i],HIGH);
- } else {
- digitalWrite(muxPIN[i],LOW);
- }
- }
- }
- void setup() {
- Serial.begin(9600); // for serial monitor
- pinMode(potPIN, INPUT);
- pinMode(ledPIN, OUTPUT);
- for (int i = 0; i < 3; i++) {
- pinMode(muxPIN[i], OUTPUT);
- }
- }
- void loop() {
- // MODE 0
- if (mode == 0) {
- potVAL = analogRead(potPIN);
- Serial.println(potVAL);
- delay(100);
- }
- // MODE 1
- else if (mode == 1) {
- while (k < total) {
- writeMux(k);
- digitalWrite(ledPIN, HIGH);
- potVAL = analogRead(potPIN);
- String mOut = MUX + k;
- Serial.println(mOut);
- Serial.print("\t");
- Serial.println(potVAL);
- delay(1000);
- if (k == (total - 1)) {
- k = 0;
- }
- else {
- k++;
- }
- digitalWrite(ledPIN,LOW);
- }
- }
- // UNUSED DEFAULT CASE
- else {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement