/* Program 2-4: Toggling Three pins * This program turns on the three pins with all the * possible combinations. */ const int PINS[] = {5, 9, 10}; /* 3 pins */ void setup() { /* configure output pins */ for (int i = 0; i < 3; i++) { pinMode(PINS[i], OUTPUT); } } void loop() { for (int i = 0; i < 8; i++) { digitalGroupWrite(PINS, 3, i); delay(500); } } /* write to a group of output pins */ void digitalGroupWrite(const int* group, int length, int data) { for (int i = 0; i < length; i++) digitalWrite(group[i], data & (1 << i) ? HIGH : LOW); }