The purpose of the ISC project is to offload sensor control to an embedded controller which communicates over an I2C interface to the UKMARSBOT MCU.
The ISC comprises a programmed ATtiny814 acting as an I2C Slave on a PCB which plugs in between the UKMARSBOT sensor board connection and cable to the sensor board itself.
Possible benefits include, but are not limited to:
- Simplifies Arduino Sensor Code
- Start/Stop marker detection by using configurable interrupts and internal hysteresis to prevent nuisance trips
- Simplifies Arduino LED Indicator Code
- Frees up Analog Inputs for other tasks
- Facilitates the use of the I2C bus on the MARSBOT
- Allowing Accelerometer / displays to be fitted
- Faster Sample time (to be quantified)
- I2C interface makes sensor boards compatible with MCUs with no Analog Inputs.
The project comprises of; ISC Arduino Library, supporting documentation and ISC PCB. All of which may be downloaded from: https://github.com/slinkyfish/ISC-Project
ISC Arduino Library
The Arduino Library includes example sketches:
- Example 0 Blink
- Example 1 Left LED control
- Example 2 Read Sensor
- Example 3 Scan Time
- Example 4 Interrupts
The below code [Example 0] is all that is required to start the Sensor board lights flashing.
The below code [Example 2] configures SENSOR1 to use transmitter to reduce the affect of ambient light, then prints the sensor value to the screen every 100ms.
ISC board / firmware
I have 10 ISC boards with firmware installed. I am not sure how best to distribute these should anyone be interested in obtaining one. I can make design files and source code available, but a UPDI programmer is required to flash the ATtiny814 on the ISC itself.