7th Inning: Difference between revisions
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…' |
Notyou007a (talk | contribs) No edit summary |
||
| (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
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);
}
