TheCodersCorner.com items tagged with digital-io.

AW9523 I2C IoExpander with LED controller - Arduino and mbed

By dave

IO Abstraction library fully supports the AW9523 16-bit IO expander chips on Arduino and mbed. It requires only two pins (three for interrupt mode) SDA, SCL, and optionally INT. Our driver integrates the GPIO, LED controller, and interrupt support providing nearly all functions using familiar Arduino terminology. This device can even be used in conjunction with an AW9523 analog device ...

MCP23017 I2C IoExpander for Arduino and mbed

By dave

IO Abstraction library fully supports the MCP23017 16-bit IO expander chips on Arduino and mbed. It requires only two pins (three for interrupt mode) SDA, SCL, and optionally INT. Our driver provides nearly all functionality using similar terminology to Arduino itself. The MCP23017 provides 16 additional input or output ports, they have very similar capabilities to device pins and interrupt support...

MPR121 I2C Touch/IoExpander/LED controller - Arduino and mbed

By dave

IO Abstraction library fully supports the MPR121 12-bit Touch control and IO expander chips on Arduino and mbed. It requires only two pins (three for interrupt mode) SDA, SCL, and optionally INT. Our driver integrates the Touch, GPIO, LED controller, and interrupt support providing nearly all functions using familiar Arduino terminology. This device can even be used in conjunction with an...

IoAbstraction: Using a matrix keyboard / keypad

By dave

Matrix keyboards are arranged such that the keys are in a matrix of rows and columns. This means that instead of needing a spare input for each key, one INPUT for each column and one OUTPUT for each row is all that's needed. In order to use the keyboard, we create a class of type and configure it with an...

Getting started Unit testing with Arduino platform

By dave

This article discusses how to unit test a simple project with Arduino, if you're not used to writing unit tests, or need more background, then first read this guide on unit testing embedded projects . Presently, all our testing uses PlatformIO's inbuilt testing framework. It works pretty well overall, we wrote this because we needed the testing to work on...

Programming Arduino using tasks instead of loops - tutorial

By dave

In this tutorial for TaskManagerIO I explain the differences between traditional loop based programming; which is very common on the Arduino platform and event based programming based on taskManager. Although event based programming looks slightly more complicated at first, as the sketch and surrounding code gets more complex, eventing will scale to that much easier. Eventing task frameworks make ongoing maintenance...

Liquid Crystal fork example using IO Abstraction library - examples

By dave

Recently, I have made a fork of Arduino LiquidCrystal (HD44780 display driver library) that allows the library to work with the IO abstraction library, meaning you can configure a display to use Arduino pins, an i2c 8574 IO expander or shift registers by simply changing one line of code in your sketch. There are two additional examples provided with this version...

Heltek Wifi kit 8 pin outs marked wrongly on some silk screens

By dave

I recently bought a Heltek Wifi kit 8 and noticed that although the board itself seems to be a good board the pin-outs, both online and on the silk screen of the board are wrongly specified. For example the silk screen shows SDA and SCL on non standard pins, but this is not the case as far as I can tell....

Detecting power loss in a power supply

By dave

There are times when your program needs to react to your device being turned off, for example to save the current state of an Arduino sketch to EEPROM before shutting down, or to disengage relays in a power module to ensure there is a clean shutdown. Usually, the power loss detector is designed as part of the power supply, so...

Arduino digital input and output tutorial

By dave

In this tutorial and accompanying youtube video (left), I discuss how Arduino inputs and outputs work. Arduino 8 bit boards are mainly based on Atmel AVR chips, in fact the Mega is named after the chip number AVR-Mega-2560. Outputs on the AVR chips are much more versatile than they first look, and the video covers this in detail. If you are...

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.