Lab: Arduino 01
1st round of Arduino setups. After some struggle, I got 3 analog inputs that you can dial and try out different combinations until you hit the right code. When you do, the LED array spells out “HELLO”. . .
Setup#01
Input:Switch
Processing:if swtich is on turn green off and turn red on
Output: green or red LED
void setup() {
pinMode(2, INPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}void loop() {
// read the switch input:
int sw2 = digitalRead(2);if (sw2 == 0) {
// if the switch is closed:
digitalWrite(13, HIGH); // turn on the yellow LED
digitalWrite(12, LOW); // turn on the yellow LED
}
else {
// if the switch is open:
digitalWrite(13, LOW); // turn off the yellow LED
digitalWrite(12, HIGH); // turn off the yellow LED
}
}
Setup #02
Input:Analog pot
Processing:blink 1,2,or3 LEDs at different speeds depending on pot input
Output: 1,2, or 3 blinking LEDs
boolean state11,state12,state13;
void setup() {
pinMode(2, INPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}void loop() {
// read the switch input:
int a0 = analogRead(0);//0-1023if (a0>0 && a0 < 1023*1/3 ) {
state11=true;
state12=false;
state13=false;
}
if (a0 > 1023*1/3 && a0 < 1023*2/3) {
state11=true;
state12=true;
state13=false;
}
if (a0 > 1023*2/3) {
state11=true;
state12=true;
state13=true;
}blinkLed(11,state11,a0);
blinkLed(12,state12,a0);
blinkLed(13,state13,a0);}
void blinkLed(int pinNum,boolean state, int pinRead){
if(state==true){
if(millis()%pinRead<50){
digitalWrite(pinNum, HIGH);
}
else{
digitalWrite(pinNum, LOW);
}
}
}
Setup #03
Input:2 pots
Processing:2 sets of 1-3 LEDs on depending on input of each pot
Output:2 sets of 1-3 LEDs on or off
boolean state [14];
void setup() {
for (int i=8;i<=13;i++){
pinMode(i, OUTPUT);
}
}void loop() {
// read the switch input:
int a0 = analogRead(0);//0-1023
int a1 = analogRead(1);//0-1023ledStates(a0,11,12,13);
ledStates(a1,8,9,10);blinkLed(11,state[11],a0);
blinkLed(12,state[12],a0);
blinkLed(13,state[13],a0);blinkLed(8,state[8],a1);
blinkLed(9,state[9],a1);
blinkLed(10,state[10],a1);
}void ledStates(int analogInput, int a, int b, int c){
if (analogInput > 1023*1/4 && analogInput< 1023*2/4 ) {
state[a]=true;
state[b]=false;
state[c]=false;
}
if (analogInput > 1023*2/4 && analogInput < 1023*3/4) {
state[a]=true;
state[b]=true;
state[c]=false;
}
if (analogInput > 1023*3/4) {
state[a]=true;
state[b]=true;
state[c]=true;
}
if (analogInput < 1023*1/4 ) {
state[a]=false;
state[b]=false;
state[c]=false;}
}void blinkLed(int pinNum,boolean state, int pinRead){
if(state==true){
// if(millis()%pinRead<250){
digitalWrite(pinNum, HIGH);
}
else{
digitalWrite(pinNum, LOW);
}
//}
}
Setup #04
Input:3 pots
Processing:translate 3 pots to numbers from 0-3 for codebreak. If the code is dialed, display “HELLO” in LED array
Output:9 blinking LEDs displaying pot dial location and “HELLO” if pots are dialed to the correct location.
(it’s showing L of HELLO in the photo)
boolean state [13];
void setup() {
for (int i=0;i<=13;i++){
pinMode(i, OUTPUT);
}
}void loop() {
// read the switch input:
int a0 = analogRead(0);//0-1023
int a1 = analogRead(1);//0-1023
int a2 = analogRead(2);//0-1023int a2Led=ledStates(a2,5,6,7);
int a1Led=ledStates(a1,8,9,10);
int a0Led=ledStates(a0,11,12,13);blinkLed(5,state[5],a2);
blinkLed(6,state[6],a2);
blinkLed(7,state[7],a2);
blinkLed(8,state[8],a1);
blinkLed(9,state[9],a1);
blinkLed(10,state[10],a1);
blinkLed(11,state[11],a0);
blinkLed(12,state[12],a0);
blinkLed(13,state[13],a0);lockCheck(a2Led,a1Led,a0Led,2,2,2);
}
int aa=0;
void lockCheck(int a2Led,int a1Led,int a0Led,int a , int b, int c){
if (a2Led==a && a1Led==b && a0Led==c){
aa++;
}
if(aa>100){
aa=0;
blinkHello();
}
}void clearLed(){
delay(700);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
delay(70);
}void blinkHello(){
clearLed();
//H
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);//e
clearLed();
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);//l
clearLed();
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);//l
clearLed();
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);//o
clearLed();
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
delay(1000);
}int ledStates(int analogInput, int a, int b, int c){
int n;
if (analogInput > 1023*1/4 && analogInput< 1023*2/4 ) {
state[a]=true;
state[b]=false;
state[c]=false;
n=1;
}
if (analogInput > 1023*2/4 && analogInput < 1023*3/4) {
state[a]=true;
state[b]=true;
state[c]=false;
n=2;
}
if (analogInput > 1023*3/4) {
state[a]=true;
state[b]=true;
state[c]=true;
n=3;
}
if (analogInput < 1023*1/4 ) {
state[a]=false;
state[b]=false;
state[c]=false;
n=0;}
return n;
}void blinkLed(int pinNum,boolean state, int pinRead){
if(state==true && millis()%100digitalWrite(pinNum, HIGH);
}
else{
digitalWrite(pinNum, LOW);
}
}
Setup #05
Input:3 pots and 1 antenna
Processing: translate 3 pots to numbers from 0-3 for codebreak. LEDs blink according to analog reading from antanna (calibrated to blink upon proximity and full LED brightness when touched. If the code is dialed, display “HELLO” in LED array
Output:9 blinking LEDs based on antenna sensitivity, displaying pot dial location and “HELLO” if pots are dialed to the correct location.
boolean state [13];
void setup() {
for (int i=0;i<=13;i++){
pinMode(i, OUTPUT);
}
}void loop() {
// read the switch input:
int a0 = analogRead(0);//0-1023
int a1 = analogRead(1);//0-1023
int a2 = analogRead(2);//0-1023
int a3 = analogRead(3);//0-1023int a2Led=ledStates(a2,5,6,7);
int a1Led=ledStates(a1,8,9,10);
int a0Led=ledStates(a0,11,12,13);blinkLed(5,state[5],a2,a3);
blinkLed(6,state[6],a2,a3);
blinkLed(7,state[7],a2,a3);
blinkLed(8,state[8],a1,a3);
blinkLed(9,state[9],a1,a3);
blinkLed(10,state[10],a1,a3);
blinkLed(11,state[11],a0,a3);
blinkLed(12,state[12],a0,a3);
blinkLed(13,state[13],a0,a3);lockCheck(a2Led,a1Led,a0Led,2,2,2);
}int aa=0;
void lockCheck(int a2Led,int a1Led,int a0Led,int a , int b, int c){
if (a2Led==a && a1Led==b && a0Led==c){
aa++;
}
if(aa>100){
aa=0;
blinkHello();
}
}void clearLed(){
delay(700);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
delay(70);
}void blinkHello(){
clearLed();
//H
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
digitalWrite(13,HIGH);//e
clearLed();
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);//l
clearLed();
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);//l
clearLed();
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);//o
clearLed();
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
delay(1000);
}int ledStates(int analogInput, int a, int b, int c){
int n;
if (analogInput > 1023*1/4 && analogInput< 1023*2/4 ) {
state[a]=true;
state[b]=false;
state[c]=false;
n=1;
}
if (analogInput > 1023*2/4 && analogInput < 1023*3/4) {
state[a]=true;
state[b]=true;
state[c]=false;
n=2;
}
if (analogInput > 1023*3/4) {
state[a]=true;
state[b]=true;
state[c]=true;
n=3;
}
if (analogInput < 1023*1/4 ) {
state[a]=false;
state[b]=false;
state[c]=false;
n=0;}
return n;
}void blinkLed(int pinNum,boolean state, int pinRead, int a3){
if(state==true && a3>900){
digitalWrite(pinNum, HIGH);
}
else{
digitalWrite(pinNum, LOW);
}
}
- Published:
- 09.13.07 / 10pm
- Category:
- ITP, Physical Computing, Work in Progress
- Related: [Lab: Electronics][LAB: Arduino 02][Ornos : Prototype Shell 01]












No comments
Jump to comment form | comments rss [?] | trackback uri [?]