Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. My New IrrigationController

My New IrrigationController

Scheduled Pinned Locked Moved My Project
23 Posts 6 Posters 10.1k Views 10 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • karl261K karl261

    @marekd Great controller! For the keypad: I see from the code that you use the I2C code. How did you connect your keypad? Did you use a I2C extension chip? And, which keypad_i2c library do you use? I found multiple on the net.

    Thanks!

    marekdM Offline
    marekdM Offline
    marekd
    wrote on last edited by
    #21

    @karl261
    Thanks,
    in case I2C yes, and no.
    with 1st generation [with 1 ProMini] I used I2C port expander PCF8574.
    with 2nd generation [with MEGA2560] just pins, 8 pins, declared like this:

    /**** Kepad settings /
    const byte ROWS = 4;
    const byte COLS = 4;
    char keys[ROWS][COLS] = {
    {'1', '2', '3', 'A'},
    {'4', '5', '6', 'B'},
    {'7', '8', '9', 'C'},
    {'
    ', '0', '#', 'D'}
    };

    byte rowPins[ROWS] = {47, 45, 43, 41};
    byte colPins[COLS] = {39, 37, 35, 33};
    int i2caddress = 0x20;
    Keypad_I2C kpd = Keypad_I2C( makeKeymap(keys), rowPins, colPins, ROWS, COLS, i2caddress );

    with 3rd generation - plan to have 2nd ProMini with PCF expander.

    attached library I use.

    0_1474294070076_Keypad_I2C.zip

    and some pictures of generation 3, which is under construct :)

    Power supply:
    0_1474294426219_IMG_20160914_183822.jpg

    and control box with 2 ProMinis:
    0_1474294458646_IMG_20160914_183837.jpg

    karl261K 1 Reply Last reply
    0
    • marekdM marekd

      @karl261
      Thanks,
      in case I2C yes, and no.
      with 1st generation [with 1 ProMini] I used I2C port expander PCF8574.
      with 2nd generation [with MEGA2560] just pins, 8 pins, declared like this:

      /**** Kepad settings /
      const byte ROWS = 4;
      const byte COLS = 4;
      char keys[ROWS][COLS] = {
      {'1', '2', '3', 'A'},
      {'4', '5', '6', 'B'},
      {'7', '8', '9', 'C'},
      {'
      ', '0', '#', 'D'}
      };

      byte rowPins[ROWS] = {47, 45, 43, 41};
      byte colPins[COLS] = {39, 37, 35, 33};
      int i2caddress = 0x20;
      Keypad_I2C kpd = Keypad_I2C( makeKeymap(keys), rowPins, colPins, ROWS, COLS, i2caddress );

      with 3rd generation - plan to have 2nd ProMini with PCF expander.

      attached library I use.

      0_1474294070076_Keypad_I2C.zip

      and some pictures of generation 3, which is under construct :)

      Power supply:
      0_1474294426219_IMG_20160914_183822.jpg

      and control box with 2 ProMinis:
      0_1474294458646_IMG_20160914_183837.jpg

      karl261K Offline
      karl261K Offline
      karl261
      wrote on last edited by
      #22

      @marekd Thanks for the detailed reply. What the monster capacitor for in gen 3?

      I plan to build my keypad with one pro mini and the PCF8574. Like your gen 1 & 3. How did / are you planning to wire the PCF8574? It seems rather straight forward according to this:

      https://www.hackster.io/venkatesh_rao/i2c-keypad-73a012

      Is this the wiring you are using? Or is it different?

      Since I am building a battery keypad, I was also planning to use the interrupt line of the PCF8574.

      marekdM 1 Reply Last reply
      0
      • karl261K karl261

        @marekd Thanks for the detailed reply. What the monster capacitor for in gen 3?

        I plan to build my keypad with one pro mini and the PCF8574. Like your gen 1 & 3. How did / are you planning to wire the PCF8574? It seems rather straight forward according to this:

        https://www.hackster.io/venkatesh_rao/i2c-keypad-73a012

        Is this the wiring you are using? Or is it different?

        Since I am building a battery keypad, I was also planning to use the interrupt line of the PCF8574.

        marekdM Offline
        marekdM Offline
        marekd
        wrote on last edited by
        #23

        @karl261
        Capacitor is not so big ;) generally helps.
        I my wiring there is no pull-up resistors at I2C lines. Rest is the same.

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        14

        Online

        11.7k

        Users

        11.2k

        Topics

        113.1k

        Posts


        Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • MySensors
        • OpenHardware.io
        • Categories
        • Recent
        • Tags
        • Popular