DS1307 with Arduino Uno
First, log in to your Simuli account and navigate to the Simuli Virtual Lab. Here we will create a new emulated instance of the Arduino Uno
. Click on the Launch
button under the Arduino to get started.
This will open the configuration menu. First, provide a name for the project. Then, we will add the DS1307
RTC Module by selecting it from the list of available components. Finally, review that the name for the project and the selected sensors are correct and click on the Launch
button.
Once we have clicked on the Launch button, a new instance of the Arduino Uno will be created. It can take a few minutes, so be patient.
If you have not set up your Arduino IDE, follow the guide linked below.
Once you have the Arduino IDE ready to go, copy the code given below and paste it in the IDE.
Before we can compile this code, we need to install the relevant library. For this, open your Arduino IDE and go to Tools
and then to Manage Libraries...
. This will open up the library manager, here we can search for RTClib library. Now select the library and install it. Now we are ready to compile our code.
Now save
the sketch in a folder and keep a note of that folder. We now need to get the compiled binaries
for the sketch. Go to Sketch
and find Export Compiled Binary
. The program will take some time to compile. Once the compilation is complete, go back to IoTIFY Virtual Lab and open the instance we created.
A new tab will open and we can interact with our Arduino. First, we need to upload
our compiled binary. Click on the Arduino, this will open a file explorer, navigate to where you had stored the Arduino sketch. In the same folder, a file called sketch.ino.standard.hex
will be present (where sketch is the name of the Arduino sketch). Select this file and click on open
. Now the hex file will be uploaded. Finally, reset
the Arduino so that it loads the new file. To reset, just click the red power button above the top left corner of the Arduino. Now you can see the current date and time in the terminal.
Now that you know how to get the current date and day using the DS1307 RTC module, you could try to make a system where an LED is switched on depending on which day it is. For example, LED 0 would turn on if it was a Sunday, LED 1 if it was a Monday and so on. To do this you would need to get the current day and then compare it to the different days using either if-else or switch-case statements Keep building and have fun! 🎉
Last updated