more i2c and mcp23017


+ Reply to Thread
Results 1 to 27 of 27

Hybrid View

  1. #1
    Join Date
    May 2013
    Location
    australia
    Posts
    2,653


    Did you find this post helpful? Yes | No

    Default Re: more i2c and mcp23017

    I'm using the same setup I had for Arduino that worked, so I know this setup works.
    a largely meaningless statement, an Arduino lib could do all sorts of unmentionable things to anything it comes into contact with

    it needs to be
    I'm using this <library> found here <link to lib> with this setup init() function connected this way <schematic or description>

    eg
    Code:
    #include <RFM12B.h>
    // By default the SPI-SS line used is D10 on Atmega328. You can change it by calling .SetCS(pin) where pin can be {8,9,10}
    #define NODEID           1  //network ID used for this uniy
    
    #define NETWORKID       99  //the network ID we are on
    
    //lib  https://github.com/LowPowerLab/RFM12B
     
     radio.Initialize(NODEID, RF12_433MHZ, NETWORKID);
    Warning I'm not a teacher

  2. #2
    Join Date
    Jun 2011
    Location
    Indian Harbour Nova Scotia
    Posts
    108


    Did you find this post helpful? Yes | No

    Default Re: more i2c and mcp23017

    I'm using this library: Centipede, found here: http://macetech.com/store/index.php?...products_id=23, with this setup: (this code for 5 different boards). PCB board layout attached.Name:  RGBModelPoint (1).jpg
Views: 2300
Size:  135.9 KB I have 5 of these RGB boards using the code below without issue, but I can't get a simpler version (the PBP code) with monochrome LEDs working.

    /*PointsRGBTEST This is working copy.
    RGB test BF29April2018
    Code to check new RGB Points PCB as precursor to the big Star.
    Test of matrix RGB activation. Uses MCP23017 I2C port expanders
    at addresses 20 to 24 and special RGB Star point model. Sequences
    through 7 colors (see below) for 16 lights. Does all one color
    for 16, then next color for same 16. Note RED overwhelms other colors
    so blue or green mixed in show red, instead of magenta and yellow.
    */
    #include <Wire.h>
    #include <Centipede.h>
    Centipede CS;
    const int pins[3] = {//9,10,11 are DIO pins for RGB transistors. Active high turns transistor on.
    9, 10, 11 //use 9, 10, 11 because these are PWM pins on UNO
    };

    int x = 50;//delay between LEDs on/off //
    int i;
    byte b;
    byte p;
    const byte rgb[7] = {0x02, 0x04, 0x08, 0x05, 0x06, 0x0C, 0x0E,}; //00000010= 0x02
    //Red overpowers other lights when lit in combination, eg with green or blue.
    /*const byte Red = ~0x02; //0B00000010 Red on PB1 pin 9 of Uno invert bits 1 here is on, but must be zero for relay
    const byte Green = ~0x04; //0B00000100 Green on PB2 pin 10
    const byte Blue = ~0x08; //0B00001000 Blue on PB3 pin 11
    const byte Magenta = ~0x05; //0B00001010 red and blue
    const byte Yellow = ~0x06; //0B00000110 red and green
    const byte Cyan = ~0x0C; //0B00001100 blue and green
    const byte All = ~0x0E; //0B00001110 all lights should be white
    const byte Seg0 = ~0x01; //0B00000100 Segment 0 on PD0, pin 0 of UNO
    const byte Seg1 = ~0x02; //0B00001000 Segm*/

    void setup() {
    Wire.begin(); // start I2C
    CS.initialize();
    for (byte p = 0; p < 5; p++)//initialize all 5 port expanders
    { CS.portMode(p, 0x00);} //
    // initialize the I/O pins as outputs
    for (int i = 0; i < 3; i++) {
    pinMode(pins[i], OUTPUT);
    }
    }

    void loop()
    {
    for (byte b = 0; b < 7; b++)
    PORTB = rgb[b]; //cycle 7 colors on pins 9,10,11
    for (int p = 0; p < 16; p++)//16 needed to display LED 15
    {CS.portMode(1, 0x00);
    CS.digitalWrite(p, HIGH);//toggle light ON
    delay(x);
    CS.digitalWrite(p, LOW); //turn light OFF
    delay(x);
    }
    }
    Last edited by queenidog; - 24th May 2018 at 14:37.

Similar Threads

  1. need help with PBP, I2C and MCP23017
    By queenidog in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 20th May 2018, 00:01
  2. I2C two master on one I2C display
    By Kmt in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 22nd September 2014, 20:44
  3. I2C question w/ MCP23017 Port Expanders
    By dsicon in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 26th December 2012, 05:47
  4. PIC 18F4550 and MCP23017
    By DaveC3 in forum Code Examples
    Replies: 12
    Last Post: - 4th December 2010, 14:01
  5. I2C, little help please
    By gluphus in forum Serial
    Replies: 2
    Last Post: - 15th March 2006, 04:32

Members who have read this thread : 10

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts