Blog 22
Revision as of 14:09, 18 December 2015 by Cartridge1987 (talk | contribs) (Created page with " == !BETA! == Hardware used on Arduino: *[http://www.bitwizard.nl/shop/expansion-boards/dio DIO] | (DIO) *[http://www.bitwizard.nl/shop/cables-connectors/10-20cm-jumper-...")
!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); }