Discussion about Cancelling Alert message temporarily/permanently and about using sensors to detect sudden increase in speed after short term rest or less movement?

Are these all your blocks? I did not see Clock.Timer event.

Okay, If it is necessary programming rule to include timer, then I shall include. I am adding few more blocks as well. Will share to clear more doubts.

Setting the Interval and Enabled is for trigger the Timer event.

But from your blocks, there is no relationship between your app and Clock.

1 Like

@Kevinkun ,

I need to set interval.

  1. I want to run pedometer sensor for few seconds (eg. 30 seconds or 10 seconds) repetitively and check if a person walked in that gap. I want to check this for every 30 seconds.

  2. I want to run accelerometer sensor forever if the app is ON and I want to know the interval whenever the accelerometer sensor detects less movement or no movement. This is again to know if a person is not driving.

I expect to run all the blocks repetitively or in loop.

I am including blocks like this even more to find intervals like this. Guide me.

@Kevinkun have you seen the explanation? Can you give more clarity?

How can I create repetitive (loop) tasks/code-blocks using clock/timer? ie, to check some readings regularly and whenever that reading reaches expected value, an alert has to be triggered.

I guess, finally I reached the result. I used only accelerometer sensor to give a message to the driver that 'You Started Driving'. For that I did two things. 1) Check if a person was not driving before he begins to drive. ie, 1.a) Confirm first that the driver was not driving 1.b) Confirm second that driver is driving. Now play an audio message as 'You started Driving'. (Numerical values set in this example are only for experimental purpose).

If there is any unnoticed error or if there is better idea, please share here.

NOTE: Only Player 3 audio has volume and all other players are muted. And, Player 1 audio file length is very short, may be around or less than a second. Short audio file in player 1 is given , so that the player 1 will be completed quickly to proceed further tasks.

I am surprised that you did not use the Location Sensor (GPS) to determine if you are driving.

If you were to run your phone's Acceleration Sensor and played jump rope, would it report you as driving?

1 Like

I tried location sensor by being inside home. It is taking time to update the value. My plan for these blocks is to give immediate message to the driver that 'You started to drive' as quickly as possible.

Because of the delay in location sensor, I ignored it temporarily because the purpose is to give quick message.

Yes, we have to check distance as well to differentiate Jump Rope and driving. I will work on it.

If you want a "quicker response" you might try this:

1 Like

Okay, how can I measure the movement and distance using this extension?

Okay, Let me try.

I guess, if we check the stability of the speed then we can differentiate if a person 'started to drive' from his/her 'other actions'. This can be done by using accelerometer sensor itself, I guess.

And, I found an error, there are x axis, y axis and z axis values for accelerometer. In this example, I set the x axis value. That is Forward movement of phone. But, while driving people may keep their phone in different position. So, I am going to create blocks to detect speed in any direction and then say 'You Started to Drive'. Yes, there will be the disadvantage that you mentioned.

I have a doubt about sensors. If we use sensors like accelerometer, we can see options like x axis, y axis and z axis directions in both forward and backward, up and down etc. My question is that will the direction reading for x axis got changed when user change the position of his phone? ie, if a phone is kept on a table by facing the display up, then there will be default x axis (x accel), right? My question is if I put the phone upside down, will the x axis position also get changed or the sensors can maintain the x axis direction even if user change the position of the phone as his wish?

UPDATE:

I saw this,

AccelerometerSensor

Non-visible component that can detect shaking and measure acceleration approximately in three dimensions using SI units (m/s2). The components are:

  • xAccel: 0 when the phone is at rest on a flat surface, positive when the phone is tilted to the right (i.e., its left side is raised), and negative when the phone is tilted to the left (i.e., its right size is raised).
  • yAccel: 0 when the phone is at rest on a flat surface, positive when its bottom is raised, and negative when its top is raised.
  • zAccel: Equal to -9.8 (earth’s gravity in meters per second per second when the device is at rest parallel to the ground with the display facing up, 0 when perpendicular to the ground, and +9.8 when facing down. The value can also be affected by accelerating it with or against gravity.

I think, if we create blocks in such a way to compare the 1) current latitude & longitude value with 2) past latitude & longitude, for every given time interval, we can calculate the distance and speed as well using this extension.

Let me check, how quickly the extension will provide the reading updates.

I am not satisfied with this sensor (ACCELEROMETER), because even if i kept the phone on table without moving it, it is showing values around 10 in one or two of axis. And, when I check in google to covert this value (m/s2) into km/hr, it says to multiply with 3.6. So, if we do calculation, the speed is 3.6 * 10 = 36 km/hr when I simply keeping it in table. GUIDE ME GEEKS.

UPDATE: I can guess that approximately 10 is the base value of accelerometer sensor in all positions. ie, if I keep my phone on table, y axis value is going to around 10 or -10, if i keep my phone vertically z axis values are behaving like this around -10 or + 10 and the same to x axis in other position.

UPDATE 2: If I use orientation sensor to detect the phone position, then I may be able to focus only on specific axis value of accelerometer to check the speed.

Also called gravity...

Taifun

1 Like

@Taifun, just before now I started driving my two wheeler with the app ON (I was screen recording to know the raise and fall of accelerometer values x, y and z.). I was driving at around 40 km/hr speed. I don't see big raise in accelerometer values. I was expecting that the value of some axis (x or y or z) will increase when the bike speed increases.

The accelerometer can't tell if its acceleration spike is caused by you hitting a bump or pot hole in the road, versus you pressing the gas or brake pedals.

To allow such differentiation, you would need to clamp the phone to the car, pointing it correctly.

1 Like