Adafruit Data Logger Shield Created by Bill Earl Last updated on 2017-01-23 06:01:05 PM UTC
Guide Contents Guide Contents Overview 2 5 Features: 6 Installing the Headers Assembly with male headers Cut the headers to length: Position the headers: Position the shield: And solder! Assembly with Stacking Headers: Position the headers: And solder! Place the 2x3 female header on to the Arduino/Metro Shield Overview SD Card Real Time Clock 7 7 8 9 9 10 12 13 14 16 20 20 21 CR1220 12mm Diameter - 3V Lithium Coin Cell Battery 3.
First RTC test Setting the time Reading the time Using the SD Card 37 38 39 41 4GB Blank SD/MicroSD Memory Card USB MicroSD Card Reader/Writer - microSD / microSDHC / microSDXC Formatting under Windows/Mac Get Card Info Light and Temperature Logger Introduction Build It! Items you'll need: 41 42 42 43 49 49 51 51 The sensors Wiring it up 52 55 Position the sensors Prepare some jumpers Install the Jumpers Make the connections Add more jumpers for the Sensors And also for the LEDs Solder and trim all
Main loop Timestamping Log sensor data 80 80 81 Downloads Files Revision B Schematics Original Version Schematics © Adafruit Industries https://learn.adafruit.
Overview Here's a handy Arduino shield: we've had a lot of people looking for a dedicated and welldesigned data logging shield. We worked hard to engineer an inexpensive but well-rounded design. This shield makes it easy to add a 'hard disk' with gigabytes of storage to your Arduino! Our latest version of this popular shield has all the features of the popular original, and is "R3" compatible so you can use it with just about any Arduino or compatible.
Features: SD card interface works with FAT16 or FAT32 formatted cards. Built in 3.3v level shifter circuitry lets you read or write super fast and prevents damage to your SD card Real time clock (RTC) keeps the time going even when the Arduino is unplugged. The coin cell battery backup lasts for years Included libraries and example code for both SD and RTC mean you can get going quickly Prototyping area for soldering connectors, circuitry or sensors. Two onfigurable indicator LEDs Onboard 3.
Installing the Headers The Adafruit Data Logger shield comes tested assembled with all components and SD socket already on it, but you'll still need need to put headers on so you can plug it into an Arduino We don't pre-assemble the headers on because there'stwo options! You can either use plain 0.1" male headers (included with the shield) or Arduino Shield Stacking headers (http://adafru.it/85). Both options additionally require a 2x3 female header soldered on.
about using these is they don't add anything to the height of the project, and they make a nice solid connection. However, you won't be able to stack another shield on top. Trade offs! Cut the headers to length: Line the header strip up with the holes on the edge of the shield and cut 4 sections of header strip to fit. © Adafruit Industries https://learn.adafruit.
Position the headers: Insert the header sections - long pins down - into the female headers on your Arduino/Metro. Additionally insert the 2x3 female header into the corresponding pins on the opposite side as the USB. Position the shield: Align the shield with the header pins and press down. © Adafruit Industries https://learn.adafruit.
And solder! Solder each pin to assure good electrical contact. For tips on soldering, refer to the Adafruit Guide to Excellent Soldering (http://adafru.it/c6b). © Adafruit Industries https://learn.adafruit.
Flip around and solder the other side as well as the 2x3 header © Adafruit Industries https://learn.adafruit.
Assembly with Stacking Headers: Stacking headers give your data logger shield extra flexibility. You can combine it with other shields such as the RGB/LCD Display shield (http://adafru.it/714) to make a compact logging instrument complete with a user interface. You can also stack it with one or more Proto-Shields (http://adafru.it/51) to add even more prototyping space for interfacing to sensors. © Adafruit Industries https://learn.adafruit.
Stacking headers are installed from the top of the board instead of the bottom, so the procedure is a little different than for installing simple male headers. Position the headers: Insert the headers from the top of the shield, then flip the shield over and place it on a flat surface. Straighten the headers so that they are vertical. Be sure to insert the headers from the TOP of the shield so that they can be soldered from the BOTTOM. © Adafruit Industries https://learn.adafruit.
And solder! Solder each pin for a solid electrical connection. Tip: Solder one pin from each header section. If any of them are crooked, simply re-heat the one solder joint and straighten it by hand. Once all headers are straight, continue soldering the rest of the pins. © Adafruit Industries https://learn.adafruit.
Flip and solder the other side © Adafruit Industries https://learn.adafruit.
Place the 2x3 female header on to the Arduino/Metro © Adafruit Industries https://learn.adafruit.
Place the board on the Metro and solder the 2x3 header © Adafruit Industries https://learn.adafruit.
© Adafruit Industries https://learn.adafruit.
© Adafruit Industries https://learn.adafruit.
Shield Overview The datalogger shield has a few things to make it an excellent way to track data. Here's a rough map of th shield: SD Card The big SD card holder can fit any SD/MMC storage up to 32G and and small as 32MB (Anything formatted FAT16 or FAT32) If you have a MicroSD card, there are low cost adapters which will let you fit these in. SD cards are tougher to lose than MicroSD, and there's plenty of space for a full size holder.
The SD Activity LED is connected to the clock pin, it will blink when data goes over SPI, which can help you detect when its ok to remove or insert the SD card or power down the Arduino. The Level Shifter moves all signals from 3.3 or 5V down to 3.3V so you can use this shield with any Arduino safely and not damage cards. Cheaper shields use resistors to level shift, but this doesn't work well at high speed or at all voltage levels! Real Time Clock This is the time-keeping device.
smoothly. Some old Arduinos did not have a full 3.3V regulator and writing to an SD card could cause the Arduino to reboot. To maintain compatibility we just keep it there. There's also a green PWR (Power) good LED to the right User LEDs We have two user-configuratble LEDs.
We also have some extra breakouts shown above, around the breakout board area. To the right of the SD card holder: CD - this is the card detect pad on the SD card. When this is connected to ground, an SD card is inserted. It is open-drain, use a pullup (either physical resistor or enabled in software) WP - this is the Write Protect pad on the SD card, you can use this to detect if the write-protect tab is on the card by checking this pin.
Near Digital #10 CS - this is the Chip Select pin for the SD card. If you need to cut the trace to pin 10 because it is conflicting, this pad can be soldered to any digital pin and the software re-uploaded Near Digital #3 and #4 L2 and L1 - these are optional user-LEDs. Connect to any digital pin, pull high to turn on the corresponding LED. The LEDs already have 470 ohm resistors in series. © Adafruit Industries https://learn.adafruit.
Wiring & Config As of revision B of the Datalogger shield, we've moved away from using digital pins 10, 11, 12, 13 for SPI and A4, A5 for I2C. We now use the 2x3 ICSP header, which means that you don't need special customized I2C or SPI libraries to use with Mega or Leonardo or Zero (or any other future type) of Arduino! Which version do I have? This is the older Datalogger shield. In particular, note that the prototyping area is completely full of 0.1" spaced holes © Adafruit Industries https://learn.
This is the rev B Datalogger. Note that it has a smaller prototyping area and that there is a 2x3 SPI header spot on the right Older Shield Pinouts On the older shields, the pinout was fixed to be: Digital #13 - SPI clock Digital #12 - SPI MISO Digital #11 - SPI MOSI Digital #10 - SD Card chip select (can cut a trace to re-assign) SDA connected to A4 SCL connected to A5 The RTC (DS1307) I2C logic level was fixed to 5V © Adafruit Industries https://learn.adafruit.
Rev B Shield Pinouts ICSP SCK - SPI clock ICSP MISO - SPI MISO ICSP MOSI - SPI MOSI Digital #10 - SD Card chip select (can cut a trace to re-assign) SDA not connected to A4 SCL not connected to A5 The RTC (PCF8523) logic level can be 3V or 5V On an UNO, note that Digital #13 is the same as ICSP SCK, #12 is ICSP MISO, #11 is ICSP MOSI, SDA is tied to A4 and SCL is A5. However, that is only true on the UNO! Other Arduino's have different connections.
If you are using the shield with a 3.3V logic Arduino, you may want to change theVio jumper. This is what the 10K pullups for I2C are pulled up to. Honestly, the pullups are very weak so if you forget, it's not a big deal. But if you can, cut the small trace between the center pad and 5V and solder the other side so that Vio is connected to 3V © Adafruit Industries https://learn.adafruit.
© Adafruit Industries https://learn.adafruit.
Older Datalogger Shield Leonardo & Mega Library This is ONLY required if you have the older Datalogger shield which does not have the SPI port connection. This is ONLY required if you are using a Leonardo or Mega with the older Datalogger shield! If your shield looks like the above, and has the 2x3 pin header on the right,skip this page! If your shield does not have the 2x3 pin header section and you are using a Mega or Leonardo (e.g.
replace the existing SD card library to add 'SD card on any pin' support. If you have an Uno/Duemilanove/Diecimila, this is not required. If you have a rev B shield, this is also not required! First, find the "core libraries" folder - if you are using Windows or Linux, it will be in the folder that contains the Arduino executable, look for a libraries folder. Inside you will see an SD folder (inside that will be SD.cpp SD.h etc) Ourside the libraries folder, make a new folder called SDbackup.
Now we'll grab the new SD library, visit https://github.com/adafruit/SD (http://adafru.it/aP6) and click theZIP download button, or click the button below Download the SD Library Zip http://adafru.it/cxl Uncompress and rename the uncompressed folder SD. Check that the SD folder contains SD.cpp and SD.h Place the SD library folder your sketchbook libraries folder. You may need to create the libraries subfolder if its your first library.
Using the Real Time Clock What is a Real Time Clock? When logging data, it's often really really useful to have timestamps! That way you can take data one minute apart (by checking the clock) or noting at what time of day the data was logged. The Arduino does have a built-in timekeeper called millis() and theres also timers built into the chip that can keep track of longer time periods like minutes or days.
DS1387 (http://adafru.it/aX0). Theres a lithium battery in there which is why it's so big. The RTC we'll be using is the PCF8523 (http://adafru.it/reb) or the DS1307 (http://adafru.it/rec). If you have an Adafruit Datalogger Shield rev B, you will be using the PCF8523- this RTC is newer and better than the DS1307. Look on your shield to see if you see PCF8523 written above the chip.
CR1220 12mm Diameter - 3V Lithium Coin Cell Battery PRODUCT ID: 380 These are the highest quality & capacity batteries, the same as shipped with the iCufflinks, iNecklace, Datalogging and GPS Shields, GPS HAT, etc. One battery per order... http://adafru.it/em8 $0.95 IN STOCK You MUST have a coin cell installed for the RTC to work, if there is no coin cell, it will act strangely and possibly hang the Arduino when you try to use it, so ALWAYS make SURE there's a battery installed, even if it's a dead battery.
Talking to the RTC The RTC is an i2c device, which means it uses 2 wires to to communicate. These two wires are used to set the time and retrieve it. On the Arduino UNO, these pins are also wired to the Analog 4 and 5 pins. This is a bit annoying since of course we want to have up to 6 analog inputs to read data and now we've lost two. For the RTC library, we'll be using a fork of JeeLab's excellent RTC library, which is available on GitHub (http://adafru.it/c7r).
We also have a great tutorial on Arduino library installation at: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use Once done, restart the IDE First RTC test The first thing we'll demonstrate is a test sketch that will read the time from the RTC once a second. We'll also show what happens if you remove the battery and replace it since that causes the RTC to halt. So to start, remove the battery from the holder while the Arduino is not powered or plugged into USB.
Whenever the RTC chip loses all power (including the backup battery) it will reset to an earlier date and report the time as 0:0:0 or similar. The DS1307 won't even count seconds (it's stopped).Whenever you set the time, this will kickstart the clock ticking. So, basically, the upshot here is that you should never ever remove the battery once you've set the time.
clock will be off by that amount of time. Then open up the Serial monitor window to show that the time has been set From now on, you won't have to ever set the time again: the battery will last 5 or more years Reading the time Now that the RTC is merrily ticking away, we'll want to query it for the time. Let's look at the sketch again to see how this is done void loop () { DateTime now = rtc.now(); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]); Serial.print(") "); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); There's pretty much only one way to get the time using the RTClib, which is to callnow(), a function that returns a DateTime object that describes the year, month, day, hour, minute and second when you called now().
Using the SD Card The other half of the data logger shield is the SD card. The SD card is how we store long term data. While the Arduino chip has a permanent EEPROM storage, its only a couple hundred bytes - tiny compared to a 2 gig SD card. SD cards are so cheap and easy to get, its an obvious choice for long term storage so we use them for the shield. The shield kit doesn't come with an SD card butwe carry one in the shop that is guaranteed to work (http://adafru.it/aIH).
USB MicroSD Card Reader/Writer - microSD / microSDHC / microSDXC PRODUCT ID: 939 This is the cutest little microSD card reader/writer - but don't be fooled by its adorableness! It's wicked fast and supports up to 64 GB SDXC cards! Simply slide the card into the edge... http://adafru.it/ree $5.95 IN STOCK Formatting under Windows/Mac If you bought an SD card, chances are it's already pre-formatted with a FAT filesystem.
http://adafru.it/cfL Get Card Info The Arduino SD Card library has a built in example that will help you test the shield and your connections If you have an older Datalogging shield without the SPI header connection and you are using a Leonardo, Mega or anything other than an UNO, you'll need to install a special version of the SD library (http://adafru.it/ref) Open the file CardInfo example sketch in the SD library: © Adafruit Industries https://learn.adafruit.
This sketch will not write any data to the card, just tell you if it managed to recognize it, and some information about it. This can be very useful when trying to figure out whether an SD card is supported.
Open up the Serial Monitor and type in a character into the text box (& hit send) when prompted. You'll probably get something like the following: © Adafruit Industries https://learn.adafruit.
Its mostly gibberish, but its useful to see theVolume type is FAT16 part as well as the size of the card (about 2 GB which is what it should be) etc. If you have a bad card, which seems to happen more with ripoff version of good brands, you might see: © Adafruit Industries https://learn.adafruit.
The card mostly responded, but the data is all bad. Note that theProduct ID is "N/A" and there is no Manufacturer ID or OEM ID. This card returned some SD errors. Its basically a bad scene, I only keep this card around to use as an example of a bad card! If you get something like this (where there is a response but its corrupted) you should toss the card Finally, try taking out the SD card and running the sketch again, you'll get the following, © Adafruit Industries https://learn.adafruit.
It couldn't even initialize the SD card. This can also happen if there's a soldering error or if the card is really damaged If you're having SD card problems, we suggest using the SD formatter mentioned above first to make sure the card is clean and ready to use! © Adafruit Industries https://learn.adafruit.
Light and Temperature Logger Introduction OK now that we have introduced both the RTC and the SD card and verified that they're working, we can move onto logging! We'll use a pretty good & detailed demonstration to show off the capabilities of this most awesome data logging shield: We'll log both temperature and relative light levels to determine: 1. How much does the temperature in a fridge vary as the compressor turns on and off? 2.
© Adafruit Industries https://learn.adafruit.
Build It! Items you'll need: Arduino (of course!) a Atmega328 type is best (http://adafru.it/50)- we always recommend going with an official 'classic' Arduino such as the Uno. Adafruit data logger shield (http://adafru.it/1141) - assembled SD card formatted for FAT (http://adafru.it/102) and tested using our example sketch (http://adafru.it/clN) CdS photocell (http://adafru.it/161) and a matching 10K pulldown resistor Temperature sensor with analog out, such as TMP36 (http://adafru.
The sensors We'll use two basic sensors to log data, aCdS photocell to track light (http://adafru.it/161) (this will tell us when the door has been opened) and a semiconductor temperature sensor to log the ambient fridge temperature. (http://adafru.it/165) We have two great tutorials for these sensors on our site, if you haven't used them before or need some refreshment, please read them now! Photocell tutorial http://adafru.it/reg TMP36 tutorial http://adafru.
not to 5.0V - we do this because the 5V line is very noisy and the 3.3V regulator is better filtered. In the actual board we used the 3.3V line from the datalogger's regulator, see the images below - in theory its the same as the one off of the Arduino but we trust ours more. © Adafruit Industries https://learn.adafruit.
© Adafruit Industries https://learn.adafruit.
Wiring it up The prototyping area on the board is a simple array of holes with soldering pads. The steps below show how we built this circuit and illustrate some some basic circuit prototyping techniques. For clarity, we will use the same color wire as shown in the circuit diagram above: Position the sensors The sensors could go anywhere on the prototyping area, but we chose this arrangement to simplify connections between the components later on.
Install the Jumpers Place the jumpers as shown, with the long stripped ends nearest the sensors. Since there are no signal traces between the holes in the prototyping area, we will use the long stripped ends to join the legs of the components on the board. Make the connections Solder the first jumper (red) to the 3v hole. Bend the stripped end of the wire so it rests next to the legs of the light sensor, the temperature sensor and the end of the AREF jumper.
Add more jumpers for the Sensors From Analog Pin 0 to the hole near the light sensor and resistor. (white) From GND to the hole next to the other end of the resistor (black) From the Analog pin 1 to the hole next to the center pin of the temperature sensor (green) And also for the LEDs From L1 to Digital Pin 2 (yellow) From L2 to Digital Pin 3 (yellow) © Adafruit Industries https://learn.adafruit.
Solder and trim all connections Using the same technique of folding the component legs over the jumper - make all connections as shown in the wiring diagram. Make sure that all connections are soldered. Also solder wires and component legs to the board where they pass through the holes. © Adafruit Industries https://learn.adafruit.
Prepare the Battery © Adafruit Industries https://learn.adafruit.
Pack Place the black plastic ferrule from the connector over the battery pack wires. Solder the red wire from the battery pack to the center pin Solder the the black wire to the outer barrel. Crimp to hold the wires securely Screw the black plastic ferrule on to cover the solder joints. Now your Light Temp Logger is wired and ready for testing! © Adafruit Industries https://learn.adafruit.
© Adafruit Industries https://learn.adafruit.
Use It! Sensor test We'll now test the sensors, using this sketch which is a bit of a mashup of the two examples in our tutorials (http://adafru.it/c7d) #include #include /* Sensor test sketch for more information see http://www.ladyada.net/make/logshield/lighttemp.html */ #define aref_voltage 3.3 // we tie 3.
} else if (photocellReading < 500) { Serial.println(" - Light"); } else if (photocellReading < 800) { Serial.println(" - Bright"); } else { Serial.println(" - Very bright"); } tempReading = analogRead(tempPin); Serial.print("Temp reading = "); Serial.print(tempReading); // the raw analog reading // converting that reading to voltage, which is based off the reference voltage float voltage = tempReading * aref_voltage / 1024; // print out the voltage Serial.print(" - "); Serial.print(voltage); Serial.
In my workroom, I got about 24 degrees C and a 'light measurement' of about 400 remember that while the temperature sensor gives an 'absolute' reading in C or F, the light sensor is not precise and can only really give rough readings. Once you've verified that the sensors are wired up correctly & running its time to get to the logging! Logging sketch Download the light and temperature logging sketch from GitHub (http://adafru.it/c7e). Insert the SD card.
Upload the sketch to your Arduino. We'll now test it out while still 'tethered' to the computer While the Arduno is still connected, blinking and powered, place your hand over the photocell for a few seconds, then shine a flashlight on it. You should also squeeze the temp sensor with your fingers to heat it up Plotting with a spreadsheet When you're ready to check out the data, unplug the Arduino and put the SD card into your computer's card reader.
You can then perform some graphing by selecting the columns of data Clicking the Chart button and using Lines (we think they are the best for such graphs) © Adafruit Industries https://learn.adafruit.
Setting the First Column as label © Adafruit Industries https://learn.adafruit.
Which will generate this graph You can see pretty clearly how I shaded the sensor and then shone a flashlight on it. You can make the graph display both with different axes (since the change in temperature is a different set of units. Select the temp line (red), right-click and choose Format Data Series. In the Options tab, Align data series to Secondary Y-axis. © Adafruit Industries https://learn.adafruit.
Or you can make another graph with only the temp data Now you can see clearly how I warmed up the sensor by holding it between my fingers Using Gnuplot Gnuplot is an free (but not open source?), ultra-powerful plotting program. Its also a real © Adafruit Industries https://learn.adafruit.
pain to use! But if you can't afford a professional math/plotting package such as Mathematica or Matlab, Gnuplot can do a lot! We're not good enough to provide a full tutorial on gnuplot, here are a few links we found handy. Google will definitely help you find even more tutorials and links. Mucking about is the best teacher, too! http://www.cs.hmc.edu/~vrable/gnuplot/using-gnuplot.html (http://adafru.it/c7i) http://www.duke.edu/~hpgavin/gnuplot.html (http://adafru.it/c7k) http://www.ibm.
set y2tics border # put tics no right side set key box top left set key box linestyle 0 # legend box set xdata time # the x-axis is time set format x "%H:%M:%S" # display as time set timefmt "%s" # but read in as 'unix timestamp' plot "LOGTEST.CSV" using 2:4 with lines title "Light levels" replot "LOGTEST.CSV" using 2:5 axes x1y2 with lines title "Temperature (F)" Which makes this: © Adafruit Industries https://learn.adafruit.
Note the cool double-sided y-axis scales! You can zoom in on stuff pretty easily too. Other plotters Our friend John also suggests Live-Graph as a free plotting program (http://adafru.it/c7o) (http://adafru.it/c7o) - we haven't tried it but its worth looking at if you need to do a lot of plotting! Portable logging Of course, having a datalogger thats chained to a desktop computer isn't that handy. We can make a portable logger with the addition of a battery pack.
Fridge logging With my portable logger ready, its time to do some Fridge Loggin'! Both were placed in the fridge, in the center of the middle shelf. © Adafruit Industries https://learn.adafruit.
I placed it in around 10PM and then removed it around noon the next day.If you don't have a fridge handy, you can grab the data from this zip file and use that (http://adafru.it/cnz). Here is the logged data: You can see in the middle and end the temp and light levels are very high because the logger was outside the fridge. The green line is the temperature so you can see the temperature slowly rising and then the compressor kicking in every half hour or so. The red lines indicate when the door was opened.
the door is open, even in a few seconds it can climb 4 degrees very quickly! Conclusion! OK that was a detailed project but its a good one to test your datalogging abilities, especially since its harder to fix bugs in the field. In general, we suggest trying other sensors and testing them at home if possible. Its also a good idea to log more data than you need, and use a software program to filter anything you dont need.
Code Walkthrough Introduction This is a walkthrough of the Light and Temperature Logging sketch. Its long and detailed so we put it here for your perusal. We strongly suggest reading through it, the code is very versatile and our text descriptions should make it clear why everything is there! Download the complete file here (http://adafru.it/c7e): Includes and Defines #include "SD.h" #include #include "RTClib.
means that you have to send a character to the Arduino's Serial port to kick start the logging. If you have this on you basically can't have it run away from the computer so we'll keep it off (set to 0) for now.
Serial.begin(9600); Serial.println(); #if WAIT_TO_START Serial.println("Type any character to start"); while (!Serial.available()); #endif //WAIT_TO_START K now we are onto the code. We begin by initializing the Serial port at 9600 baud. If we set WAIT_TO_START to anything but 0, the Arduino will wait until the user types something in. Otherwise it goes ahead to the next part // initialize the SD card Serial.print("Initializing SD card...
create LOGGER00.CSV and incrementing every time when the file already exists, until we get to LOGGER99.csv, we basically make a new file every time the Arduino starts up To create a file, we use some Unix style command flags which you can see in the logfile.open() procedure. FILE_WRITE means to create the file and write data to it. Assuming we managed to create a file successfully, we print out the name to the Serial port. Wire.begin(); if (!RTC.begin()) { logfile.
Finally, we set the two LED pins to be outputs so we can use them to communicate with the user. There is a commented-out line where we set the analog reference voltage. This code assumes that you will be using the 'default' reference which is the VCC voltage for the chip - on a classic Arduino this is 5.0V. You can get better precision sometimes by lowering the reference. However we're going to keep this simple for now! Later on, you may want to experiment with it.
logfile.print(now.year(), DEC); logfile.print("/"); logfile.print(now.month(), DEC); logfile.print("/"); logfile.print(now.day(), DEC); logfile.print(" "); logfile.print(now.hour(), DEC); logfile.print(":"); logfile.print(now.minute(), DEC); logfile.print(":"); logfile.print(now.second(), DEC); #if ECHO_TO_SERIAL Serial.print(now.get()); // seconds since 2000 Serial.print(", "); Serial.print(now.year(), DEC); Serial.print("/"); Serial.print(now.month(), DEC); Serial.print("/"); Serial.print(now.
Next is the sensor logging code int photocellReading = analogRead(photocellPin); delay(10); int tempReading = analogRead(tempPin); // converting that reading to voltage, for 3.3v arduino use 3.3 float voltage = (tempReading * 5.0) / 1024.0; float temperatureC = (voltage - 0.5) * 100.0 ; float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0; logfile.print(", "); logfile.print(photocellReading); logfile.print(", "); logfile.println(temperatureF); #if ECHO_TO_SERIAL Serial.print(", "); Serial.
Downloads Files EagleCAD PCB files on GitHub (http://adafru.it/rej) Fritzing object in Adafruit Fritzing library (http://adafru.it/aP3) Revision B Schematics click to enlarge © Adafruit Industries https://learn.adafruit.
Original Version Schematics Click to enlarge © Adafruit Industries https://learn.adafruit.
© Adafruit Industries Last Updated: 2017-01-23 06:01:03 PM UTC Page 85 of 85