author

lingib

501
Inbox View Profile
45Instructables769,973Views439CommentsNew Zealand
55+ years in electronics, computers, and teaching ... now retired.

Tell us about yourself!

Achievements

100+ Comments Earned a bronze medal
10K+ Views Earned a bronze medal
Audio Challenge 2020
Contest Winner Second Prize in the Audio Challenge 2020
Magnets Challenge
Contest Winner Second Prize in the Magnets Challenge
Epilog X Contest
Contest Winner First Prize in the Epilog X Contest
  • lingib commented on lingib's instructable Mind Control 3: EEG Monitor
    Mind Control 3:  EEG Monitor

    Thank you for your interest in my project :)Something that I have since discovered is that you can get some interesting results by combining different frequency "bins" and displaying the result as shown in the attached image. The combined trace shown in bin[1] dips when you wink the left eye and rises when you wink the right eye which eliminates the hardware in my instructable https://www.instructables.com/id/Wink-Detector/

    View Instructable »
  • Arduino Frequency Synthesiser Using 160MHz Si5351

    Thank you for your interest in my project :)Changing the display may have altered the Arduino timing slightly which will affect the software debounce algorithm.Try the code in my instructable https://www.instructables.com/id/Simple-Rotary-De... decoder uses a simpler algorithm that is extremely robust.

    View Instructable »
  • lingib commented on lingib's instructable Mind Control 3: EEG Monitor
    Mind Control 3:  EEG Monitor

    Thank you for your interest in my project ... I too am thinking along these lines :)Each of the Arduino programs outputs 32 traces. The on-board display is only capable of displaying four bins at any one time ... just select the bins for each frequency band of interest as outlined in code lines 149..161. The Processing software allows you to view all 32 bins at once as shown in Photo1 step 6.You will need to experiment where to position the probes on your head. When placed across the forehead the probes are mainly responding to eye-muscle activity.

    View Instructable »
  • lingib commented on lingib's instructable Binary Tree Morse Decoder
    Binary Tree Morse Decoder

    Thank you for you interest in my project :)https://en.wikipedia.org/wiki/Morse_code

    View Instructable »
  • lingib commented on lingib's instructable Voice Controlled Robot Hand
    Voice Controlled Robot Hand

    Thank you for your interest in my project :)The cell-phone code, "VTT.apk", is available for down load in "Step 6: Software ... Android". This code was created using MIT Appinventor 2 ... see text for details.The Arduino code, "VTT_voice_to_text_7.ino", is available for download in "Step 7: Software".

    View Instructable »
  • lingib's instructable Mind Control 2: Spectrum Analyser's weekly stats:
    • Mind Control 2:  Spectrum Analyser
      143 views
      2 favorites
      0 comments
  • lingib commented on lingib's instructable CNC Drawing Arm
    CNC Drawing Arm

    Sorry ... only what you see. Somewhere in the comments section below I explain how the accuracy varies slightly with distance. I have made several plotters. The most accurate and reproducable plotter is https://www.instructables.com/id/CoreXY-CNC-Plotter/ used in conjunction with my instructable https://www.instructables.com/id/How-to-Control-a-Servo-Using-GRBL/

    View Instructable »
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    Unable to offer a solution. The compass didn't work correctly with the original library code but did after I made the changes outlined in Step 3 of https://www.instructables.com/id/Quaternion-Compass/. Comments in the original code indicate that the response is slow. Having said that user feedback indicates the response is satisfactory for sail-boating and satellite tracking where the movement is relatively slow. The original Kp was 2*5 (or 10) but took a long time to settle ... increasing it to 40 added some damping. The compass rose video uses this value.

    View Instructable »
  • lingib's instructable Mind Control: Overview's weekly stats:
    • Mind Control:  Overview
      89 views
      0 favorites
      0 comments
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    Fantastic ... love your box :)And thanks for the feedback ... it's nice to know that my code works on another platform :)

    View Instructable »
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    The code changes that I made are explained in detail in Step 3 of my instructable https://www.instructables.com/id/Quaternion-Compa... which says:" The problem disappeared when I modified the Sparkfun MahonyQuaternionUpdate() function to read:MahonyQuaternionUpdate( myIMU.ax, -myIMU.ay, myIMU.az, myIMU.gx * DEG_TO_RAD, -myIMU.gy * DEG_TO_RAD, myIMU.gz * DEG_TO_RAD, myIMU.my, -myIMU.mx, -myIMU.mz, myIMU.deltat); "As for your headings, there are a number of things that could be causing the errors: - calibration - sensor orientation - proximity of your sensor to something - magnetic radiation from say a TV.

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    Step 8 photo 3 shows the correct orientation.In practice it doesn't matter ... if you get it wrong it won't affect the calibration.All that will happen is the colored circles won't match your labels colors.

    View Instructable »
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    Thank you for your interest in this project :)The symptoms that you are experiencing are likely to arise if your sensor is not properly calibrated. Calibrating a sensor is not an easy task . If you think of your sensor as a tennis-ball then each surface-point on the tennis ball must be pointed towards a fixed distant object for perfect calibration ... miss a few points and calibration will be out. The action of rotating your compass in all directions means that each of the compass XYZ axes will at some stage be aligned with the Earth's magnetic field at your particular location.Since writing this article I have written another compass https://www.instructables.com/id/Quaternion-Compa... that has better long-term stability. The good news is that the code is 100% compatible with you existi…

    see more »

    Thank you for your interest in this project :)The symptoms that you are experiencing are likely to arise if your sensor is not properly calibrated. Calibrating a sensor is not an easy task . If you think of your sensor as a tennis-ball then each surface-point on the tennis ball must be pointed towards a fixed distant object for perfect calibration ... miss a few points and calibration will be out. The action of rotating your compass in all directions means that each of the compass XYZ axes will at some stage be aligned with the Earth's magnetic field at your particular location.Since writing this article I have written another compass https://www.instructables.com/id/Quaternion-Compa... that has better long-term stability. The good news is that the code is 100% compatible with you existing hardware ... no hardware changes are required.The calibration routines described in https://www.instructables.com/id/Quaternion-Compa... may be used to calibrate your Tilt Stabilised Compass should you wishHopefully this will solve your problem.

    The response time can be improved by changing the the K parameter ... but at the expense of overshoot.

    View Instructable »
  • lingib's entry Binary Tree Morse Decoder is a winner in the Audio Challenge 2020 contest
  • lingib commented on lingib's instructable Omni Wheel CNC Plotter V2
    Omni Wheel CNC Plotter V2

    Go to https://www.aliexpress.com/Enter the following into their search bar:17HS2408 - Stepper MotorThis will bring up a number of matching items such as;https://www.aliexpress.com/item/1324984150.html?sp...Now enter the following into their search bar:Big Easy Driver Board V1.2 A4988You will be swamped for choices such as:https://www.aliexpress.com/item/4001065717797.html...Regarding your optional motor ... probably but compare the specifications for both. The key points are 4-leads, 1.8 degrees per step, 30 ohm coil resistance, and 400 mA.Regarding your suggested controller .... NOStick with the Big Easy Driver ... the breakout board for your suggested controller is not compatible.

    View Instructable »
  • lingib commented on lingib's instructable Binary Tree Morse Decoder
    Binary Tree Morse Decoder

    I think we have been talking at cross-purposes. It appears that Son of Zero Beat is an aid for putting your transmitter onto the received frequency. My comment about zero-beat was to center the audio in the filter pasband. I have an old iCOM-725. To put the TX onto the RX freuency I just turn the RIT off and go for no tone (which is within 10Hz). I then switch the RIT on to get my desired audio frequency.The MorseCodeDecoder doesn't require any setting up for practice morse but it does require an RIT on you communication receiver when listening to morse.Thanks again for your suggestion ... will give iot some thought :)

    View Instructable »
  • lingib commented on lingib's instructable Binary Tree Morse Decoder
    Binary Tree Morse Decoder

    Thank you for your comment and suggestion :)In practice a tuning indicator is not required as the LED reaches peak brightness when the signal is centered in the filter. Normally this is enough but an exact tune is possible by pressing the morse key and going for a zero-beat ... this works as the the morse tone() is set to the filter center.

    Unable to view the link (?????) but I actually like your suggestion.It would be dead easy to implement if I was using FFT ... just attach different colored LEDs to the frequency bins either side of center.Bit more of a challenge with a Goertzel filter as it only has one bin. The change in brightness I referred to is due to the noise blanker starting to detect the signal as you tune up the filter slope ... the LED flashes to full brilliance when text appears.One of the reasons for using the Goertzel filter was to get more samples within each dot period ... FFT is much slower and would limit the maximum decode speed. I just went for simplicity.

    View Instructable »
  • lingib commented on lingib's instructable Omni Wheel CNC Plotter V2
    Omni Wheel CNC Plotter V2

    Good luck with your project ... look forward to hearing how you get on :)

    View Instructable »
  • lingib's entry Binary Tree Morse Decoder is a finalist in the Audio Challenge 2020 contest
  • lingib commented on lingib's instructable Binary Tree Morse Decoder
    Binary Tree Morse Decoder

    I just searched https://www.aliexpress.com/ for the cheapest items and (if possible) free delivery.

    Glad to have been able to help :)

    View Instructable »
  • lingib commented on lingib's instructable Binary Tree Morse Decoder
    Binary Tree Morse Decoder

    They will enjoy it :)

    Extremely well :)The software automatically adjusts to your hand speed once it has received both a dot and a dash ... until it has figured out the length of your hand-sent dots and hand-sent dashes it uses 200mS as the reference 2-unit period for decoding which allows it to decode words such as "his" (.... .. ...) which contain nothing but dots.I send the letter K (_ . _) when I first switch on. This instantly sets the 2-unit reference to your hand speed.

    Thanks for your comment ... it brings back memories :)I used to work at Makara Receiving station until 1974 ... Makara was the ears for ZLW which handled the maritime traffic

    You're welcome ... thanks for your comment :)

    View Instructable »
  • lingib commented on lingib's instructable Omni Wheel CNC Plotter V2
    Omni Wheel CNC Plotter V2

    My software is not compatible with the the bluetooth robot to which you refer as it uses DC motors whereas my project uses stepping motors :(Down load the following PDF which uses DC motors ... it may give you a few clues on how to adapt my codehttp://modwg.co.uk/wp-content/uploads/2015/06/OmniRoller-Holonomic-Drive-Tutorial.pdf

    View Instructable »
  • lingib commented on lingib's instructable CNC Robot Plotter
    CNC Robot Plotter

    You may be able to use the L293D's that you have if you are able to wire them up to match the ULN2003 functionality.No code changes would then be needed

    View Instructable »
  • lingib commented on lingib's instructable CNC Robot Plotter
    CNC Robot Plotter

    Sorry ... I don't know :(More to the point ... why would you want to ... the 28BYJ-48 motors normally come with a ULN2003 driver ?As for any code changes ... you will have to work those out for your self.

    View Instructable »
  • lingib's instructable Binary Tree Morse Decoder's weekly stats:
    • Binary Tree Morse Decoder
      505 views
      10 favorites
      0 comments
  • lingib commented on lingib's instructable CNC Robot Plotter
    CNC Robot Plotter

    Thank you for your interest in this project :)The motor code would have to be completely rewritten as the UL2003 motor controllers require a different 4-bit pattern for each step whereas the A4988 controllers only require two inputs ... step & direction. Have a look at my three-wheeled plotter https://www.instructables.com/id/Omni-Wheel-CNC-Plotter-V2/ for some code ideas. This plotter uses NEMA17 motors and BigEasyDriver (A4988) controllers. Its also more accurate.

    View Instructable »
  • lingib commented on lingib's instructable Make Your Own Camera
    Make Your Own Camera

    Well done ... thanks for letting me know :)

    View Instructable »
  • lingib commented on lingib's instructable Make Your Own Camera
    Make Your Own Camera

    Thank you for your interest in my project :)I have since dismantled this project so am unable to replicate your conditions but the following guidelines should help pinpoint the problem:Step 1:------- - Check your wiringStep 2:-------Then confirm that your Processing software is working. To do this change your arduino code to match the high-lighted text in in each of the attached Serial_write_0x00.jpg , Serial_write_0x80.jpg, and Serial_write_0xD0.jpg screen-shots: - 0x00 produces a black screen as shown in Serial_write_0x00.jpg. - 0x80 produces a mid-gray screen as shown in Serial_write_0x80.jpg. - 0xD0 produces a light-gray screen as shown in Serial_write_0xD0.jpg - 0xFF will produce a completely white screen.Step 3:-------Now view the actual data being sent on your Arduino "Serial …

    see more »

    Thank you for your interest in my project :)I have since dismantled this project so am unable to replicate your conditions but the following guidelines should help pinpoint the problem:Step 1:------- - Check your wiringStep 2:-------Then confirm that your Processing software is working. To do this change your arduino code to match the high-lighted text in in each of the attached Serial_write_0x00.jpg , Serial_write_0x80.jpg, and Serial_write_0xD0.jpg screen-shots: - 0x00 produces a black screen as shown in Serial_write_0x00.jpg. - 0x80 produces a mid-gray screen as shown in Serial_write_0x80.jpg. - 0xD0 produces a light-gray screen as shown in Serial_write_0xD0.jpg - 0xFF will produce a completely white screen.Step 3:-------Now view the actual data being sent on your Arduino "Serial monitor" ... it appears that you are sending a string of zeros (which equates to black). This will happen if: - your lens-cap is still on or - your gain setting is too low for your camera module.Step 4--------The gain setting can be checked by writing a '1' into each of the bit positions shown in shown in Gain_high.jpg (attached).With a '1' written into every bit position your Processing screen should go white (your Serial Monitor will also show a string of 'F's which equates to white)With a '0' written into every bit position you should get an image as shown in Gain_zero.jpg (attached).I found that with a gain setting of 4 (binary 00000000 00000001 00) the image started to over-expose as shown in Gain_four.jpg (attached).Other possibilities:--------------------My observation is that the pictures tended to over-expose when the light was bright ... but your screen is black which points to: - Possible instability due to wiring layout - Faulty OV7670 module

    View Instructable »
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    The MPU orientation is stated at the top of the main loop(): /* -------------------- MPU-9250 Orientation -------------------- Component side up X-axis facing forward */The "X" refers to the silk-screen symbol on the breakout boardRegarding your cw and ccw question ...I can find the Heading = atan2(Y, X) * RAD_TO_DEG; but I can't find the text that you quote.Message me with a "cut and paste" of the two code snippets and/or the line numbers and I will try and answer your question.

    View Instructable »
  • lingib commented on lingib's instructable CNC Pen Lift
    CNC Pen Lift

    Consider making several plates ... one for each color / pen-width. Once the pens are adjusted it's just a matter of pausing the program ... the pens can then be swapped out without upsetting the alignment.

    View Instructable »
  • lingib commented on lingib's instructable CNC Pen Lift
    CNC Pen Lift

    Hi Jeremy.Thanks for sharing ... your pen lift seems to be working well ... no sign of wobble :)Can't quite see the drawing ... presume its pencil which is hard to see in a video.CheersLindsay

    View Instructable »
  • lingib commented on lingib's instructable Omni Wheel CNC Plotter
    Omni Wheel CNC Plotter

    Thank you :)You may also be interested in my second version https://www.instructables.com/id/Omni-Wheel-CNC-Plotter-V2/This three-wheel version is easier to make as it doesn't need a split chassis.

    View Instructable »
  • lingib commented on lingib's instructable Voice Controlled Robot Hand
    Voice Controlled Robot Hand

    I haven't seen the video game series Portal ... thanks for the explanation :)

    View Instructable »
  • lingib commented on lingib's instructable Voice Controlled Robot Hand
    Voice Controlled Robot Hand

    Thank you for your interest in my project :)Your comment "so anybody could make a bundh of these wondrous voice-controlled robo-hands for... science, of course." is of concernThe "attribution" for this "voice-controlled robot hand" is "Non-commercial Share Alike (by-nc-sa)" as defined below:"This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms. Others can download and redistribute your work just like the by-nc-nd license, but they can also translate, make remixes, and produce new stories based on your work. All new work based on yours will carry the same license, so any derivatives will also be non-commercial in nature."Transla…

    see more »

    Thank you for your interest in my project :)Your comment "so anybody could make a bundh of these wondrous voice-controlled robo-hands for... science, of course." is of concernThe "attribution" for this "voice-controlled robot hand" is "Non-commercial Share Alike (by-nc-sa)" as defined below:"This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms. Others can download and redistribute your work just like the by-nc-nd license, but they can also translate, make remixes, and produce new stories based on your work. All new work based on yours will carry the same license, so any derivatives will also be non-commercial in nature."Translated, this "Voice Controlled Robot Hand and all derivatives, are free for personal use only.

    Thank you for your comment ... I'm glad you found the instructable helpful :)

    View Instructable »
  • The Morse Translator With Arduino

    It would appear that you are using an LCD library which doesn't match your LCD.Some LCD libraries contain the word POSITIVE.If you have a different LCD display you will need to find a matching library without the word "POSITIVE".

    View Instructable »
  • lingib's instructable Arduino TFT Graphics Shield's weekly stats:
    • Arduino TFT Graphics Shield
      291 views
      3 favorites
      0 comments
  • lingib commented on lingib's instructable CoreXY CNC Plotter
    CoreXY CNC Plotter

    Thank you for your interest in my project :)Alternate controllers may be substituted providing they match the Big Easy Driver specifications. Download and compare the data sheets.The controllers MUST have a: - Direction input - Step input - Current-limit that supports your motor current.The motors in my project only draw 400 mA. Heat-sinks will be required if your motor currents are higher. Again this may be confirmed by looking at the data sheets.As to the wiring ... I do not have your controllers.

    View Instructable »
  • lingib commented on lingib's instructable CoreXY CNC Plotter
    CoreXY CNC Plotter

    Thank you for your interest in my project :)Assuming your setup is similar to mine ...1. "How to make my set up square."This is achieved by adjusting the belt/tensions and is explained in Step 13.2. "I am stuck with the motor mounts. Already tried a printed Z type mount but it is too weak.}3D printing is not required ... just mount the motors through the base-board as shown in Step 8.3. "Corner idlers. Using something picked online, but alignment is again the issue."Unable to answer this without seeing what you have done.

    View Instructable »
  • lingib's instructable Voice Controlled Robot Hand's weekly stats:
    • Voice Controlled Robot Hand
      568 views
      4 favorites
      2 comments
  • lingib commented on lingib's instructable Voice Controlled Robot Hand
    Voice Controlled Robot Hand

    Thank you for your comment :)Additional buttons can be added to the controller if three aren't enough. Just insert them into another "horizontal arranger" on the "design" screen and replicate the "blocks" for the "open" and "close" buttons.

    View Instructable »
  • lingib commented on lingib's instructable CNC Drawing Arm
  • lingib commented on lingib's instructable Dual Sensor Echo Locator
    Dual Sensor Echo Locator

    The project should work if you have used the the same components. The fact that you are getting echos indictates you have everything working :)Some reasons why you might not be able to detect your object everywhere(1) the object is lower than the transducer and the ultrsonic beam is passing over the top. Try using a large object such as a saucepan while you find the optimum location and angles for the transducers. Once you have this working reduce the target size .(2) some transducers have a narrower beam-width in which case you will have to position them further away from your target area. Visualize two 30 degree cones coming from each transducer ... you will only be able to detect objects where these two "cones" overlap. The photo of my setup shows my transducers approximate…

    see more »

    The project should work if you have used the the same components. The fact that you are getting echos indictates you have everything working :)Some reasons why you might not be able to detect your object everywhere(1) the object is lower than the transducer and the ultrsonic beam is passing over the top. Try using a large object such as a saucepan while you find the optimum location and angles for the transducers. Once you have this working reduce the target size .(2) some transducers have a narrower beam-width in which case you will have to position them further away from your target area. Visualize two 30 degree cones coming from each transducer ... you will only be able to detect objects where these two "cones" overlap. The photo of my setup shows my transducers approximately 50 cm below each edge of my 1 meter square target area with each transducer pointing towards the diagonally opposite corner. I have also stacked two baked-bean cans on top of each other to prevent the beam passing over the top.

    View Instructable »
  • lingib's instructable Robot Hand's weekly stats:
    • Robot Hand
      181 views
      2 favorites
      2 comments
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    Thank you for your feedback :)Well done in finding the square root issue. I used a "long" data type to avoid this happening with the Arduino. Validating the data is a neat solution.The while(!Serial) statement is required for the M4 Express to prevent a startup issue. I left it in because it doesn't affect an Arduino Uno R3. Some days you just can't win :)Glad that you like the Quaternion Compass :)

    View Instructable »
  • lingib commented on lingib's instructable Dual Sensor Echo Locator
    Dual Sensor Echo Locator

    Glad you have solved the problem ... thanks for letting me know :)

    View Instructable »
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    Another user encountered problems when attempting to convert this project to an Adafruit M4 Feather Express https://www.adafruit.com/product/3857While this processor is Arduino compatible the cross-compiler he was using had some quirks. To resolve them he had to:(1) change all data-type references from "int" to "short"(2) "cast" the data type in some places ... especially when left-shifting data bytes to form a word. The M4 Feather express is a 32-bit processor, whereas the Arduino UNO R3 is a 16-bit processor, and his cross-compiler wasn't extending the Arduino two-byte two's-complement sign-bit correctly into the upper 16-bits of the M4 4-byte registers ... casting and short fixed this.I think he also had issues with the loop-timing when changing processo…

    see more »

    Another user encountered problems when attempting to convert this project to an Adafruit M4 Feather Express https://www.adafruit.com/product/3857While this processor is Arduino compatible the cross-compiler he was using had some quirks. To resolve them he had to:(1) change all data-type references from "int" to "short"(2) "cast" the data type in some places ... especially when left-shifting data bytes to form a word. The M4 Feather express is a 32-bit processor, whereas the Arduino UNO R3 is a 16-bit processor, and his cross-compiler wasn't extending the Arduino two-byte two's-complement sign-bit correctly into the upper 16-bits of the M4 4-byte registers ... casting and short fixed this.I think he also had issues with the loop-timing when changing processor types.My code works with an Arduino UNO R3 Arduino. which suggests that you may be encountering a similar problems.

    Unable to think of anything further to add to my previous comment.An alternate method of calibrating your compass is described in my instructable https://www.instructables.com/id/Quaternion-Compass/.No hardware changes are needed for the quaternion compass.

    View Instructable »
  • How to Control a Servo Using GRBL

    Thank you for your interest in my project :)The short answer to your question is "no" as there are no spare Arduino pins. The method I have described only works because we have hi-jacked the GRBL Z-axis motor speed control.

    View Instructable »
  • lingib commented on lingib's instructable Omni Wheel CNC Plotter V2
    Omni Wheel CNC Plotter V2

    Thank you for your interest in my plotter :)Some things to be aware of if you are changing my design:(1) The Big Easy Driver motor controllers are for motors that draw less than 2 amps. If your NEMA 23 motors draw more than this you will need to source alternate controllers. (2) The substitute controllers MUST have similar direction and step inputs, and support both 8 times and 16 times microstepping. Nothing else will work with my code.(3) You will need to adjust the Arduino speed parameters if you change the wheel size. Other than that the formulas stay the same.(4) If you change my design you will have to solve any issues that you encounter as your design will be unique to you. Possible issues include weight versus motor torque due to the extra mass involved.In answer to your ques…

    see more »

    Thank you for your interest in my plotter :)Some things to be aware of if you are changing my design:(1) The Big Easy Driver motor controllers are for motors that draw less than 2 amps. If your NEMA 23 motors draw more than this you will need to source alternate controllers. (2) The substitute controllers MUST have similar direction and step inputs, and support both 8 times and 16 times microstepping. Nothing else will work with my code.(3) You will need to adjust the Arduino speed parameters if you change the wheel size. Other than that the formulas stay the same.(4) If you change my design you will have to solve any issues that you encounter as your design will be unique to you. Possible issues include weight versus motor torque due to the extra mass involved.In answer to your question " Is there a sensor and verification code confirming that this tool is going right? " ... no.Good luck with your project:)

    View Instructable »
  • lingib commented on lingib's instructable Robot Hand
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    Step 4 contains the latest calibration code .... download "compass_cal.pde" Follow the instructions in Step 5 to install(The RAR file contains the same code)

    View Instructable »
  • lingib commented on lingib's instructable Dual Sensor Echo Locator
    Dual Sensor Echo Locator

    Thank you for your interest in my projectHave just downloaded code and it compiles The method I used was to download the ino file and copy the contents into an empty Arduino sketch using the Notepad++ text editor. I then clicked compile and saved it using the name the arduino suggested. The code then compiled.The reason the Ardino does a save first is that the ino code must reside in a folder that has the same name. This may account for your error message ?

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    Thank you for your feedback ... and the article reference :)Its a balancing act to get a satisfactory compass response. From memory, low values of Kp have a faster response but at the expense of compass-needle "jitter". Larger values have a longer settling time, which decreases the needle "jitter, but introduce undershoot when the compass is moved quickly.Will study the article when I get a quiet moment as it has a lot of interesting information, but it may be a while before I return to the compass as I have a number of other projects to complete.Many thanks for your kind words :)

    View Instructable »
  • lingib commented on lingib's instructable Delta Plotter
    Delta Plotter

    Thank you for your interest in my plotter.:)This plotter is compatible with the output from Inkscape. As such all XY coordinates are assumed to be positive. The (0,0) coordinate for Inkscape is at the lower-left corner of the page

    View Instructable »
  • lingib's instructable Wink Detector's weekly stats:
    • Wink Detector
      469 views
      1 favorites
      0 comments
  • Arduino Frequency Synthesiser Using 160MHz Si5351

    Grazie per l'interesse dimostrato per il mio progetto :)Non sono richieste modifiche al codice o al circuito per ricevere qualsiasi frequenza tra trasmissione e 60 MHz.Esistono due metodi per passare da una band all'altra.Metodo 1:L'encoder rotativo è dotato di un interruttore unipolare che utilizzo per controllare la dimensione del passo di sintonizzazione con incrementi di 10, 100, 1000, 10000 e 100000 Hz. Una breve pressione sulla manopola di sintonizzazione aumenta la dimensione del passo di sintonizzazione. Una pressione più lunga sulla manopola di sintonizzazione fa diminuire le dimensioni del passo.Per cambiare tra 3,5 MHz e dire 14,1 MHz è necessario:- premere brevemente la manopola di sintonia fino a quando il cursore "*" si trova sotto "3", quindi ruotare la …

    see more »

    Grazie per l'interesse dimostrato per il mio progetto :)Non sono richieste modifiche al codice o al circuito per ricevere qualsiasi frequenza tra trasmissione e 60 MHz.Esistono due metodi per passare da una band all'altra.Metodo 1:L'encoder rotativo è dotato di un interruttore unipolare che utilizzo per controllare la dimensione del passo di sintonizzazione con incrementi di 10, 100, 1000, 10000 e 100000 Hz. Una breve pressione sulla manopola di sintonizzazione aumenta la dimensione del passo di sintonizzazione. Una pressione più lunga sulla manopola di sintonizzazione fa diminuire le dimensioni del passo.Per cambiare tra 3,5 MHz e dire 14,1 MHz è necessario:- premere brevemente la manopola di sintonia fino a quando il cursore "*" si trova sotto "3", quindi ruotare la manopola di sintonia fino a quando sul display non viene visualizzato "14,5 MHz"- premere a lungo la manopola di sintonia fino a quando il cursore "*" si trova sotto "5", quindi ruotare la manopola di sintonia fino a quando sul display non viene visualizzato "14.1MHz".Metodo 2:È stato incluso un interruttore di cambio banda SPST. Quando l'interruttore è attivato, è possibile scorrere ciascuna delle bande radio amatoriali ruotando la manopola di sintonia. La manopola di sintonia si comporta normalmente quando l'interruttore è disattivato.Per cambiare tra 3,5 MHz e dire 14,1 MHz è necessario:- Attiva l'interruttore- Ruota la manopola di sintonia fino a raggiungere 14 MHz- Disattiva l'interruttore- Posizionare il cursore "*" per dire incrementi di sintonia a 1000Hz e sintonizzarsi normalmente.La frequenza di uscita per il sintetizzatore nel mio istruttivo https://www.instructables.com/id/Arduino-Frequenc... genera un segnale alla frequenza del display.Il codice del sintetizzatore nel mio istruttore https://www.instructables.com/id/Arduino-Frequenc... è quasi identico al codice per il sintetizzatore di frequenza sopra, tranne per il fatto che la frequenza di uscita è doppia rispetto alla frequenza di visualizzazione consentire il circuito di divisione per due sulla scheda del ricevitore.Il metodo di ottimizzazione è lo stesso per entrambi gli strumenti.Thank you for your interest in my project :)No code or circuit changes are required to receive any frequency between broadcast and 60MHz.There are two methods for changing between amateur bands.Method 1:The rotary encoder comes fitted with a single-pole push switch which I use to control the tuning step-size in increments of 10, 100, 1000, 10000, and 100000 Hz. A brief push on the tuning knob increases the tuning step-size. A longer push on the tuning knob causes the step-size to decrease.To change between 3.5MHz and say 14.1MHz you need to:- briefly push the tuning knob until the "*" cursor is under the "3" then rotate the tuning knob until the display reads "14.5MHz"- long-push the tuning knob until the "*" cursor is under the "5" then rotate the tuning knob until the display reads "14.1MHz".Method 2:A SPST band-change switch has been included. When the switch is activated it is possible to cycle through each of the amateur radio bands by rotating the tuning knob. The tuning knob behaves normally when the switch is deactivated.To change between 3.5MHz and say 14.1MHz you need to:- Activate the switch- Rotate the tuning knob until you reach 14MHz- De-activate the switch- Position the "*" cursor to say 1000Hz tuning increments and tune normally.The output frequency for the synthesiser in my instructable https://www.instructables.com/id/Arduino-Frequenc... generates a signal at the display frequency.The synthesiser code in my instructable https://www.instructables.com/id/All-Band-Direct-... is almost identical to the code for the above frequency synthesiser except that the output frequency is twice the display frequency to allow for the divide-by-two circuit on the receiver board.The tuning method is the same for both instructables.

    View Instructable »
  • lingib commented on lingib's instructable CNC Robot Plotter
    CNC Robot Plotter

    I sourced my parts from https://www.aliexpress.com/The cost of the major items at the time of building was:Wheels and couplings 2 x $4.95BYJ48 stepping motors 2 x $2.28Arduino and USB cable $1.33Servo $2.16

    View Instructable »
  • Enhanced Ultrasonic Range Finder

    Ultrasonic devices simply listen for any echo that is reflected towards them. It doesn't matter about the source.https://www.instructables.com/id/Dual-Sensor-Echo-Locator/https://www.instructables.com/id/Multiplexed-Echo-Locator/The HC-05 / HC-06 echo locators measure the time interval between the start pulse and the the first echo they receive, after which they ignore more distant echos. The modification that I explain in this instructable allows multiple echos to be detected from a single ping. The following instructable uses this techniquehttps://www.instructables.com/id/Acoustic-Radar-Display/Near and far measurements, however, are totally different. According to Wikipedia "The "near field" is a region in which there are strong inductive and capacitive effects from the …

    see more »

    Ultrasonic devices simply listen for any echo that is reflected towards them. It doesn't matter about the source.https://www.instructables.com/id/Dual-Sensor-Echo-Locator/https://www.instructables.com/id/Multiplexed-Echo-Locator/The HC-05 / HC-06 echo locators measure the time interval between the start pulse and the the first echo they receive, after which they ignore more distant echos. The modification that I explain in this instructable allows multiple echos to be detected from a single ping. The following instructable uses this techniquehttps://www.instructables.com/id/Acoustic-Radar-Display/Near and far measurements, however, are totally different. According to Wikipedia "The "near field" is a region in which there are strong inductive and capacitive effects from the currents and charges in the antenna that cause electromagnetic components that do not behave like far-field radiation. These effects decrease in power far more quickly with distance than do the far-field radiation effects."I'm not familiar with the mcu ( EM78xxxxx)

    View Instructable »
  • Enhanced Ultrasonic Range Finder

    You're welcome ... thank you for commenting :)

    View Instructable »
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    The quaternion compass may appear slower as it includes damping.

    View Instructable »
  • lingib commented on lingib's instructable Tilt Compensated Compass
    Tilt Compensated Compass

    Thank you for your feedback :)You may find some clues in my latest instructable https://www.instructables.com/id/Quaternion-Compass/This instructable describes a simple method for calibrating your magnetometer :)Both compasses use the same circuit so it's just a matter of swapping the code and ensuring that the magnetometer is correctly orientated.It is important that you perform the calibration with the magnetometer in place otherwise the magnets in your motors will upset the heading.Good luck

    Note to readers ... this problem has now been resolved.The twos-complement negative number -1 is 11111111 11111111 in a 16-bit Arduino whereas in a 32-bit M4 the two's complement negative number -1 is 11111111 11111111 11111111 11111111.It was found that the M4 compiler was generating 00000000 00000000 11111111 11111111To solve this problem the M4 compiler requires that you use casting as shown below:mag_x = (short)(Wire.read() | Wire.read() << 8) * ASAX;

    View Instructable »
  • How to Cut & Fold Sheet Aluminium

    Thank you for your comments and advice :)From personal experience a plastic ruler should NOT be used as it is too easy for the blade to dig into the plastic and run up over the top. Any plastic straight-edge should be thick with a non-slip coating.Metal rulers come in various thicknesses ... heavy gauge rulers are easier to control as they don't flex.I find that you have complete control if your fingers are splayed and in contact with both the metal sheet and the ruler.In ALL cases keep your fingers away from the edge ... I lost the tip of my index finger in a wood working class at school when using a "marking knife" and a metal "T-square".

    View Instructable »
  • lingib commented on lingib's instructable Acoustic Radar Display
    Acoustic Radar Display

    The circuit to which you refer has a number of errors.The RXDATA voltage divider resistors are missing from the circuit. The author draws your attention to this fact but expects you to look them up. Suitable resistor values are shown in the circuit diagram for this instructable https://www.instructables.com/id/Add-Bluetooth-to...Connecting the the HC-05 bluetooth module to the 3.3volt supply will NOT protect the RXDATA line. The Arduino is connected to a 5 volt supply which means the TX data pin will rise to 5 volts. A voltage divider is required.I suspect that the reason your project is not working is one of communication speed.The default speed for an HC-05 is 9600 bauds whereas the required communication speed for my Acoustic Radar Receiever is 115200 bauds. My Acoustic Radar Receive…

    see more »

    The circuit to which you refer has a number of errors.The RXDATA voltage divider resistors are missing from the circuit. The author draws your attention to this fact but expects you to look them up. Suitable resistor values are shown in the circuit diagram for this instructable https://www.instructables.com/id/Add-Bluetooth-to...Connecting the the HC-05 bluetooth module to the 3.3volt supply will NOT protect the RXDATA line. The Arduino is connected to a 5 volt supply which means the TX data pin will rise to 5 volts. A voltage divider is required.I suspect that the reason your project is not working is one of communication speed.The default speed for an HC-05 is 9600 bauds whereas the required communication speed for my Acoustic Radar Receiever is 115200 bauds. My Acoustic Radar Receiver is unlikely to work if you reduce the communication speed. To convert this project to bluetooth requires that you increase the HC-05 communication speed to 115200 bauds.Instructions for doing this may be found by entering "AT bluetooth" (without the quotes) into the Instructables "Lets Make ..." search bar. This search brings up a number of instructables. The following example appears to have the AT commands that you need https://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    Unable to answer your question regarding an 8MHz Pro Mini ... have only used my V8 code with a 16MHz Arduino Uno R3 and a 120MHz Adafruit Feather M4 Express ... https://www.adafruit.com/product/3857The following three comments, from a user who had a similar problem when using the RAR code version. may be of interest:"I'm using a Nano and it seems is not fast enough for the "Mahoney" fusion, switched to "Madwick" fusion and now looks like is working fine. Updates heading fine, but not very snappy. Takes a while to stabilize when to rotation is fast. Thanks!" "I tried the v8 code last night and it runs fine on my Nano without any modifications. I didn't notice any difference in performance or precision. I did run the calibration once again and the values …

    see more »

    Unable to answer your question regarding an 8MHz Pro Mini ... have only used my V8 code with a 16MHz Arduino Uno R3 and a 120MHz Adafruit Feather M4 Express ... https://www.adafruit.com/product/3857The following three comments, from a user who had a similar problem when using the RAR code version. may be of interest:"I'm using a Nano and it seems is not fast enough for the "Mahoney" fusion, switched to "Madwick" fusion and now looks like is working fine. Updates heading fine, but not very snappy. Takes a while to stabilize when to rotation is fast. Thanks!" "I tried the v8 code last night and it runs fine on my Nano without any modifications. I didn't notice any difference in performance or precision. I did run the calibration once again and the values came out very close to the older values I had. I like the fact that everything is in a single file and in that way is much easier to integrate to other projects, like in my case a satellite tracker two axis rotor.You did an amazing job putting this together. Once again, this is the best that I found for the MPU9250. Finally, I found that for my application the Madgwick fusion works better than Mahoney. Last night I was able to operate the tracker with the yagi antenna attached and worked well until one of the motors transmissions gave up due to the weight of the antenna. So I couldn't continue with further tests.If there is anything else specifically that you want me to test, please let me know. I will help you gladly.""I've changed the position of the sensor on the antenna assembly to be closer to the center of rotation and it seems that improved the overall heading response, refresh time and precision. Also moved a little bit up, far from the motor magnets. That was causing some disturbance too."With regards to your problems with "compass_cal.pde" and "compass_rose.pde the operation is as follows:(1) At startup the Arduino keeps sending an 'S' to compass_cal until it wakes up (Consider the 'S' to stand for "Start" or "Sync"(2) On seeing the 'S' compass_cal sends an 'S" back to the Arduino (consider this to be request to "Send" data". At this point the Arduino and compass_cal are in sync.(3) The Arduino then sends a data string to compass_cal(4) Compass cal processes this data then requests the next set of data by sending an 'S'. At this point compass_cal is in charge. (5)The sampling speed is determined entirely by the compass_cal.pde and compass_rose software.It appears that your 8MHz Pro Mini is missing the "S" handshake signal from the "compass_cal" and "compass_rose" software. Try delaying the "S" response by adding a delay into "compass_cal" and "compass_rose" software.To switch from Mahoney to Madgwick you need to change my V8 code line 1581 to read MadgwickQuaternionUpdate(

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    Thank you for your comment and photo:)

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    I have uploaded the latest *ino and *pde versions of this code to Step 4

    Code Update (6 March 2020)The latest version of this code has been uploaded to Step 4.

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    Try experimenting with the Kp and Ki values.The compass response improves if the Kp values are reduced. Kp values of 10 or less have a relatively fast response but introduce overshoot.Negative Kp values have an interesting response !!!

    Try experimenting with the Kp and Ki values.The compass response improves if the Kp values are reduced. Kp values of 10 or less have a relatively fast response but introduce overshoot.Negative Kp values have an interesting response !!!

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    A heading within 2 or 3 degrees is as good as you are likely to get with this sensor. You stability should be similar to that shown in the "Compass_rose" video. If you haven't already done so, check your "inbox" for a further suggestion.

    View Instructable »
  • lingib commented on lingib's instructable Quaternion Compass
    Quaternion Compass

    I received the following response from a person who beta tested this compass ... he raises some valid points that may help pinpoint your problem."It's been a long time since I've tried the compass but I don't think I ever got as little deviation as you did. I do remember that environment seemed to have a big affect. I would suspect that is his problem. I remember that one of the biggest problems was my PC monitor (actually have dual 23" monitors) and my smartphone. I suspect that if he calibrates and tests away from all electronics, even better outside, he will get much better results. My guess is that static magnetic fields will be compensated in calibration, but computers and smartphones have varying electromagnetic fields that will cause deviations."Additonally, my MPU…

    see more »

    I received the following response from a person who beta tested this compass ... he raises some valid points that may help pinpoint your problem."It's been a long time since I've tried the compass but I don't think I ever got as little deviation as you did. I do remember that environment seemed to have a big affect. I would suspect that is his problem. I remember that one of the biggest problems was my PC monitor (actually have dual 23" monitors) and my smartphone. I suspect that if he calibrates and tests away from all electronics, even better outside, he will get much better results. My guess is that static magnetic fields will be compensated in calibration, but computers and smartphones have varying electromagnetic fields that will cause deviations."Additonally, my MPU9250 is attached to a cable which means that it is well away from the LCD display and the Arduino Uno R3 processor.

    I have no idea as to why the compass needle wobbles about the heading. If you look at my "Compass Rose" video you will see that mine also has a slight wobble. Something to try ...(1) Calibrate your compass using my "compass_cal.pde" routine ... this routine produces far better results than "tumbling".(2) Record these results.(3) Rotate the compass and note the heading deviation every 10 degrees.(4) Now replace your software with the arduino code from my instructable https://www.instructables.com/id/Tilt-Compensated... and use the above results instead of tumbling. The hardware configuration for both compasses is identical.(5) Rotate the compass 360 degrees and note the heading deviation every 10 degrees.(6) Use a jumper to disable the tilt stabilization and …

    see more »

    I have no idea as to why the compass needle wobbles about the heading. If you look at my "Compass Rose" video you will see that mine also has a slight wobble. Something to try ...(1) Calibrate your compass using my "compass_cal.pde" routine ... this routine produces far better results than "tumbling".(2) Record these results.(3) Rotate the compass and note the heading deviation every 10 degrees.(4) Now replace your software with the arduino code from my instructable https://www.instructables.com/id/Tilt-Compensated... and use the above results instead of tumbling. The hardware configuration for both compasses is identical.(5) Rotate the compass 360 degrees and note the heading deviation every 10 degrees.(6) Use a jumper to disable the tilt stabilization and observe what happens when the compass is tilted. The difference between these two compasses is the heading from the "Tilt Compensated Compass" comes from the magnetometer whereas the "Quaternion Compass" uses the gyro.In theory a gyro, once set, should be more accurate but unfortunately all electronic gyros suffer from drift.I found that the Quaternion compass has far less drift than Tilt Compensated compass over a long period of time (hours) yet both use the same components!! Another thing I have found ... shake each of the compasses. The quaternion compass holds its heading whereas the tilt-compensated compass often looses it.I don't understand quaternions ... just the concept. The quaternion compass is effectively looking at each of the three inputs (accelerometer, gyro, magnetometer) and taking the best option if the inputs disagree. This probably accounts for the wobble.Unfortunately I can't offer a solution other than to dampen the oscillation by varying the Kp parameter.Your compass appears to be working correctly as a heading that is accurate to within +/- 2 degrees is about as good as you can expect from the MPU9250.

    View Instructable »