Blog 22
Revision as of 14:31, 23 December 2015 by Cartridge1987 (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
!BETA!
Hardware used on Arduino:
- DIO | (DIO)
- Jumper cables M-F
- 4 PIN I2C cable F-F
- Analog meter
Programmed with:
- Arduino
- Time Library
Simple Example code
In this code I will show how you can make the Analog meter pointer, be at 50% for ten seconds and being off for 10 seconds.
#define DIO 0x42 #include <Wire.h> void setup() { Wire.begin(); // wake up I2C bus Serial.begin(9600); set_var(0x42, 0x30, 0x01); set_var(0x42, 0x5f, 0x01); } byte get_var(byte address, byte reg) { byte value; Wire.beginTransmission(address); Wire.write(reg); Wire.endTransmission(); delayMicroseconds (10); Wire.requestFrom(DIO, 1); value = Wire.read(); return value; } void set_var(byte address, byte reg, byte value) { Wire.beginTransmission(address); delayMicroseconds (10); Wire.write(reg); delayMicroseconds (10); Wire.write(value); Wire.endTransmission(); } void loop() { unsigned long DIOAddress; char buf[32]; set_var(0x42, 0x50, 0x80); DIOAddress = get_var(0x50, 0xb); sprintf (buf, "PWM80: A:%d \r\n", DIOAddress); Serial.write (buf); delay(10000); set_var(0x42, 0x50, 0x00); DIOAddress = get_var(0x50, 0xb); sprintf (buf, "PWM0 : A:%d \r\n", DIOAddress); Serial.write (buf); delay(10000); }
DIO Analog Meter - Clock
DIO Analog Meter - Timer
Useful links
Blog 21 - The Raspberry Pi Version of the above projects.