Module 3.6: Interrupts

Welcome to the sixth and final part of Build Your Own Data Logger module 3. This new module covers interupts, PIR motion sensors and setting timers and alarms on our real time clock.  

Our course directory has a full list of modules and videos with links. Follow our Build Your Own Data Logger playlist on our Youtube channel to catch every module as it goes live, and register for our full course to be the first to know about our module releases, live Q&A events, and course news!

Date published: 2021/01/29

In this final submodule for Module 3, we’ll be discussing the voodoo topic of interrupts. Interrupts are a bit of an intermediate/advanced topic in device design but they’ll also play an important role in our data logger, and many other field devices. 

We start by discussing interrupts, how they fit into our power management strategy, and how they can be extended to implement things like operating systems. We then get introduced to actual interrupt implementation using the on-board pushbutton on the WildLogger. We learn things that can go wrong with push buttons, how to work around those limitations, and how to write interrupt handlers to manage push button events.

We then learn about PIR motion sensors, how they work, their limitations, and what PIR stands for. We learn how temperature affects range and also how to compensate to reduce false positives at low temperatures and missed opportunities at high temperatures. We learn how to interface a PIR motion sensor, how to write an interrupt handler for them, and programmatic limitations like their warm-up times and reset times. 

Finally we learn how to set timers and alarms on our real-time clock. This fits into the main power management strategy for WildLogger and will allow us to sleep most of the time and just wake up to collect data on a minute, hourly, daily, weekly, or even monthly basis.

If you have questions while working through this module, you can ask your question in the Module 3.6 forum thread here. 

Supporting Resources

Coming up in Module 4

Now that we have an understanding of the basic functionality of our data logger, and working code that’s been tested, we’ll be ready to tie everything together in Module 4 where we create our functional data logger application.

Get started on the next module

Have questions? Jump in the module thread where Akiba and Jacinta will be on hand to troubleshoot.

Continue the discussion… Module 3.6: Interrupts