Hi, everyone! I'm brand-new to the world of Arduino (and micro-controllers / electronics, in general). I've learned a lot since I've been perusing this forum, but I'm working on my first Arduino project and am stuck, and hoping you can help me out.
I'm working on an LED light fixture for an aquarium, and planned to use an Arduino to simply dim the LEDs via PWM. This required a real-time clock chip (RTC) for the code I found, so I purchased a breakout with the DS3231. Along the way, I stumbled upon some modified code of the original code I had found that also incorporates a temperature probe and cooling fan controls, and so I ended up also acquiring a 20x4 LCD screen and a DS18B20 temperature probe (which hasn't arrived, yet).
Here's the part where I'm stuck:
I have no LCD output with the code I've found.
I'm using Arduino IDE 1.0.5. (Also tried 1.5.7, but it wouldn't upload.) And I'm connecting most wiring via a breadboard. I'll likely solder some items after I work out the kinks, but this helps when I'm still working out what goes where. Connections seem solid, though.
I've wired up the LCD and the RTC to my Arduino unit (Adafruit Trinket Pro 5V 16Hz). They seem to function okay. But this unit is USB, I do not have serial output through my connection to check if the RTC is functioning properly. I did try uploading some code to set the time, though. Hopefully that worked.
I tested some simple lcd.print statements to test each line of the LCD screen via LiquidCrystal (non-I2C), and those work just fine. Although, I'm unable to use lcd.clear() to clear out more than just one line, for some reason... but at least I know the LCD works, and I can communicate with it. I've included the 10k ohm potentiometer successfully. It does control contrast.
The code required some adjustments.
I've gotten updated libraries that are compatible with Arduino IDE 1.0 and newer. A few statements wouldn't compile until I updated them with new syntax. (New libraries: OneWire, Time, TimerOne, DS3231RTC). I also tried the DS1307 and DS3232 libraries, without success.
I also changed the original code from LiquidCrystal_I2C to just LiquidCrystal, since I was planning to connect directly to my LCD without an I2C board.
My code compiles successfully, but I have no output on my LCD other than two rows of blocks.
I'm unsure where to go from here. Any help would be greatly appreciated.
I've attached both the original and modified code, as well as the necessary libraries.
Pins used:
LCD: 0, 1, 13, 4, 5, 8 (RS, E, D4-D7 on the LCD, RW goes to GND)
RTC: A4, A5, +5V, GND
Fans: 6 (for PWM, not connected yet)
LEDs: 3, 11 (for PWM, not connected yet)
Timer1: 9, 10
Temp probe: 12 (not connected, yet)
Original source where I found the code
(I did post there to touch base with the original programmersl. But I figured this would be a better place to ask these questions.)
O2SurplusArduinoCode.ino (10.5 KB)
Libraries.zip (533 KB)
O2Surplus_code_modified.ino (10.3 KB)