Detect where the noise coming from

Hey there,
need advice from you, the experts. Roof in my home is damaged and makes periodic cracking noises and i cant find a way how to identify from where the sound coming from. Anybody got idea what kind of sensors i could use? I have all kind of spare sensors for arduino such as mic, ultrasound, vibration, 3 axis accelrometer, motion etc. Which approach i should use, it is a big area 200m2. Thanx

Perhaps you could describe the material used in constructing you roof.
Paul

I'd use microphones read on analog, as many as possible. Spread them out as far as possible and record their levels in a 2D byte array when the spike above a certain level such as the snapping of fingers.
Label their variables or use comments so you know which mic picked up which level.

I'd also recommend a licensed and insured contractor, but that's just me.

May be not much to worry about if it's thermal expansion and contraction or wind ?

of course requires expert assessment.

This is not a problem for anything but a structural engineer competent to diagnose building faults. Life and limb may be at risk.

thanx for all replies, here is some clarification:
@Paul_KD7HB its low slope shingle roof, frame is made from steel, covered with osb wood sheets and on top is asphalt shingles

@er_name_not_found i was hoping to use not so many sensors because cant access the roof everywhere, maybe some directional mics? As there is gypsum ceiling from the room under, the sounds inside roof are pretty hollow and strong not sure if that even possible to identify direction via mic, there might be some vibrations as well

J-M-L : it is thermal expansion of the roof steel frame which probably on some places hitting the wooden osb and this make hollow loud sound because roof is enclosed. I know its caused by steel because it always happens in the morning and evening - when the temps are changing. I placed temp sensor inside the roof and its around 60 degree C there, which is a lot

MarkT : i called engineer which said need to take off all the ceiling, maybe the roof too and re-weld the roof frame. But if we would be able to identify where the sound coming from we could fix that without much damage.

Any ideas ?

It sounds indeed like thermal issues.

The thing is it’s likely the weaker point that gets noisy. You fix that one and you possibly just moved the problem to the next weak point as heat propagates and structural deformation will happen where it can.

It might end up being a wack-a-mole game and ends up being more costly than redoing the whole thing. That’s probably why the expert said change it all.

Not fun…

@J-M-L the engineer said "change it all" because he is not able to identify where the sounds come from. He said if we can identify the exact place he can look at it and say if just local repair is needed or whole roof replacement, that's what i am trying to do now...

OK - that makes sense.

challenge is the sound origin is going to be an hard approach as directional microphones will tell you "I heard something coming from there" but you don't know if this was just what they captured and there was a larger sound coming from somewhere else. You get what you measure...

Sound propagates also through the structure, will go faster in some materials than others, can be "amplified" by wood and amortised by other materials...

So unless you have an array of microphones - close enough to the actual source of noise (likely your roof steel frame) - and can build some sort of map of multiple locations at the same time so that you can compare peaks, it's going to be hard (and costly) to achieve anything.

Hello
Did you check if do you have some animal guests in your roof?

What about placing a mic on a steel beam to see what comes out of the steel? Engineers monitor what's going on in bridges by picking noises coming out of the steel itself.

It will be extremely difficult to find with sensors as sound travels through steel very well and the noise will then appear from all sorts of places .
Don’t under estimate how clever your ears are , not only in detecting direction , but cancelling echoes etc.
The time and effort in developing this could be spent on partial dismantling and sorting the roof . When you’ve built your project , how do you test that it is finding the fault ?
As said this is a bandage project , you need to find out what is wrong with the roof and get it fixed by someone who knows what they are doing.

sorry for late reply
@J-M-L the roof "floor" is only gypsum ceiling from the room under so cant really work on it. I am able to access the steel beams only on couple places not everywhere so i was hoping to figure if can find the noise by placing sensors in 2-3 places. Maybe i could attach 4 mics on one arduino, each mic pointing different direction. Would that work?

@paulpaulson yes this is first i checked, there is no animals in the roof

@HillmanImp good idea, i will ask my engineer about that, but still can access just some beams not all

@hammy yes u right this task is not easy, When i build the project i hope to get to the right spot and find not good welding point or weak material

google sound trilateration arduino or acoustic trilateration arduino

That approach is possible, but difficult.