Using Accelerometer to detect a panning motion

i'm wondering if it is even possible and is so, how would i go about detecting a user panning the iphone from side to side (as in when one is framing a picture). i really just want to know when the phone is moving and direction. i don't really need anything precise or accurate.
any help would be appreciated.
john

As a college physics professor I feel I should weigh in here. I tried earlier to use the classical equations to estimate velocity and displacement of the iphone based on "integrating" the acceleration values as someone suggested;let me tell you up front that the results that come out of it are practically garbage because the iPhone's accelerometer is not nearly precise enough. You're welcome to try, but if you want any kind of meaningful use out of your "velocity" measures be prepared for hours and hours of modifying math functions to shine poop, so to speak. If you are successful; please let me know.

Similar Messages

  • Start recording video at a set time of day and off at a set time of day, and or can start rec video when motion detected, till no motion detected for a set period

    is there an app for iphone which can be set to start recording video at a set time of day and off at a set time of day, and or can start rec video when motion detected, till no motion detected for a set period. basically someone is vandalising my vehicle and i really really want to catch the mongrel
    thanks for any suggestions

    Nope.

  • Using javascript to detect the onclick event over a datatable row

    Hi all,
    I'm working with JSF 1.2 R.I. and I would like to add some javascript to my datatable to be able to control the onclick event on a row.
    At the moment I have just added a checkbox to be able to know which row the user wants to select but I'm not satisfied with this solution.
    <h:dataTable
    value="#{person_iupopulations_Observation.customer}" var="customer"
    rowClasses="evenRow,oddRow"
    cellspacing="0">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Select" />
    </f:facet>
    <h:selectBooleanCheckbox value="" onclick="getRow(this)">
    </h:selectBooleanCheckbox>
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:outputText value="Name" />
    </f:facet>
    <h:outputText value="#{customer.Name}"></h:outputText>
    </h:column>
    </h:dataTable>
    What I would like to achieve is:
    When the user clicks the row (wherever, not only the checkbox) the checkbox changes to the new value depending, off course, on the user's selection.
    For this purpose I would need to add the onclick event to every row and associate it to a javascript function to update the checkbox.
    Can anybody help me please.
    I appreciate any suggestion.
    Thanks in advance!

    I am looking for answers on how to use javascript to detect the onclick event over a datatable row . I have a selectBooleanCheckBox in one of the columns in the every row in the table. On click of the checkbox in any row of the table, I want to get some values from the selected row and also verify that the rest of the checkboxes in all the other columns are unchecked. I want to do this using javascript. If any of you have answers, please repsond. Thanks.

  • Using javascript to detect JVM

    Hi all.
    I'm trying to use javascript to detect whether the JVM (either j2sdk or j2ee) has been installed and take the user to SUN web page if not.
    The original MS JVM is not useable for my purposes (does anyone use it?).
    I know how to detect browsers and plug-ins but not JVM.
    Can anyone help out please ?
    TIA :-)

    If you use the classid and codebase attributes of the <object and <embed tags, it will download automatically. Easiest is to use HTMLConverter. You can change codebase to point to somewhere on your network if not everyone has internet access. See [url http://java.sun.com/j2se/1.4.1/docs/guide/plugin/developer_guide/using_tags.html]here

  • Use of edge detection in pattern matching algorithm?

    Hello all,
                    I work for a group at Texas A&M University researching two-phase flow in reactors.  We have been using IMAQ Vision and had a question regarding the use of edge detection in the pattern matching algorithm.  I had seen the webcast entitled “Algorithms that Learn: The Sum and Substance of Pattern Matching and OCR” (http://zone.ni.com/wv/app/doc/p/id/wv-705) and in the webcast it was mentioned that the pattern matching algorithm uses edge detection to, (as best I can tell), reduce the candidate list further and to perform subpixel location calculations.  However, I was wondering if this edge detection process is still performed if we do not use the subpixel location calculation (i.e. if we uncheck the “Subpixel Accuracy” check box)?  Also, if edge detection is performed in the pattern matching algorithm is it consistent with the method described in Chapter 13 of the Vison Concepts Manual (“Geometric Matching”)?  Finally, if edge detection is performed in a manner consistent with Chapter 13 of the manual, how does the geometric matching correlation number affect the correlation calculation that was performed in the previous steps?  Are they simply multiplied together?
    Many thanks!
      -Aaron

    Jeff,
    We are using Imaq Vision Builder 4, with the included pattern matching that can be accessed via the menus (i.e. we haven't created a custom VI or anything.)  We are using the software to locate bubbles during boiling experiments and want a deeper understanding of what is going on "behind the scenes" of the algorithm, as we may have to explain how it works later.  We have been able to determine most of what we need from the webcast I had previously mentioned, except for the use of edge detection in the pattern matching algorithm.
    At the scales involved in our experiments, subpixel accuracy is really not needed and therefore we do not use it.  If edge detection is used in the pattern matching algorithm only to determine location with subpixel accuracy, then we do not really need to know how it works because we do not use that calculation.  Inversely, of course, if edge detection is used during pattern matching even without enabling subpixel accuracy, then we would like to have a fairly good understanding of the process.
    I've read most of the section on geometric matching in the Vision Concepts Manual and wondered if the process described there for edge detection (or feature matching) was also used in the basic pattern matching algorithm?
    To summarize, if edge detection is not used in the basic pattern matching algorithm without subpixel accuracy, then that is all I need to know.  If edge detection is used for pattern matching even without using the subpixel accuracy calculation, then we would like to learn more about how exactly it is used in the pattern matching algorithm.
    We would really appreciate any help you could give us... we've been digging around on the NI website for a couple of weeks now trying to fit together all the pieces of the pattern matching puzzle.
    Many thanks!
        Aaron

  • To use the "Users & Groups" preferences pane, System Preferences must quit and reopen.

    When I try to access some of the system preferences in Mavericks I get an error pane that states "To use the “Users & Groups” preferences pane, System Preferences must quit and reopen."
    Has anybody had this problem and if so what is the fix?

    Usually happens if you opened one that was 32-bit. Then, you need to revert back to 64-bit.

  • Using the Flash detection kit from adobe

    Question:
    I want to use the flash detection kit, which is downloadable
    at abobe site.
    But the actionscript example that is provided uses a
    subdirectory (which is called flash_content) to play the content
    when the detection has been done. I've altered the
    'flash_detection.as" file, but still it only seems to work if my
    content is in the subdirectory flash_content.
    But I do not want my content in a subdirectory (also to do
    with search robots).
    I can't seem to make it work, has anybody got any idea?
    thanks

    Anyone have any ideas?

  • I've imported some midi tracks, used the mixer to set pan, volume etc, but when I stop playback and restart it sets every midi track back to '0'. I've been using LE for years, this is a new one, any ideas?

    I've imported some midi tracks, used the mixer to set pan, volume etc, but when I stop playback and restart it sets every midi track back to '0'. I've been using LE for years, this is a new one, any ideas?

    Hi,
    that's because Logic reads the volume information out of the imported MIDI tracks and sets the volume fader according to this information. The MIDI information overrides volume settings you have done, so you have to identify the MIDI events that contain volume (or expression or pan or whatever) information and delete them. You can use the event list editor for this.
    Fox

  • Device Movement using Accelerometer Reading

    Hi,
    I am trying to find a small movement of my Windows Phone device using Accelerometer reading.
     I got this
    article which uses GPS location as the initial point and then find the direction using accelerometer reading.
    I tried to implement the same, but not able to get the data. Its always "NaN". Also I followed this
    article for accelerometer reading.
    Please see if you can help me in this case.
    Thanks
    Somnath

    Thanks for your reply.
    Here is the code that I am using to get the distanced moved by the device. But even if the devices is stable I see accelerometer reading. I am following
    this article and trying to get the speed,accelerometer,distances covered by the device, so that when I hold the device in my hand and talk a distance of 1m I should get a distance and the new coordinates also.
      static Double earthRadius = 6378D;
            String prevLatitude = "50.9847845229511";
            String prevLongitude = "37.7661668451207";
            String currentDirection = "45";
            Double initialVelocity = 0.0;
            Double prevDistanceTravelled = 0.0;
            float PrevAcceleration = 0;
            Double PrevSpeed = 0.0;
            private double _ax = 0.0;
            private double _ay = 0.0;
            private double _az = 0.0;
            private const int _num = 100;
            private double[] _x = new double[_num];
            private double[] _y = new double[_num];
            private double[] _z = new double[_num];
            private int _index = 0;
            double distanceX, distanceY, distanceZ;
            double speedX, speedY, speedZ;       private async Task<int> CalculateAccelerometerReading(AccelerometerReading reading)
                //Average of 100 Accelerometer readings
                _x[_index] = reading.AccelerationX;
                _y[_index] = reading.AccelerationY;
                _z[_index] = reading.AccelerationZ;
                _index++;
                if (_index >= _num)
                    _index = 0;
                double xsum = 0.0;
                double ysum = 0.0;
                double zsum = 0.0;
                for (int i = 0; i < _num; i++)
                    xsum += _x[i];
                    ysum += _y[i];
                    zsum += _z[i];
                double x = xsum / _num;
                double y = ysum / _num;
                double z = zsum / _num;
                if (x > 0.5)
                    x = 0.5;
                else if (x < -0.5)
                    x = -0.5;
                if (y > 0.5)
                    y = 0.5;
                else if (y < -0.5)
                    y = -0.5;
                if (z > 0.5)
                    z = 0.5;
                else if (z < -0.5)
                    z = -0.5;
                //Get Current Time to calculate time Travelling - In seconds
                // var secondsTravelling = 5;// date - tripStartTime;
                //  var t = 5;// secondsTravelling.TotalSeconds;
                double t = (reading.Timestamp.Ticks - _time) / 10000000.0;
                // Compute average accelerations during this time interval
                double ax = ((x * _gravity) + _ax) / 2.0;
                double ay = ((y * _gravity) + _ay) / 2.0;
                double az = ((z * _gravity) + _az) / 2.0;
                //calculare velocity
                double vx = _vx + (ax * t);
                double vy = _vy + (ay * t);
                //calculate distances
                distanceX = (initialVelocity * t) + (0.5 * ax * t * t);
                distanceY = (initialVelocity * t) + (0.5 * ay * t * t);
                distanceZ = (initialVelocity * t) + (0.5 * az * t * t);
                //calculate speed
                speedX = distanceX / t;
                speedY = distanceY / t;
                speedZ = distanceZ / t;
                //float currentAcceleration = (float)Math.Sqrt(reading.AccelerationX * reading.AccelerationX + reading.AccelerationY * reading.AccelerationY + reading.AccelerationZ * reading.AccelerationZ);
                float currentAcceleration = (float)Math.Sqrt(ax * ax + ay * ay + az * az) - PrevAcceleration;
              //  var distanceTravelled = (initialVelocity * t) + (0.5 * currentAcceleration * t * t);
                var distanceTravelled = (float)Math.Sqrt(distanceX * distanceX + distanceY * distanceY + distanceZ * distanceZ);
              //  distanceTravelled = distanceTravelled / 1000;
                var finalvelocity = initialVelocity + (currentAcceleration * t);
                //var currentSpeed = distanceTravelled / t;
                var currentSpeed = (float)Math.Sqrt(speedX * speedX + speedY * speedY + speedZ * speedZ);
                var oldLatitude = Double.Parse(prevLatitude);
                var oldLongitude = Double.Parse(prevLongitude);
                var direction = Double.Parse(currentDirection);
                if (distanceTravelled != prevDistanceTravelled && currentAcceleration > 0.5 && currentSpeed != PrevSpeed)
                    prevDistanceTravelled = distanceTravelled;
                    PrevSpeed = currentSpeed;
                    PrevAcceleration = currentAcceleration;
                    //Convert from Degree to Radians (For Formula)
                    oldLatitude = Math.PI * oldLatitude / 180;
                    oldLongitude = Math.PI * oldLongitude / 180;
                    direction = Math.PI * direction / 180.0;
                    //Calculate the New Longitude and Latitude
                    var newLatitude = Math.Asin(Math.Sin(oldLatitude) * Math.Cos(distanceTravelled / earthRadius) + Math.Cos(oldLatitude) * Math.Sin(distanceTravelled / earthRadius) * Math.Cos(direction));
                    var newLongitude = oldLongitude + Math.Atan2(Math.Sin(direction) * Math.Sin(distanceTravelled / earthRadius) * Math.Cos(oldLatitude), Math.Cos(distanceTravelled / earthRadius) - Math.Sin(oldLatitude) * Math.Sin(newLatitude));
                    //Convert From Radian to degree/Decimal
                    newLatitude = 180 * newLatitude / Math.PI;
                    newLongitude = 180 * newLongitude / Math.PI;
                    prevLatitude = newLatitude.ToString();
                    prevLongitude = newLongitude.ToString();
                    initialVelocity = finalvelocity;
                    _time = reading.Timestamp.Ticks;
                    _ax = ax;
                    _ay = ay;
                    _az = az;
                    _vx = vx;
                    _vy = vy;
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                        txtlatnew.Text = newLatitude.ToString();
                        txtlngnew.Text = newLongitude.ToString();
                return 0;
    It would be really nice if you could help me to fix this code.

  • Cannot get hardware limits to work when using Lintech switches with a ACR9000 motion controller

    This has been my conversation with Parker Automation.
    From: Susan Connors <[email protected]>
    Date: April 21, 2015 at 8:52:55 AM CDT
    To: Bowlerdusty <[email protected]>
    Subject: Re: ACR 9000
    Hi Dustin,
    Since the product was not purchased from us, or through the Parker website, but through National Instruments, you would need to contact them and they should be able to help.
    Regards,
    Susan
    Susan Connors
    Customer Service Representative
    Cross Company - Automation Group
    Employee Owned Since 1979
    Direct Dial: 704-755-1048 Fax: 704-523-6500
    Toll Free: 1-800-866-4568 ext 5352
    On Mon, Apr 20, 2015 at 4:16 PM, Bowlerdusty <[email protected]> wrote:
    Hi again. Since last speaking, we have gotten the motor to move. The only thing we are struggling on now is getting the hardware limits to work. We are using switches provided by Lintech. One pair of switches is mechanical and the other pair are non-contact reed switches. I found out earlier that the product was purchased from National Instruments Co. Anyway we could receive some help with this?
    Thanks,
    Dustin Brown
    -----Original Message-----
    From: Susan Connors <[email protected]>
    To: Bowlerdusty <[email protected]>
    Sent: Tue, Feb 3, 2015 12:52 pm
    Subject: Re: ACR 9000
    Dustin,
    I am checking with our manager and engineers on this and will let you know.
    Regards,
    Susan
    Susan Connors
    Customer Service Representative
    Cross Company Automation Group - Employee Owned Since 1979
    Direct Dial: 704-755-1048 Fax: 704-523-6500
    [email protected]
    www.cross-automation.com
    Cross Automation Line Card
    We welcome your feedback on our customer support team. Please email my manager: [email protected]
    On Mon, Feb 2, 2015 at 3:10 PM, Bowlerdusty <[email protected]> wrote:
    Could it possibly be under some other name? There are other divisions it could possible be under. This place is also under the U.S. Army Corps of Engineers, so it might be under that name. And if this wasn't purchased from this company, then where was it purchased from? This is the company I was sent to when I contacted the Parker Motion support.
    -----Original Message-----
    From: Susan Connors <[email protected]>
    To: bowlerdusty <[email protected]>
    Sent: Fri, Jan 30, 2015 4:13 pm
    Subject: Fwd: ACR 9000
    Hello,
    We have checked and show no record of your company or this part being purchased from us, so this is not something that we can offer support.
    I do not know of an integrator in your area but you should contact a local one that could possibly help you trouble-shoot any questions you have on this unit.
    Regards,
    Susan
    Susan Connors
    Customer Service Representative
    Cross Company Automation Group - Employee Owned Since 1979
    Direct Dial: 704-755-1048 Fax: 704-523-6500
    [email protected]
    www.cross-automation.com
    Cross Automation Line Card
    We welcome your feedback on our customer support team. Please email my manager: [email protected]
    ---------- Forwarded message ----------
    From: Bowlerdusty <[email protected]>
    Date: Fri, Jan 30, 2015 at 3:59 PM
    Subject: Re: ACR 9000
    To: [email protected]
    Any idea of when I'll get a response?
    -----Original Message-----
    From: AG Sales Fax <[email protected]>
    To: bowlerdusty <[email protected]>
    Sent: Fri, Jan 30, 2015 11:03 am
    Subject: Fwd: ACR 9000
    -- Can you please advise Company name and location so I can forward to appropriate contact?
    ---------- Forwarded message ----------
    From: 'Bowlerdusty' via [email protected] <[email protected]>
    Date: Fri, Jan 30, 2015 at 10:32 AM
    Subject: ACR 9000
    To: [email protected]
    I was told to contact you guys for help with this. Can you be of some assistance?
    -----Original Message-----
    From: jhoagland <[email protected]>
    To: Bowlerdusty <[email protected]>
    Sent: Thu, Jan 29, 2015 3:44 pm
    Subject: Re: ACR9000
    There are free training videos on our website:
    http://www.parkermotion.com/products/Controllers__​6934__30_32_80_567_29.html
    This unit was purchased through Cross Automation.
    They are your local Parker ATC distributor and can give you assistance though the unit is out of warranty.
    Their phone number is: 704-523-2222
    Let me know if there’s any questions. Have a nice day.
    Regards,
    Jonathan
    -----Original Message-----
    From: Bowlerdusty < [email protected]>
    To: emn_applications < [email protected]>
    Sent: Thu, Jan 29, 2015 2:57 pm
    Subject: Fwd: ACR9000
    Here is a pic of the serial number and model number.
    -----Original Message-----
    From: emn_applications < [email protected]>
    To: Bowlerdusty < [email protected]>
    Sent: Thu, Jan 29, 2015 11:36 am
    Subject: Re: ACR9000
    On the other side of the ACR9000 is a label with the model number, SO and
    serial number. Please provide.
    Regards,
    Jonathan
    Application Engineering Team
    [email protected]
    phone 800-358-9070 · international 1-707-584-7558
    www.parkermotion.com
    Parker Hannifin Corporation · Electromechanical Automation, NA
    5500 Business Park Drive · Rohnert Park · CA · 94928
    Bowlerdusty <[email protected]>
    To
    [email protected]
    01/29/2015 09:19 AM
    cc
    Subject
    Re: ACR9000
    I honeslty don't know this information. This stuff was bought at least a
    few years ago. A student who is now gone had put it together a while back.
    There were a lot of binders with it for instructions but none of it was
    very clear to me. I'm sending pictures with the parts I have
    (controller,drive,motor,etc.).
    -----Original Message-----
    From: emn_applications <[email protected]>
    To: Dustin Brown <[email protected]>
    Sent: Wed, Jan 28, 2015 10:17 am
    Subject: Re: ACR9000
    OK. So now you'd program it using the Configuration Wizard in ACR-View and
    the program editor.
    Which Parker ATC distributor did you purchase this through?
    Regards,
    Jonathan
    Application Engineering Team
    [email protected]
    phone 800-358-9070 · international 1-707-584-7558
    www.parkermotion.com
    Parker Hannifin Corporation · Electromechanical Automation, NA
    5500 Business Park Drive · Rohnert Park · CA · 94928
    Dustin Brown <[email protected]>
    To
    [email protected]"
    01/28/2015 07:58 AM <
    [email protected]>
    cc
    Subject
    Re: ACR9000
    Hi thanks for the reply. We got it connected via Ethernet now. We had to
    change the IP address of "local area connection" on the computer to
    192.168.10.1 for it to see the controller. So now that it is connecting to
    the controller, it keeps saying that the drives are all disabled. I have
    one drive connected to the controller in the Axis 0 port.
    Sent from my iPhone
    On Jan 27, 2015, at 3:56 PM, [email protected] wrote:
    > Did you change your PC's IP address?
    >
    > VIDEO: How to set your PC's Ethernet IP address
    >
    http://www.parkermotion.com/dmxreadyv2/faqsmanager​/faqsmanager.asp?category=116&knowledgebase=faqman​...
    >
    >
    > Default is 192.168.10.40
    >
    > Is this a new ACR9000?
    > If you don't know the IP address and the default doesn't work, you'll
    need
    > to connect via USB or serial to get the IP address or reset it.
    >
    > Regards,
    >
    > Jonathan
    >
    > __________________________________________________​______________________
    > Application Engineering Team
    > [email protected]
    > phone 800-358-9070 · international 1-707-584-7558
    > www.parkermotion.com
    > Parker Hannifin Corporation · Electromechanical Automation, NA
    > 5500 Business Park Drive · Rohnert Park · CA · 94928
    >
    >
    >
    >
    >
    >
    >
    > Bowlerdusty <[email protected]>
    To
    >
    [email protected]
    > 01/27/2015 01:48 PM
    cc
    >
    >
    Subject
    > ACR9000
    >
    >
    >
    >
    >
    > I am having a little trouble getting a connection between the ACR view
    > software and the ACR 9000. I am attempting to use an ethernet cable for
    > the connection. Every time I press the "connect" button it says "Failed
    > attempting to connect to controller". Do you have any advice?
    >
    > Thanks,
    > Dustin Brown
    >
    >
    >
    >
    (See attached file: IMG_0864.JPG)(See attached file: IMG_0865.JPG)(See
    attached file: IMG_0866.JPG)(See attached file: IMG_0867.JPG)(See attached
    file: IMG_0868.JPG)(See attached file: IMG_0869.JPG)
    1 Attached Images
    Solved!
    Go to Solution.
    Attachments:
    image.jpg ‏938 KB
    image.jpg ‏1570 KB
    image.jpg ‏767 KB

    Hi thanks for the reply.  Yes I have used the ACR view to specify which inputs to use before.  I used input 0 for the positive limit, input 1 for the negative limit, and input 2 for the home switch.  However, when using ACR view the switch kept displaying that the switch had been tripped when nothing was pressing against it.  I would also try pressing on the mechanical switch to see at least if the value would change but to no avail.
    Attachments:
    image1.JPG ‏1642 KB
    image3 (1).JPG ‏3768 KB
    image2 (1).JPG ‏3247 KB

  • Using Scripts to detect document size in inches?

    Is it possible that a script detects the document size in inches not in pixels?
    Thanks for the help!

    The size an Image will print is a simple calulation the numbet of Pixel Wide Devided by the imageg current DPI resolution. And numbet of Pixel High Devided by the imageg current DPI resolution. You can always change the DPI while maintaining the same number of pizels using Image Size with resample NOT checked to change the image's print size. All the information can be retrived in a script and the script can change the image's print size with or without resampling the image.

  • Using still image in FCP and Motion

    I'm using still images in Motion (and FCP) and exporting them to Quicktime movie files. What's the best size and resolution for the images and are JPGs or TIF best? I'm exporting for 720 X 480, and currently my JPGs are 4 x 6 at 300 dpi with a pixel width and height of 1312 x 2000. I'm adding some behaviors to the images in Motion (motion paths and shrink/grow).
    My FCP project is setup as a DV NTSC 48kHz, 720 x 480, editing timebase=59.94, timecode Rate=same as editing timebase, compressor-DV/DVPRO-NTSC, quality 100%.
    When I export to Quicktime the movies are very low quality--lots of noise and moire pattern etc.
    How do I get the best qualtiy using still images? Is it my FPS setting, image pixel size, compressor setting? Also, do the movies need to be deinterlaced?
    The preview in the FCP browser and canvas looks a little better but I do notice noise (moire patterns) along the sharp edges of the still images.
    I've seen QT movies of these very same images (done by someone else who is no longer around) and they are much better quality.
    Does anyone have an appropriate workflow for this type of project? The final movies are to be shown on a flatscreen monitor from a local computer, so the file sizes can be relatively large (300mb).
    I can post an example of he movie files if that might help.
    Thanks.
    Pedro

    David, your a genius!!! You posted your reply on my birthday, and I missed it until today!
    Fotomagico is devastatingly easy to use and absolutely makes me want to cry at the amount of time I wasted creating photo slideshows in FCP!
    I opened Fotomagico up and created a slideshow, one that I had already created in FCP and had take me FIVE HOURS to create... in TEN MINUTES!!!!!!!!! Aaaaaaaaah.
    I couldn't believe it. I thought there had to be a catch or something. This was too easy the quality can't be there... but it was. It's amazing and I can't thank you enough for all the future hours you have saved for me.
    Al Romero

  • Calculating BPM using either Peak Detection point by point or FFT

    Hi Guys
    Im new to Labview and have absolutely no idea on programming and stuff. Im doing a project on Heart Rate monitor.
    I'm using labview to read the analog input to an Arduino Mini. In my attached VI im using Peak Detection Point by point to calculate the BPM but it doesnt seem to work. I took references from several VIs to arrive at my VI. 
    My instructor told me I could try using FFT to calculate the BPM as well but Im not sure how to carry it out in Labview.
    Hope you guys can help me with this.
    Thanks alot!
    Attachments:
    heart signal.jpg ‏43 KB
    Heart Monitor.vi ‏24 KB

    Ok, we have some problems here.
    1.  The Data Bits property is the number bits for a single character that is being transmitted.  You should not use that.  Since you are using an Arduino, it should be sending the termination character.  So just tell the VISA Read to read maximum number of bytes you expect from a single message or just some large number (like 25).  The VISA Read will stop reading the port when it encounters the termination character.
    2. The String Subset is not doing anything.  Just remove it.
    3.  You should move your  Wait to be outside of the case structure.  As is currently written, if you are not taking readings you will use up all of your CPU.
    4.  You should have labels for all of your controls and indicators.
    5.  Your time calculation is completely wrong.  You want to subtract the time of the previous peak from the current peak.  I recommend you use a Feedback Node to do this.
    Here's a slightly cleaned up version of your code.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Heart Monitor_BD.png ‏42 KB

  • Using the write on effect and motion sketch - how to cross T's and dot i's

    I'm trying to use motion sketch and write on to create a signature (using the position values from Motion Sketch layer to control the position of paint brush on Write On layer).
    What's the best way to cross the letter T or dot an i?
    With motion sketch, as soon as you release the mouse button, things are terminated.
    If I simply restart the motion sketch capture to cross my t, the horizontal line happens at the beginning (time 0), even if I advance the playhead /CTI to the appropriate spot (after rest of word drawn).
    Is the best workaround simply to repeat the process on fresh layers to complete any discontiguous strokes and then manually position those in the timeline?
    Not a big deal if I just want a re-usable signature.  But if I wanted to use this on longer writing samples more routinely, it could get a bit cumbersome.
    Thanks for any suggestions.

    When animating a person's signature, I use masks to define a path, then apply the Write-On effect: one instance of Write-On for each contiguous piece of writing.  This means that at natural pen lift points, there's a new instance of Write-On.
    Animating real signatures takes some doing because it's not an automatic process at all, but it's worth doing in the end.

  • How to generate an interrupt using DI change detection on m-series card

    Hi,
    I want to generate an interrupt on the positive edge of a digital input signal on the IO connector.
    Does anybody know how to configure an m-series card (PXI-6224) for this use through RLP programming?
    Thanks in advance,
    Richard

    Richard vl wrote:
    I want to generate an interrupt on the positive edge of a digital input signal on the IO connector.
    Does anybody know how to configure an m-series card (PXI-6224) for this use through RLP programming?
    RuthC wrote:
    I also want to generate an external interrupt on an M- series pci-6229, and on a pci-6602.
    1. Is there an exampe how to configure the registers?
    2. which external signals can genarate interrupts on those cards?
    Hi Richard, hi Ruth,
    Let me address your questions together: first for 662x (part of M Series) digital change detection and then for 6602 (part of 660x).
    622x (M Series)
    Digital change detection has not been released in the DDK for M Series devices. If you must use an M Series device, please ask your field engineer to contact NI support so we can discuss options. On the other hand, digital change detection has been released in the DDK for X Series devices (63xx) [1].
    If you can use one from that family, then your programming will be much easier -- the RLP manual discusses change detection as well as interrupts (Chapter 1: Interrupts, beginning on PDF page 48), and the example distribution demonstrates how to configure change detection on the device (dioex3). The last piece is data transfer: the example's data transfer mechanism is DMA, so you would need to supply your own interrupt handler to move data to the host (or alert the host that a DMA transfer has completed).
    6602 (660x family)
    Moving to the 6602, change detection is not possible. The 660x device family only supports polling for transfering data read on the digital lines [2].
    Please let me know if I overlooked anything in your questions.
    [1] NI Measurement Hardware Driver Development Kit
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/11737
    [2] NI 660x Specifications
    http://digital.ni.com/manuals.nsf/websearch/57893F11B0C0687F862579330064FF6F
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)

Maybe you are looking for