Controlling a PWM over I2C
Aus DL8RDS Wiki
Version vom 7. November 2009, 01:03 Uhr von Dl8rds (Diskussion | Beiträge) (New page: Pulse Width Modulation is a way to control the production of voltages. The hardware that is being used here is a BV4237: * http://www.byvac.com/bv/bv4237.htm The below given code sample ...)
Pulse Width Modulation is a way to control the production of voltages. The hardware that is being used here is a BV4237:
The below given code sample is based on the code presented by the BB user wilkosoft:
#include <Wire.h> #define dac 0x31 void sw16set(byte val) { Wire.beginTransmission(dac); // join I2C, talk to BV4206 by id Wire.send(0x16); //tell it what pin you want Wire.send(val); //the state of the pin, from 0-8 (PWM controls the levels) Wire.endTransmission(); // leave I2C bus delay(100) ; } void setup() { Wire.begin(); Serial.begin(9600); } void loop() { for (byte i=0; i<9; i++) { sw16set(i); } }