TheCodersCorner.com items tagged with digital-io.
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....
Sometimes the situation arises where a product is built (or gets close to being built), before any concerns about it's stability are discussed or proper planning arranged. Often this leads to code being written without any proper test plan in place. Combined with very tight deadlines there's often even no plan to go back and fix things up. Once this situation...
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...
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,...
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...
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...
When writing Arduino code that needs quite a few IO pins, you may need to expand the IO using a shift register or i2c expansion device such as the PCF8574. Up until now that meant significantly changing your code to use the new device. If you were using the IOAbstraction library , then you'd just set up a different type of...
At the moment I am prototyping a high quality pre-amplifier based around the PGA2310 volume control and an op-amp buffer input with RF filtering. Each channel will be selectable by relay, along with gain adjustment for each channel in terms of increase in dB. Each channel will be assigned a name that can be changed easily in software and stored along...
In this tutorial, I present a fictional SPI chip that we will use for the sake of example. This chip has two LED's and controls them over SPI. It will help us to understand SPI with a real worked example. Following on we will build a real world circuit, using the SPI library, to see how easy it is to use...
In this article, I present an example showing how to connect an Arduino device to your PC using USB serial and Java. USB serial is available on nearly all Arduino based boards. Further, there are serial interface Java libraries that can connect to an Arduino. If you are unfamiliar with data communications in general, take a look a the introduction to...