Difference between revisions of "Programming Power Fail Logger with Arduino IDE"

From media_wiki
Jump to: navigation, search
Line 27: Line 27:
  
 
'''Setting up the DS3231 RTC'''
 
'''Setting up the DS3231 RTC'''
−
  DS3231 RTC Datasheet: https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
 
−
  Insert a coin cell battery into DS3231. Either CR2032 or LI2032 coin cell battery will work.
 
−
  Insert '''DS3231 module''' into the '''Power Logger PCB''' at J5.
 
 
   
 
   
−
To Set the date and time use the follow program and paste in the Arduino IDE.<br>
 
−
  //This code can be found here:https://github.com/rodan/ds3231
 
−
  #include <Wire.h>
 
−
  #include <ds3231.h>
 
−
  struct ts t;
 
−
  void setup() {
 
−
  Serial.begin(9600);
 
−
  Wire.begin();
 
−
  DS3231_init(DS3231_CONTROL_INTCN);
 
−
  /*----------------------------------------------------------------------------
 
−
  In order to synchronise your clock module, insert timetable values below !
 
−
  ----------------------------------------------------------------------------*/
 
−
  t.hour=20;
 
−
  t.min=40;
 
−
  t.sec=0;
 
−
  t.mday=11;
 
−
  t.mon=4;
 
−
  t.year=2021;
 
−
  DS3231_set(t); //Comment out after setting RTC with time & date
 
−
  }
 
−
 
−
  void loop() {
 
−
  DS3231_get(&t);
 
−
  Serial.print("Date : ");
 
−
  Serial.print(t.mon);
 
−
  Serial.print("/");
 
−
  Serial.print(t.mday);
 
−
  Serial.print("/");
 
−
  Serial.print(t.year);
 
−
  Serial.print("\t Hour : ");
 
−
  Serial.print(t.hour);
 
−
  Serial.print(":");
 
−
  Serial.println(t.min);
 
−
  Serial.print(":");
 
−
  Serial.println(t.sec);
 
−
  delay(60000);
 
−
  }
 
−
  void print2digits(int number){
 
−
  if (number >= 0 && number < 10) {
 
−
    Serial.write ('0');
 
−
  }
 
−
  Serial.print(number);
 
−
  }
 
−
 
−
Connect the '''USBTinyISP''' to the '''AVR-ISP-6 pin header J7''' on the '''Power Fail Logger PCB''' .<br>
 
−
In the Arduino IDE click on '''Tools''' Tab - Select '''Programmer''' then select '''USBTinyISP'''.<br>
 
−
In the Arduino IDE click on '''Sketch''' Tab - Select '''Upload Using Programmer'''<br>
 
−
Program should download. <br>
 
−
 
 
----
 
----
 
==[[ Power Fail Logger by Microrusty ]]==
 
==[[ Power Fail Logger by Microrusty ]]==

Revision as of 20:27, 25 May 2021

Setting up the ATMega328 chip

 Plug the USBTiny Programmer into the AVR-ISP 6 pin header J7.
 Using AVRDUDE Validate the USBTiny is communicating with the Power Fail Module Microcontroller
 
 avrdude -c usbtiny -p m328p -v
 
 The Microcontroller is set to 1HMz and needs to be changed to 16 MHz Default
 Using AVRDude enter the follow command to set the fuse bits on the Microcontroller.
 
 
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFF:m  
 
 Make sure it matches these settings:

 avrdude: safemode: hfuse reads as DE
 avrdude: safemode: efuse reads as FF
 avrdude: safemode: Fuses OK (E:FF, H:DE, L:FF)
 avrdude done.  Thank you.

For more information about using AVRDude refer back to this link 
 ==AVRDUDE Class==

Next step Setting up the DS3231 RTC

Setting Time and Date for the DS3231 RTC

Setting up the DS3231 RTC


Power Fail Logger by Microrusty