TheCodersCorner.com items tagged with arduino.
I specialise in multithreaded network programming and embedded C++; with in excess of 20 years experience writing applications in both Java and C++. Having spent many years writing systems that need to communicate using differing protocols, often for exchange connectivity we are familiar with many topologies. In terms of multithreaded development we have built systems with low latency requirements using various...
You can connect up a device using just about any arrangement of pins or expander, at the end of the day any device supported by IoAbstraction, including MultiIo (pins and IoExpander mix) can be used here. Examples showing these use cases MCP23017 LiquidCrystal example Shift register 74HC595 LiquidCrystal Back to the main page
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...
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...
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...
On the previous page covering single digit displays , we dealt with driving one 7-segment digit. On this page we'll use a multi-digit display and assume 4 digits. Just like single devices, multi-digit 7-segment displays have connections for A-G, DP and common, but they have a common pin for each digit, with one set of A-G and DP pins that are shared....
LiquidCrystalIO is now also compatible with PicoSDK and mbed boards. It supports regular mbed pins, I2C backpacks based on PCF8574 and MCP23017 based connections. You can adapt any of the Arduino examples for mbed very easily, as the API is 99% the same. The most recent examples for this are in our native C++ CMake project in https://github.com/TcMenu/tcLibraryDev Back to the...
Many embedded applications need to present status and allow users to manage settings. TcMenu provides first class support for both presenting status and managing configuration/settings using menu items. It is possible to use with and without a local user interface. All menu item types can be accessed remotely, and we have a remote API, UI solutions, and connectors to commercial IoT...
In this article I describe how to wire a 20x4 character display to an Arduino. I'm assuming you are using a regular 5V 8bit Arduino, if this is not the case this article will not work for you as you'll need voltage level converters. Most character based LCD displays use the same wiring, but I can't guarantee that all will be the...
PGA2310 Volume Control device Provides a simple analog device that can be used to control a PGA2310 volume device. Left channel is 0 and right channel is 1. The device should be connected on the SPI bus as usual. This should work with Arduino now, and mbed in a patch release coming soon. To use first include the header: Then initialise...