TheCodersCorner.com items tagged with arduino.

Creating interrupt and threaded events with TaskManager

By dave

In this guide we assume that you are familiar with the API for scheduling tasks on task manager. Let's first discuss what we consider an event to be, and what it means to be an interrupt or threaded event. Interrupt or threaded events are subject to external actors (such as threads or interrupts). In this case the event will invariably be...

How to create a polled event with TaskManager

By dave

In this guide we assume that you are familiar with the API for scheduling tasks on task manager. Let's first discuss what we consider an event to be, and what it means to be a polled event. By polling we mean no external actors (such as threads or interrupts) are involved. Task manager will ask your event instance frequently if it...

LiquidCystalIO with a DfRobot shield

By dave

DfRobot provides the simplest way to get started with LiquidCrystalIO on Uno and Mega (and other compatible boards). It has a display with an array of switches connected to A0 (up, down, left, right and select). This library works correctly with the display and even has a shorthand way of creating the LCD for this case. Connections to an Arduino Uno,...

IoAbstraction Analog Core documentation

By dave

IoAbstraction has a simple interface to the analog capabilities of all supported boards. It provides frequently used functionality around acquiring and setting analog values from ADC, PWM and DACs. Having the ability to read and write analog values as float, where the value is between 0 and 1; where 0 is off and 1 is fully on. this capability allows you...

IoAbstraction: Arduino Pins, IO Expanders, Shift Registers using same code

By dave

Using IoAbstraction you can write a sketch / program that uses Arduino pins, shift registers and IO expander devices at the same time, very much like you'd normally use Arduino pins. This library also provides simple interrupt handling that again is consistent across Arduino, mbed and IO expander ICs. What do we mean by consistent, we mean that configuring a pin,...

Scheduling tasks with Task Manager on Arduino and mbed

By dave

Using TaskManager in your sketches TaskManager is a very simple co-operative coroutines / executor framework that allows work to be scheduled in an internal queue. Instead of writing code using delays, one simply adds jobs to be done at some point in the future. In addition to this, interrupt handling is also supported, such that the interrupt is "marshalled" and handled...

How the Arduino memory model works - for AVR

By dave

An overview of memory organisation All general purpose processors, be it Intel, ARM or AVR devices work by reading instructions from memory and executing them. They are generally based on one of two Architectures: Von-Neumann or Harvard. The vast majority of larger systems such as PC's and mobile devices use Von-Neumann, but AVR processors in Arduino boards such as Uno and...

Troubleshooting and mock objects for testing

By dave

Troubleshooting IO issues using LoggingIoAbstraction Within the MockIoAbstraction.h header there is an implementation of BasicIoAbstraction that delegates through a logging layer. If you are having difficulty determining what your code is sending and receiving, this could be useful. You simply introduce the logging abstraction between your regular abstraction and the device you're having trouble with. For example: Mock objects for use...

Event based programming with IoAbstraction and tcMenu

By dave

Course Summary IoAbstraction and TcMenu are libraries that make writing software for embedded boards easier, and generally more like writing for the desktop. These training courses aim to quick bring your team up to speed with these technologies. In addition, we can discuss the commercial addons that provide faster drivers and deployment without linking with Arduino. Like all our courses this...

Unit testing embedded and Arduino projects

By dave

When you've got more than the simplest embedded program for Arduino (or any other framework), it becomes much harder to test that it's working properly by purely running it. For something like Blink, testing is simple because all we need to do is upload it and see the LED turn on and off; there's little risk of missing anything significant. However,...

These may be of interest

We use cookies to analyse traffic and to personalise content. We also embed Twitter and Youtube on some pages, these companies have their own privacy policies.

See the privacy policy and terms of use of this site should you need more information or wish to adjust your settings.