Difference between revisions of "7th Inning"

From LVL1
Jump to navigation Jump to search
(Created page with '==Introduction== '''Photocells and thermistors''' ==Components Needed== *Freeduino or Arduino or clone *USB cable for Freeduino *Freeduino development software - [http://www.a…')
 
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
__NOTOC__
 
==Introduction==
 
==Introduction==
 
'''Photocells and thermistors'''  
 
'''Photocells and thermistors'''  
 +
Here we set up voltage dividers for a photocell and a thermistor
 +
The code works the same as the potentiometer!
 +
Both the photocell and the thermistor are 3K so we set the voltage divider up with 3K resistors (orange-black-red)
  
  
Line 11: Line 15:
  
 
==How to==
 
==How to==
 
+
*See the fritzing diagram
  
 
==Schematic==
 
==Schematic==
 +
The schematic was to confusing on the Fritzing program.  I will try to make it cleaner...
  
 
==Fritzing==
 
==Fritzing==
 +
[[File:Lvl1-Inning7 bb.jpg]]
  
 
==Code==
 
==Code==
 +
<pre>
 +
//This code builds upon Inning 5 by
 +
//showing the value of a pot on analog 0
 +
//bpw 5/11/10
 +
 +
 +
// include the library code:
 +
#include <LiquidCrystal.h>
 +
 +
// initialize the library with the numbers of the interface pins
 +
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
 +
 +
int inPin = 2;  // choose the input pin (for a pushbutton)
 +
int val = 0;    // variable for reading the pin status
 +
 +
int potpin = 0;  // analog pin 0
 +
int potval = 0;    // variable for reading the pin status
 +
 +
int pcpin = 1;  // analog pin 1 - photocell
 +
int pcval = 0;    // variable for reading the pin status
 +
 +
int thpin = 2;  // analog pin 2 - thermistor
 +
int thval = 0;    // variable for reading the pin status
 +
 +
void setup() {
 +
  // set up the LCD's number of rows and columns:
 +
  lcd.begin(16, 2);
 +
  // Print a message to the LCD.
 +
  //lcd.print("hello, world!");
 +
 
 +
  pinMode(inPin, INPUT);    // declare pushbutton as input
 +
  digitalWrite(inPin,HIGH);  //engages internal pullup resistor
 +
 +
 +
}
 +
 +
void loop() {
 +
  // set the cursor to column 0, line 1
 +
  // (note: line 1 is the second row, since counting begins with 0):
 +
  lcd.setCursor(0, 1);
 +
  // print the number of seconds since reset:
 +
  lcd.print(millis()/1000);
 +
 
 +
  lcd.setCursor(6, 1);  //col 6, row 1
 +
  //code for button pressed!
 +
  val = digitalRead(inPin);  // read input value
 +
  if (val == LOW) {        // check if the input is HIGH (button released)
 +
    lcd.print("DOWN");
 +
  } else {
 +
    lcd.print("UP  ");
 +
  }
 +
 
 +
  //read the pot - values are 0..1023
 +
  lcd.setCursor(12, 1);  //col 12, row 1
 +
  lcd.print("    ");
 +
  potval = analogRead(potpin);    // read the value from the (center lead of ) potentiometer connected to potpin
 +
  lcd.setCursor(12, 1);  //col 12, row 1
 +
  lcd.print(potval);
 +
 
 +
  //read the photocell - values are 0..1023
 +
  lcd.setCursor(0, 0);  //col 12, row 1
 +
  lcd.print("PC:");
 +
  pcval = analogRead(pcpin);    // read the value from the photocell circuit
 +
  lcd.print(pcval);
 +
 
 +
    //read the thermistor - values are 0..1023
 +
  lcd.print("  Th:");
 +
  thval = analogRead(thpin);    // read the value from the thermistor circuit
 +
  lcd.print(thval);
 +
 
 +
}
 +
 +
</pre>
  
 
==Troubleshooting==
 
==Troubleshooting==
 +
 +
[[Category:HOWTO]]

Latest revision as of 23:49, 25 June 2015

Introduction

Photocells and thermistors Here we set up voltage dividers for a photocell and a thermistor The code works the same as the potentiometer! Both the photocell and the thermistor are 3K so we set the voltage divider up with 3K resistors (orange-black-red)


Components Needed

  • Freeduino or Arduino or clone
  • USB cable for Freeduino
  • Freeduino development software - download here!
  • Solderless Breadboard
  • Hookup wire 22gauge solid

How to

  • See the fritzing diagram

Schematic

The schematic was to confusing on the Fritzing program. I will try to make it cleaner...

Fritzing

Lvl1-Inning7 bb.jpg

Code

//This code builds upon Inning 5 by
//showing the value of a pot on analog 0
//bpw 5/11/10


// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

int inPin = 2;   // choose the input pin (for a pushbutton)
int val = 0;     // variable for reading the pin status

int potpin = 0;  // analog pin 0
int potval = 0;     // variable for reading the pin status

int pcpin = 1;  // analog pin 1 - photocell
int pcval = 0;     // variable for reading the pin status

int thpin = 2;  // analog pin 2 - thermistor
int thval = 0;     // variable for reading the pin status

void setup() {
  // set up the LCD's number of rows and columns: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  //lcd.print("hello, world!");
  
  pinMode(inPin, INPUT);    // declare pushbutton as input
  digitalWrite(inPin,HIGH);  //engages internal pullup resistor


}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
  
  lcd.setCursor(6, 1);  //col 6, row 1
  //code for button pressed!
  val = digitalRead(inPin);  // read input value
  if (val == LOW) {         // check if the input is HIGH (button released)
    lcd.print("DOWN");
  } else {
    lcd.print("UP  ");
  }
  
  //read the pot - values are 0..1023
  lcd.setCursor(12, 1);  //col 12, row 1
  lcd.print("    ");
  potval = analogRead(potpin);    // read the value from the (center lead of ) potentiometer connected to potpin
  lcd.setCursor(12, 1);  //col 12, row 1
  lcd.print(potval);
  
  //read the photocell - values are 0..1023
  lcd.setCursor(0, 0);  //col 12, row 1
  lcd.print("PC:");
  pcval = analogRead(pcpin);    // read the value from the photocell circuit
  lcd.print(pcval);
  
    //read the thermistor - values are 0..1023
  lcd.print("  Th:");
  thval = analogRead(thpin);    // read the value from the thermistor circuit
  lcd.print(thval);
  
}

Troubleshooting