• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. PythonRunner
    P
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 3
    • Best 0
    • Controversial 0
    • Groups 0

    PythonRunner

    @PythonRunner

    0
    Reputation
    1
    Profile views
    3
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    PythonRunner Unfollow Follow

    Latest posts made by PythonRunner

    • RE: How to use EMO-R8 directly ?

      @martin_triska Thank you for this answer :)

      As you can see the addresses of both MCP23008 are visible.

      0x20 for the MCP23008 on the Unipi 1.1 board
      0x22 for the MCP23008 of the EMO-R8 expansion board

      And both boards have their own power supplies purchased from Unipi (CLW-1005-W2E-EB) of 5V in 2A.

      And with or without, it doesn't matter...

      So I made a new RJ11 cable and it worked :)

      Life is simple especially with a good connection....

      posted in UniPi Extension Modules (Axon & Neuron)
      P
      PythonRunner
    • RE: How to use EMO-R8 directly ?

      ONLY in English ...

      Hello,

      I have a Unipi 1.1 card and an 8 relay extension EMO-R8.

      I can drive the Unipi card (I2C address 0x20).
      The EMO-R8 module is configured to I2C address 0x22.

      But unlike the relays on the Unipi board, I can't do anything with the EMO-R8 module.

      Nothing happens :(

      Here is my program which works perfectly with the Unipi 1.1 board:

      #!/usr/bin/python
      
      #
      # Testing relays
      #
      
      import smtplib
      import math
      import smbus
      import time
      
      # Open the bus
      bus = smbus.SMBus(1)
      
      # Force output ports
      bus.write_byte_data( 0x20, 0x00, 0x00 )
      
      wait5s=5
      wait=0.125
      
      # Activates relays and switches them off 
      for value in [0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80]:
          bus.write_byte_data( 0x20, 0x09, value )
          time.sleep( wait5s )
      
      # Activates relays and switches them off 
      for value in range(0,80):
          bus.write_byte_data( 0x20, 0x09, value )
          time.sleep( wait )
      
      # Activates relays and switches them off 
      for value in range(80,0, -1):
          bus.write_byte_data( 0x20, 0x09, value )
          time.sleep( wait )
      
      # Activates relays and switches them off 
      for value in [0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01]:
          bus.write_byte_data( 0x20, 0x09, value )
          time.sleep( wait )
      
      # Force ports to zero
      bus.write_byte_data( 0x20, 0x09, 0x00 )
      

      See the list of I2C addresses used :

      root@raspberrypi-002:/home/pi# i2cdetect -y 1
           0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
      00:          -- -- -- -- -- -- -- -- -- -- -- -- --
      10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
      20: 20 -- 22 -- -- -- -- -- -- -- -- -- -- -- -- --
      30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      50: 50 -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
      60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- 6f
      70: -- -- -- -- -- -- -- --
      

      This gives in readable form :

      Chip 			Adress		Usage			Board
      -----------------------------------------------------
      DS2482-100		0x18		1Wire master	Unipi 1.1
      MCP23008		0x20		Relays			Unipi 1.1
      MCP23008		0x22		Relays			EMO-R8
      24AA00/24C02	0x50-0x57	EEPROM			Unipi 1.1
      MCP79410		0x57,0x6F	Real time clock	Unipi 1.1
      MCP3422			0x68		ADC				Unipi 1.1
      
      root@raspberrypi-002:/home/pi/unipi# i2cdetect -l
      i2c-1   i2c             bcm2835 (i2c@7e804000)                  I2C adapter
      

      When I operate the Unipi relay ports :

      I have activated the MCP23008 (on the Unipi 1.1):

      It works perfectly :)

      Initialisation of port 0x20 (Unipi 1.1) :

      root@raspberrypi-002:/home/pi/unipi# i2cset -y 1 0x20 0x00 0x00
      
      root@raspberrypi-002:/home/pi/unipi# i2cset -y 1 0x20 0x09 0x01
      root@raspberrypi-002:/home/pi/unipi# i2cset -y 1 0x20 0x09 0x00
      

      How to use port 0x22 (EMO-R8) ?

      Because the following does not work :(

      Initialization of port 0x22 :

      root@raspberrypi-002:/home/pi/unipi# i2cset -y 1 0x22 0x00 0x00
      
      root@raspberrypi-002:/home/pi/unipi# i2cset -y 1 0x22 0x09 0x01
      root@raspberrypi-002:/home/pi/unipi# i2cset -y 1 0x22 0x09 0x00
      

      Do I need to do anything special to make the EMO-R8 modules work ?

      I know, that there are Unipi solutions via their programs. But, I want to be free and not use a program that will have difficulty interfacing with other programs specific to my needs.

      That's why I prefer to access the controllers directly and do exactly what I want.

      Thank you for your help :)

      JB

      posted in UniPi Extension Modules (Axon & Neuron)
      P
      PythonRunner