Hello, I am currently building a plant monitor for a class project, using an Arduino Uno and three sensors. I am a bit stuck with my coding and wondered if anyone could help.
The serial monitor will not read the SD card.
Any suggestions would be much appreciated.
Thank you
#include <SD.h>
#include <SPI.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#include <dht.h>
int moistPin = 0;
int tempPin = 1;
int DHT11Pin = 2;
int moistVal = 0;
int tempVal = 0;
int DHT11Val = 0;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
const int chipSelect = 4;
void setup()
{
Serial.begin(9600);
while (!Serial)
lcd.begin(16, 2);
Serial.print("Initializing SD card...");
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
return;
}
Serial.println("card initialized.");
}
void loop()
{
int temp = analogRead(tempVal);
int moist = analogRead(moistVal);
int DHT11 = analogRead(DHT11Val);
File dataFile = SD.open("datalog.txt", FILE_WRITE);
dataFile.print("temp ");
dataFile.print("Celsius: ");
dataFile.print(temp);
dataFile.print("DHT11 ");
dataFile.print("Humidity: ");
dataFile.print(" moist: ");
dataFile.println(moist);
dataFile.close();
moistVal = analogRead(moistPin);
lcd.clear();
lcd.print("moisture");
lcd.print(moistVal);
delay(4000);
tempVal = analogRead(tempPin);
lcd.clear();
lcd.print("temperature");
lcd.print(tempVal);
delay(4000);
DHT11Val = analogRead(DHT11Pin);
lcd.clear();
lcd.print("humidity");
lcd.print(DHT11Val);
delay(4000);
}