Mörker karta Data insamling enhet (5 / 6 steg)

Steg 5: Lägga till ljussensorn



Om du har kunnat spara GPS-data till ditt SD-kort, det sista steget är att lägga våra ljussensor till mixen. Lägg till TSL2561 sensorn på bakbord. Tråd det på följande sätt:

--Ansluta marken till marken järnväg på skärbräda
--Ansluta VCC PIN-koden till 3V stiftet på Arduino
--Ansluta SCL PIN-koden till Arduino pin A5
--Ansluta SDA PIN-koden till Arduino pin A4

Vi kommer att använda TSL2561 Arduino libray från Adafruit. Du kan hämta den här, packa upp den, och lägger i mappen Arduino bibliotek. Om Arduino är öppet starta om den för biblioteket ska visas i de exempel dropdown val. Öppna exempel skissen och ladda upp den till Arduino. Tryck på serial bildskärmen för att se till att det är att läsa data. Vifta med handen över sensorn för att se om det ändras ljus värden. När du är nöjd att sensorn fungerar, ladda upp följande kod till Arduino:

Mörker karta Data insamling enhet
Genevieve Hoffman, 2012
TinyGPS bibliotek, av Mikal Hart, ladda ner här: http://arduiniana.org/libraries/tinygps/
TSL2561 bibliotek, av Ladyada (Limor Fried), ladda ner här: https://github.com/adafruit/TSL2561-Arduino-Library
RTClib, av Ladyada (Limor Fried), ladda ner här: https://github.com/adafruit/RTClib
RTClib utvecklades ursprungligen av Jeelabs: https://github.com/jcw/rtclib

#include "Wire.h"
#include "TSL2561.h"
#include "SD.h"
#include "SoftwareSerial.h"
#include "TinyGPS.h"
#include "RTClib.h"

CONST int chipSelect = 10;
RTC_Millis RTC;
Fil dataFile;

int sensorPin = A0; ingångsstift från sensorn
int lux = 0; variabel för att lagra värdet kommer från sensorn
TSL2561 lightSensor(TSL2561_ADDR_FLOAT);

TinyGPS gps;
SoftwareSerial ss (3, 4);

void setup()
{
Serial.BEGIN(115200);
Serial.Print ("initiera SD-kortet...");
SS.BEGIN(9600);
pinMode (chipSelect, produktionen);
RTC.adjust (DateTime (__DATE__, __TIME__));

se om kortet är närvarande och kan initieras:
IF (!. SD.begin(chipSelect)) {
Serial.println ("kort misslyckades, eller inte finns");
inte göra något mer:
samtidigt (1).
}
Serial.println ("kort initierats.");

Öppna filen vi ska logga in!
dataFile = SD.open ("Data5.txt", FILE_WRITE);
om (! dataFile) {
Serial.println ("fel öppna datalog.txt");
Vänta för evigt eftersom vi inte skriva data
samtidigt (1).
}
lightSensor.begin();
om (lightSensor.begin()) {
Serial.println ("Funna sensor");
} annat {
Serial.println ("ingen sensor?");
samtidigt (1).
}

lightSensor.setGain(TSL2561_GAIN_0X); Ange ingen vinst (för ljusa situtations)
lightSensor.setGain(TSL2561_GAIN_16X); ställa in 16 x förstärkning (för dim situationer)
lightSensor.setTiming(TSL2561_INTEGRATIONTIME_13MS); kortast integration tid (ljus)
lightSensor.setTiming(TSL2561_INTEGRATIONTIME_101MS); medellång integration tid (medelstora ljus)
lightSensor.setTiming(TSL2561_INTEGRATIONTIME_402MS); längsta integration tid (svagt ljus)
}

void loop() / / kör om och om igen
{
DateTime nu = RTC.now();
bool newData = false;

för (osignerade långa start = millis(); millis() - start < 1000;)
{
samtidigt (ss.available())
{
char c = ss.read();
Serial.write(c); avkommentera den här raden om du vill se GPS data flödar
om (gps.encode(c)) / / kom en ny giltig mening?
newData = sant;
}
Läs ljussensor
uint32_t lum = lightSensor.getFullLuminosity();
uint16_t ir, full;
IR = lum >> 16.
hela = lum & 0xFFFF;
Lux = lightSensor.calculateLux (full, ir);
}

om (newData)
{
float platt, flon;
osignerade långa ålder;
int år.
byte månad, dag, timme, minut, sekund, hundradelar;
GPS.f_get_position (& platt, och flon, och ålder);
GPS.crack_datetime (& år, & månad & dag, & timme, & minut, & andra, & hundradelar, och ålder);
char sz [32];
sprintf (sz, "% 02d/%02d/%02d, % 02d: % 02d: % 02d,",
månad, dag, år, timme, minut, sekund);

Serial.Print("");
Serial.Print (flon == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: flon, 6);
Serial.Print (",");
Serial.Print (platt == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: platt, 6);
Serial.Print (",");
Serial.Print(sz); skriver ut GMT-tid
Serial.Print ("unixtime:");
Serial.Print(Now.unixtime());
Serial.Print (", Lux:"); Serial.println(Lux);

dataFile.print("");
dataFile.print (flon == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: flon, 6);
dataFile.print (",");
dataFile.print (platt == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: platt, 6);
dataFile.print (",");
dataFile.print(lux);
dataFile.print (",");
dataFile.println(now.unixtime());
}

dataFile.flush();
Delay(500);
}

Eftersom mörkret karta projektet handlar om samlar ljus värden på natten, ska du konfigurera din TSL2561 sensor för svag belysningssituationer. Så, vill du slå på kodraden som säger:

lightSensor.setGain(TSL2561_GAIN_16X); ställa in 16 x förstärkning (för dim situationer)

och

lightSensor.setTiming(TSL2561_INTEGRATIONTIME_402MS); längsta integration tid (svagt ljus)

Kommentera ut de andra rader som anger förstärkningen och tidpunkten. Och Känn dig fri att ändra dessa inställningar om du vill använda TSL2561 sensorn för andra ändamål.

När koden har lagts upp, börja seriell övervaka, vilket gör att den är inställd på 115200 överföringshastigheten. Om bildskärmen slutar skriva ut alla uppgifter efter "Funna sensor," så är din Arduino förmodligen är inte plocka upp någon GPS signal och vill du hålla tillbaka det ut på ditt fönster avsats. Du bör börja se värden för longitud, latitud, och lux och tidsstämpel kommer in i följetong monitorn. Grattis! Du har gjort dig själv en datalogger.

Eftersom allt är breadboarded, aktiverat gärna byta ut TSL2561 för en annan sensor av ditt val för att göra en annan GPS datalogger. Möjligheterna är oändliga!

Se Steg
Relaterade Ämnen

Förvandla en gammal mobiltelefon till en data skickas enhet (med en arduino)

Vad gör denna enhet?När allt är klart kommer kombinationen av kretsar, arduino och modded cellphone kunna autonomt skicka data via texter via mobilnätet. Detta kan vara sensordata, till exempel från väder sensorer.Vad ska jag visa dig i den här guide...

LittleBits Data insamling vattenkylare [kvantifieras törst]

Möt Mr Thirsty, våra super smart data-samla vattenkylare. Inte bara fyller Mr Thirsty din vatten kopp till perfekt nivå, men varje gång han fyller en kopp, han loggar in datum och tid på ett Google-kalkylark med hjälp av cloudBit (i dessa dagar av kv...

GÖRA en RYMDSOND

IntroduktionMålet med projektet är att bygga en atmosfärisk sond och utrusta den med olika sensorer. Sonden kommer att monteras på en meteorological ballong, och lyfts till ungefärligt 35 000 m (115 000 ft). Uppstigning och nedstigning kommer att reg...

Raket drivmedel karakterisering, C++ Excel Automation, Boost egendom träd och TC Logger

Ja, allt detta i en Instructable... Slags. Som täcker vetenskap och processer bakom raket drivmedel karakterisering skulle ta mer än en Instructable. Och kanske i framtiden jag kommer att släppa några mer Instructables visar den hur-till att bygga et...

Ekologiska ubåten

målet för design är att hjälpa forskare och unga forskare att övervaka kvaliteten på vatten med billig instrumentering. Vår design är utrustad med fyra sensorer för att spela in halterna av nitrat och upplöst syre i vattnet samt temperatur och pH. Nå...

Billigt "Trådlösa" Data loggning alternativ

denna invändning är specifikt inriktade utmaningen föreslås av Vilda djur i våra hem projektet att ge 1000 billigt trådlöst klimat dataregistreringsutrustning som är en kategori i Citizen Science tävlingen.Naturligtvis finns det kommersiella produkte...

2.4 G trådlöst data sortering system baserat på Arduino RF Uart

Moderna smarta hemmet kan enkelt ansluta till varandra all elektrisk utrustning, men nästan alla terminaler beroende strömförsörjning förutsatt energi, så vi måste göra en mindre storlek makt, INHAOS AC-5000 ger 5 w i en liten storlek, det räcker för...

Raspberry Pi nRF24L01 + Data Collector använder Google former

En huvudlös Raspberry Pi med en nRF24L01 + 2,4 GHz radio sändtagare, ansluten till internet. Ta emot trådlösa datapaket från fjärrsensorer och presentera data i Google formulär för efterföljande visning och presentation.Data bokförs till formuläret G...

"Talibanerna händer" skulpturer i Korrugerad plast från MOH extraherade 3D-Data

detta instructable tar dig igenom grundläggande steg för att skapa ett par av storskaliga skulpturer i korrugerad vit plast från 3D-data extraheras från Medal of Honor first person shooter spel. Skulpturer, visas avslutade här, är titeln "Talibanerna...

Skicka data från Arduino till Excel (och rita det)

Jag har sökt flitigt för så att jag kunde rita min Arduino sensor läsa i realtid. Inte bara rita, men också visar och lagrar data för ytterligare experiment och korrigeringar.Den enklaste lösningen jag har hittat var att använda excel, men med en twi...

Hacking Rotade Android-enhet till en superdator

Detta är den instructable som kommer att revolutionera teknikhistoria :-)Alla I.T. experter, nördar och tech genier ute är välkommen att bidra.Alltid hålla kontakten för de 100 steg som kommer att avslöjas här.För tiden...www.sciencephilosophyreligio...

Att säkra din dator: 007 stil!

Har du någonsin känt mig osäker om vad du har på din dator? Kanske de är saker du inte bör ha, eller kanske du är bara orolig för dina värdefulla data (kreditkort, inloggningsinformation, etc.) hamnar i fel händer? Sedan görs denna intsructable med d...

Efter behandling med GeoExplorer3 GPS

samla funktioner med en Global Positioning System (GPS) enheten kan vara nyttiga och intressanta. De flesta människor möter GPS-enheter efter alla data insamling och bearbetning är klar. Vi är här för att visa dig de inledande skedena av samla naviga...

Med hjälp av sensorer, 433Mhz RF moduler och Adafruit's BLE Bluefruit chip för att samla uppgifter om Smartphone med Evothings Studio

I detta projekt kommer du lära dig hur du använder Adafruit's Bluefruit LE UART vän, en Bluetooth Low Energy chip och Evothings arbetsbänk för att skicka data fram och tillbaka mellan en Arduino Uno och din Smartphone. Appen kommer att kodas i JavaSc...

En vetenskapsman Guide till Citizen Science

Den underbara rouzejp var vänlig nog att översätta denna guide till franska. Läs den här!Le merveilleux rouzejp en eu la gentillesse de traduire ce guide sv français. Lisez-le ici!Citizen science är i ropet just nu, som det ska vara!Dock kan det vara...

Arduino tid-och-Sensor-baserade Android musikspelare

Tänk dig din musikspelare som spelar för dig, en spelare den meningen det omgivande ljuset, temperatur och tid som påverkar stämningen i en person, och välja en låt kategorisera som stämningar. Eftersom jag inte har en sensor som kan översätta mänskl...

Raspberry Pi Cloud IP-kamera med POE

Jag blev inspirerad av scavix's arbete med instructable Raspberry Pi som låg-kostnad HD övervakningskamera så jag bestämde mig att göra min egen Raspberry PI-baserad IP-kamera som också har POE och stödjer integration med Google Drive.Den video ström...

Arduino mikro elektronisk bubblan

Ett år eller så tillbaka jag byggt en kamera pol indikator som används för lysdioder för att ange vinkeln på tornet som ett visuellt hjälpmedel. Det fungerade bra för vad jag hade tänkt men jag har alltid tyckt det skulle vara "jazzed upp" lite....

Skilja mellan gång och löpning använder maskininlärning

Elektroniska marknaden är full av enheter som kallas stegräknare och fitness tracker. De räknar antalet steg du har tagit, distans du har täckt, oavsett om du går eller springer och massa andra saker. Någonsin undrat, hur dessa enheter utför sådana m...