Controlling Mouse cursor with Labview

Dear Experts,
I have a project trying to use Muscle signal to move a mouse cursor on computer screen. Basically, if the signal is positive, it moves to the right, and if it is negative it moves the cursor to the left.
I've seen a friend did it before way back, but don't remember how. I've been spending a lot of time trying stuffs, but none works.
It will be nice if someone can post a simple example or give me tips on how to do it
Thanks!

Similar but different: Waterloo Labs Eye Mario.
The basic idea being acquiring data and when it exceeds a limit, an event fires registering an action. In this case it was a button click but for your application, modify it to change the cursor coordinates (increment or decrement the x or y position).
Logan H
National Instruments
Applications Engineer

Similar Messages

  • I can not control my cursor with the trackpad.  It moves randomly. It began after an Angry Birds update.  Anyone else have this problem?

    I have a late 2011 OS X Lion 10.7.4 that is only 6 months old.  For the first 4 months I had no problems, but then about 6 weeks ago I downloaded an Angry Birds update from the Apple App Store, and my problems began.  When playing Angry Birds the the new Angry Birds update for the first time the cursor began to jump around, moving on it's own as if someone else was controlling it.  After a few moments I became obvious I could not control the cursor with the trackpad. When I placed the tip of my finger gently in the center of the trackpad to try to hold the cursor still it becan switching from the game (desktop) to launchpad and mission control.  I then put the computer down so I was not even touching it, walked several feet away and the cursor still moved on it's own.
    I've done a lot of research over the last few weeks on related articles and realized this is a common problem with numerous different causes: PRAM settings,
    screen sharing, remote settings, having fingers accidently touch edges of trackpad, writst resting too close to trackpad, swollen battery, etc. and I don't think it's due to any of those issues.
    The problem came out of nowhere.  My computer stays at home, and is not used by anyone else.  At first it was just Angry Birds, but now it can happen at any time.  Sometimes hours or days go by when this does not happen, sometimes it happens so much I can't use the computer at all.  It can get so bad that I won't be able to click out of whatever I'm doing on my desktop, and I'll have to shut it down by holding the power button. 
    Has anyone else had this issue after updating Angry Birds?

    try a new/fresh apple brand cable and make sure it is the only usb cable in use. this worked for me, i noticed i had no problem with a lighting cable. i did a restore from scratch and from backup and it did not help me...and if you cant sync than you wont be able to get anything but apps back after the restore

  • Control VIEW cursor with SUD Dialog

    Hello,
    I've developed a little SUD dialog and sticked into the bottom of VIEW. I the TopArea I've "CurveChart2D".
    With the dialog I want to change the cursor type and mode (see code below)
    If I try to change the cursor from this script (the script is inside the embedded VIEW dialog I get the message of DIAdem "error"
    If I try now to change the cursor with the VIEW buttons I get the message "Schwerwiegender Fehler".
    In fact this little script crash DIAdem. I've to restart.
    If I use the Dialog standalone (not as a part of VIEW), everything works fine.
    I believe the problem is, that you can't change something from an ActiveArea (Dialog in Area : 2) inside an InactiveArea (2D Graph in Area :1)
    But this works (graph change something inside the dialog)
    Sub ViewConnector_EventCursorPosChanged(ByRef This) 'Erzeugter Event-Handler
    'todo change the label and value controls for the different cursor and trim methods
     edtXPosVal.Text = View.ActiveSheet.Cursor.X1
     edtYPosVal.Text = View.ActiveSheet.Cursor.Y1
     edtChnPos.Text =  View.ActiveSheet.Cursor.P1
    End Sub
    So the point is,
    1. how is it possible to control VIEW with an embedded SUD dialog?
    2. The script engine shouldn't crash DIAdem. It should just abort or shouldn't be executable.
    Sub Button1_EventClick(ByRef This) 'Erzeugter Event-Handler
    iTrimMethod = rdbtnTrimMethods.Value
    Dim oSheets
    Dim oChart
    oSheets = View.Sheets
    sSheetName = View.ActiveSheet.Name
            Select Case iTrimMethod
                  Case 0
                   MsgBox View.ActiveSheet.Name & " Index= " & View.ActiveSheet.Index
                     Set oChart = View.Sheets(View.ActiveSheet.Name).Areas("Area : 1").DisplayObj
                      View.Sheets(View.ActiveSheet.Name).Cursor.Type = "Crosshair"
                      View.Sheets(View.ActiveSheet.Name).Cursor.Mode = "GraphPoints"
                      View.Refresh
                  Case 1
                  MsgBox View.ActiveSheet.Name & " Index= " & View.ActiveSheet.Index
                      View.ActiveSheet.Areas(1).Active = True
                      View.Sheets(View.ActiveSheet.Name).Cursor.Type = "Band"
                      View.Sheets(View.ActiveSheet.Name).Cursor.Mode = "GraphPoints"
                      View.Refresh
                  Case 2
                  MsgBox View.ActiveSheet.Name & " Index= " & View.ActiveSheet.Index
                      View.ActiveSheet.Areas(1).Active = True
                      View.Sheets(View.ActiveSheet.Name).Cursor.Type = "Crosshair"
                      View.Sheets(View.ActiveSheet.Name).Cursor.Mode = "GraphPoints"
                      View.Refresh
            End Select
    End Sub
    Best regards
    Thomas Plöger
    BASF Catalysts Germany GmbH

    Hallo Mr. Plöger,
    I've double-checked the described behavior. In general, the script code you've developed is OK. But there was a bug in DIAdem that causes the problem. It will be fixed with the DIAdem 2010 service pack that we can provide soon.
    Greetings
    WalterRick

  • Controlling Hamamatsu Camera with LabVIEW

    I am using a Hamamatsu 1394 ORCA-ERA Camera in order to save microscope images on a PC. Im my lab, we are attempting to automate the process of saving an image from this microscope, and coordinate the time of the image capture with a function performed with LabVIEW. 
    As the 1394 name implies, this camera is connected to our PC using a firewire port. Is it possible to control the function of this camera with LabVIEW through a firewire port? What additional LabVIEW libraries would I need in order to perform this task, if any? Finally, is it possible to use LabVIEW to control a program called micro-manager that we currently use to save images? I know the Hamamatsu API supports both programs, but I am not sure if cross-communication between them is supported. 
    Thank you for reading, any response is greatly appreciated. 

    You say the API supports LabVIEW.  Does it have any example code for you to start with?  Typically driver sets include examples to make it easier to work with their API.
    If it works with that API, I'd see if you can get that to work with taking the images without using the second program.  You can typically use something like system exec on a Windows machine to run programs.  I'm not sure of anything that works similarly for a Mac.  Does micro-manager have an API you can use to make calls to it?

  • How can I control PIC programmer with LabVIEW

    I need to control a PIC Programmer (MPLAB PM3) with LabVIEW. How to do this?

    Hi Paul.
    I am working on a project that is using LabVIEW to communicate via serial communication with 4 programmers (Com 1, 2, 3, & 4). I am currently using the Microchip PM3 programmer DOS utility PM3CMD.exe to send/receive commands from the system exec.vi in LabVIEW. I am attempting to program simultaneously with 4 programmers, but the PM3 programmers are returning a database error if I try and communicate with more-than 2 programmers at a time. I noticed that you have some experience with some drivers from Microchip and using serial commands.
    Do you have any suggestions that may help me.
    Thanks.

  • Changing Mouse Cursor with a Thread

    Hi all
    I am trying to change mouse cursor inside a thread for a graphical program so that the GUI does not freeze while new image is calculated and shown on the main frame. I have the below code. It works altough not the way it should. Forexample, when I press accelarator keys to show an image (ctrl+D) I see strange characeters on the frame and they disappear when the image is shown. Also I use scroll pane to show the images but when I use this thread it does not display scroll bars when the image does not fit into the viewing area (a panel). If I don't use this thread scroll bars apeear as they should. I could not find what is causing these strange behaviours. Also after image calculaed and shown on the screen, the thread should be terminated, right? But how? I could not find exact info on this. Any ideas on these? Thanks.
    pp = new PixelPanel();
    jsp.setViewportView(pp);
    pp.addMouseMotionListener(this);
    setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    thread1 = null;
    thread1 = new Thread("thread1")
    public synchronized void run()
    try
    pp.showGrayImage();
    finally
    setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    thread1.start();

    I am trying to change mouse cursor inside a thread
    for a graphical program so that the GUI does not
    freeze while new image is calculated and shown on the
    main frame.What does the mouse cursor have to do with your lack of multithreading and you doing all the work in the AWT thread?
    I have the below code. It works altough
    not the way it should. Forexample, when I press
    accelarator keys to show an image (ctrl+D) I see
    strange characeters on the frame and they disappear
    when the image is shown.Probably because it can't repaint because you're hogging it with painting work.
    Also I use scroll pane to
    show the images but when I use this thread it does
    not display scroll bars when the image does not fit
    into the viewing area (a panel). If I don't use this
    thread scroll bars apeear as they should. I could not
    find what is causing these strange behaviours.Probably because it can't repaint because you're hogging it with painting work.
    Also
    after image calculaed and shown on the screen, the
    thread should be terminated, right? But how? I could
    not find exact info on this. Any ideas on these?A thread executes its run method and just stops when it's done.

  • Change Mouse Cursor with JTabbedPane

    Case:
    I have a JTabbedPane with many tabs
    Need:
    i want to change the mouse cursor when i want to select one of my tabs
    Problem:
    I want to know how i add this mouse event on the tab only not to whole tabbedpane
    Thanks,

    I don't think that you need events at all. If you have a JPanel that is your tab, the just do.......
    panel.setCursor(new Cursor(Cursor.HAND_CURSOR));
    Then whenever the mouse is over that panel, you will have the cursor that was defined. You can set the cursor on an Component.

  • Controlling PCI-1422 with Labview instead of MAX

    Hello Experts,
    I want your help in one of my problem. I have a camera from Sensors Unlimited which is SU-640 1.7 RT-D and a NI parallel card PCI-1422. I can use and acquire data with MAX from the camera but I want to operate,use and acquire images from the camera using LabView. Is there any way of exporting or using the camera with Labview instead of writing a fresh code in LabView? 
    Does LabView offer any support or reads automatically from PCI-1422 or any possible solution that I get the block diagram code for using this camera in LabView.
    Please let me know, reply.
    Any help or suggestions will be highly appreciated.
    Thanks in advance!
     

    Nitai wrote:
    Thanks but again it requires writing and struggling with coding and experience on  LabView skills.
    Just wondering something easy. I tried one of the example and it worked actually but I am trying to get more ideas or options to make it look better and impressive.
    You want something and easy and doesn't require any effort on your end?    Hire someone who knows how to program in LabVIEW.

  • Controlling an SLM with labview

    I'm trying to control a spatial light modulator (Hamamatsu Photonics, X10468 SLM) using LabVIEW. The connections and LabVIEW program are as shown. When I move the image window
    generated by IMAQ WindMove, the display on SLM changes. Why is it so ?
    Attachments:
    Connection.png ‏4 KB
    SLMDisplay.png ‏21 KB

    Hi Alice12,
    Your USB to DVI converter creates a second (or third) monitor.  These days, most spatial light modulators work as an additional monitor.  Whatever the computer displays on that second monitor (program windows, the desktop, your mouse pointer) will be "displayed" on the SLM.  To display an image on the SLM, you need to create a window to display the image and then put that window on the second monitor.  That's what the WindDraw and WindMove VIs do -- they create a window to display your image and position the window on the second monitor.  Of course, if you move that window, the SLM display will change.  The SLM is displaying whatever your computer puts on the second monitor.
    While developing and testing your program, it is very helpful if you can temporarily replace the SLM with an actual second monitor.  If at all possible, get a monitor with a DVI input, connect it to your USB to DVI converter, and set it to a resolution that is as close as possible to your SLM (looks like 792x300 according to your program).  Then it will be easy to see what will actually be displayed on the SLM.  Once your program is 100% working and you want to run your experiment, unplug the extra monitor and plug the SLM in.
    A couple of other tips: You can replace those For loops with a single Initialize Array function (on the Programming > Array palette) -- resize it vertically to be the right number of array dimensions, then create a numeric constant with the value you want each element of the array, and right-click on the numeric constant and select Representation > U8.  Also, the IMAQ manual says you should call IMAQ WindClose when your program is done (I have little experience with IMAQ).
    Does this help?  Some of the specifics of getting the second monitor working properly depend on your operating system, so if you still need assistance it would be helpful to know what OS you're using and which version it is.

  • How to use ExpressionEdit Control in teststand with labview

    Hi
    I am trying to get the ExpressionEdit Control to work in a labview custom step in teststand, but i have no idea how it works and cant find a solution.
    What I need is a simple example.

    Hi,
      that would really depend on how you want to use it. Do you just want the text from it? In which case there's a property of Text you can get from the control. Architect your code so that when you hit your OK button etc, it grabs the "text" information from the control.
    All of the properties and methods are documents (right click the control's fpterm on the block diagram, create >> property (so it created a property node for the activeX control, not a property for the LV control it's buried in) and select things like Text, or an invoke node, and things like DisplayBrowseExprDialog.
    You can then right click those, and go to "help for ...." for that property or method.
    Unless we know what you propose to use it for, then we can't really help with sample code, since it might not be applicable to your setup. (i.e. text out versus evaluation of the expression, versus displaying the browse expression dialog etc).
    You'll probably need to write to the context property to get the correct sequence context to browse with (pass in the "thiscontext" to your vi, and write to the context property of the dialog box.)
    Hope that helps
    Thanks
    Sacha.
    // it takes almost no time to rate an answer

  • Controlling Mouse Cursor in Windows

    In J2SE, i found java.awt.Robot that enable in handling mouse event and action. Now i want to handle the cursor using Java handheld. But i stuck here, that i cant found the class in J2ME. Are there anyway do this thing?
    Please help..:(

    Hi,
    You can use bluetooth connection to send command to pc where ur J2SE program will listen to the command and control the mouse accordingly.
    For example if u want to move ur cursor 50 pixels left, you can send command from ur mobile L50 which ur java program will receive and use java.awt.Robot to move the cursor.

  • Controlling Newport SMC100 with Labview

    Dear all,
    I need to control a single axis Newport motor via Newport SMC100, i installed the SMC100 labview drivers.
    Do anyone have examples? OR anyone can show me the way about how can i implement my system very fast?
    Please have a look at the brief description of my system:
    I am also measuring load with "load cell,amplifier and DAQ (NI USB-6343, X series)" so what i want is to trigger SMC100  after a certain value of load cell is reached.
    Do anyone has any idea how to work this out? is this so hard application for a beginner?
    This is my master thesis's test setup so i am really looking for help.
    Best regards from Turkey!

    Hi Kindly-Wisher,
    It looks like you have already created a Discussion Forum for this topic (How to interact Motor Controller with Load cell via LabVIEW).  Please try and keep a topic to just one thread.  You can reply back to that thread if you still have questions.
    Thanks,

  • Controling ihr320 monochrometer with labVIEW.

      I have some demo vi's for initializing and moving a monochrometer, but they have errors associated with them.  Are there any existing vi's for controlling an iHR320 monochrometer?
    Thanks
    Solved!
    Go to Solution.

    Hi Gregory,
    If you're using a third party device, your best bet for finding drivers for them is either the company's website or on www.ni.com/idnet. Take a look there.
    Jeff | LabVIEW Software Engineer

  • NVIDIA control (Shadowplay mostly) with LabVIEW via ActiveX - Does anyone have documentation?

    Hi Everyone,
    I'm looking to capture my monitor video at around 30fps. ShadowPlay works well with my graphics card, and I've found that there is an ActiveX Library on the PC. The attached screenshot shows an example code for 5 seconds of capture. 
    Shadowplay only captures one monitor but I want it to capture both, or make two videos (one for each monitor) preferably. Although a possible work around would be recording one at a time but being able to programatically change between the two. The Shadowplay library is: ShadowPlayServerLib and the NVIDIA Library is: NVI2Lib (I presume this is NVIDIA but could be wrong)
    I can't find any documentation on the activeX commands so I'm struggling to know what inputs and outputs of the property nodes should be. Does anyone have any? A search of the internet brings up my own forum post on NVIDIAs website: 
    https://forums.geforce.com/default/topic/805560/geforce-experience/shadowplay-activex-documentation-...
    Any help on the NVIDIA/ShadowPlay side of things would be great, alternatively any ideas for capturing video at 30fps (I tried to use .NET to capture the screen shots to png files but it only managed 2.5fps without saving them)
    Many thanks
    Attachments:
    NVI class.png ‏27 KB
    shadowplayActiveX.png ‏32 KB
    ShadowPlayCapture.vi ‏12 KB

    Hi Woody247,
    Here is brief overview to help using LabVIEW with ActiveX:
    http://www.ni.com/white-paper/2983/en/
    Here is an interesting example that could be useful to your application's functionality 
    https://decibel.ni.com/content/docs/DOC-41144
    Regards,
    Mark 
    Applications Engineer Intern
    National Instruments UK and Ireland

  • Controlling VI Logger 1.1.1 with LabVIEW 7.1

    I have LabVIEW 7.1 on my system and installed VI Logger (1.1 them upgraded to 1.1.1). I would like to programatically control VI Logger with LabVIEW. There are references to VIs under the Advanced pallate to do just that, but I cannot find them or any help files to explain what to do. Where do I find these VIs?

    Hello,
    Thank you for contacting National Instruments.
    After you install VI Logger, the VI Logger Subpalette should appear on the functions palette. See the attached screenshot.
    If they do not appear there, try to reinstall VI Logger.
    Let me know if you have further questions.
    Sincerely,
    Sean C.
    Applications Engineer
    National Instruments
    Attachments:
    VILoggerVIs.bmp ‏2305 KB

Maybe you are looking for

  • TS4071 itunes will not install on my computer,  error says msvcr80.dll is missing.  i cannot get to the app store

    trying to get to itunes via my pc as i have before in order to download an app... i recently bought my wive a newly refurbished HP minidesktop and took her old computer... I installed my 2 1TB drives and was off and running.  I renamed her computer.

  • SWF file not being generated

    I moved an old project (from Intellij, without Flex artifacts) into a new location and recreated a new Flex project with Flex 4.0 integrated product over the old file structure. However, I am now unable to generate the application's swf file or the s

  • Transferring iPhone apps to a different iTunes library

    Hello! I accidentally purchased two apps from within an iTunes Library that isn't the one I use to sync my iPhone 3G. I moved the .ipa files from the Mobile Applications folder of the incorrect Library to that folder in the proper iTunes Library, but

  • My sons iPhone 4 S is frozen after an ISO update

    Can somebody please tell me how to n freeze an iPhone 4S that frozen on the iTunes logo with a USB cord? I have tried to connect the iPhone to its iTunes account and it tells me it does not recognize the iPhone. Please help!!!

  • "emctl jmxcli" doesn't work

    Hi, I want to use the command : "emctl jmxcli" It seems that it does not recognize the 'jmxcli' option: just get the syntax of emctl I think that I have all the necessary components( EDK,oem 12c v2 ,etc) when I type emctl getversion I get: oracle ent