Using DALI protocol in Arduino MEGA 2560

Hi there! I'm new to this forum, but like many of us, doing project by project with Arduino, we need some help here earlier or later... So here I'm, and I hope you could help me with this.

First of all, I'm looking for a library, to use this protocol, the more complete is the library the better (I mean that the library/ies not only transmit and receive over DALI serial, but all the standard commands table must be included, or at least the most used and important ones).

I first found a library called "pq_dali.h", but like it just was able to transmit and receive from DALI bus.

Then, yesterday I found another one, that looked very complete called "dali.h", and It called my attention, I would like to use it, but right now I have no idea if I must translate some code lines to Arduino IDE, so the compiler could understand it.

Here are some interesting links I found about this:

here is file filled of libraries, and is used to control the Cosino board (Arduino MEGA based):

The second link contains the "dali.h" library.

I've learned through the days, how DALI works, but I'm seriously stopped, because I have not idea of how to use that "dali.h" library for my Arduino with the role of Master who send and receive from Slaves.

Some tips about what would I like to do first:

  1. Using RECALL MAX/MIN using the broadcast mode (so I can test which driver have problems)

  2. Search and Setting the DALI address of each driver (up to 64 devices, so address must be from 0-63, in binary)

  3. Test each of the drivers with specific address assigned in Step 2

  4. Assign groups and scenes for each drivers (up to 16 groups)

That's basically all, so I need help of how to send and receive data with that library, and need ideas of how to use those basics commands to install all the DALI system between Master (my Arduino) and all Slaves drivers (another DALI devices).

I already designed the DALI interface circuit, so that's not a problem.

Here is another interesting link of how DALI works: http://www.rayzig.com/manual/rayzig.html?DALIaddresssettingexplained.html

By the way... if you find another similar and good library, you should post it here and tell me how to use it.

I hope you could help me, and thanks a lot for reading this.

What is DALI - is this something I might be interested in?

...R

Digital Addressable Lighting Interface. It's an open standard protocol and physical interface primarily intended to control lighting. It uses two wires for communications. The bitrate is 1200/second. The communication wires can be ordinary building wire, 1.5 mm2 or more; in the US, that's 14 AWG or larger. The communication wires are galvanically isolated from the power circuits.

The address space allows for 64 devices on a channel. Those gizmos might be light fixtures, manual on/off controls, dimmers, occupancy sensors, or whatever else someone decides to build.

The protocol dates from the 90's. Though it's an open standard, you have to either pay a fee or be a member of the group that promulgates the standard - which almost ceertainly involves paying a fee - in order to use the word, "DALI," on your products. So, maybe it's a kind-of-open standard.

I can't say how popular it is in the US. I've been designing lighting and power systems for health care buildings for about two decades, and I've never used it on a project. I've never seen it proposed or considered, either.

Robin2:
... is this something I might be interested in?

It might be. I'm interested in it, but I haven't yet been interested enough to try to build anything. The communication circuits are a thing in themselves, but they are only part of the system. There are still dimmers and controllers to build. I'm not sure that it's worth it to do for, say, a reasonably-sized residence, except as a tour de force.

Thanks. @tmd3. Now I can say I know nothing about it and I am not interested to learn it right now..

I will happily leave it to you to help the OP.

...R

Thanks for answer, if you know something about, share with me please, I need help on this.