author
32Instructables520,789Views323CommentsNew ZealandJoined November 6th, 2015
55+ years in electronics, computers, and teaching ... now retired.

Tell us about yourself!

Complete Your Profile

Achievements

100+ Comments Earned a bronze medal
10K+ Views Earned a bronze medal
Epilog X Contest
Contest Winner First Prize in the Epilog X Contest
Show 2 More »
  • lingib posted a topic Home Page Images 1 day ago
  • lingib commented on john_psddude's instructable Foggy Photoshop Effect1 day ago
    Foggy Photoshop Effect

    Nice effect ... thanks for sharing :)

    View Instructable »
  • lingib's instructable Tilt Compensated Compass's weekly stats: 2 days ago
    • Tilt Compensated Compass
      4,071 views
      34 favorites
      6 comments
  • I occasionally have the same issue.Logging out , then back in fixes it for me

    View Topic »
  • lingib entered Tilt Compensated Compass in the Arduino Contest 2019 contest 6 days ago
  • lingib commented on lingib's instructable Tilt Compensated Compass7 days ago
    Tilt Compensated Compass

    Thank you for your comment :)Just to be clear, the initial video demonstrating the tilt compass in action is mine. The remaining two videos, explaining how to make an inertial management unit (IMU), are only included for reference purposes and were created by Joop Brokking. I included the links to these two videos as I believe they are worth watching.Since the MPU-9250 compass chip contains an MPU-6050 it follows that my pitch and roll code is similar to Joop's . The main difference is that I am using an 8 millisecond timing loop which allows the compass code sufficient time to run each time around the loop. My pitch, roll, and yaw code also differs due to the fact that each of the XYZ axes of the AK8963 magnetometer chip point in different directions to those of the MPU-6050 IMU.

    View Instructable »
  • lingib followed , , , and 29 others channel 7 days ago
  • There should be a "RECENT" tab on the opening page.Currently you have to drill down into a category before you you encounter a "recent" tab.Visitors to this site are unlikely to drill down into each category which means that authors will get less views.Even if you are not interested in a particular topic, ideas spawn ideas ... please add a RECENT tab to the front page.

    View Topic »
  • lingib commented on lingib's instructable How to Control a Servo Using GRBL12 days ago
    How to Control a Servo Using GRBL

    "Step 8: Raising and Lowering Your Pen" of this instructable lists several methods for solving your problem.If you are using the "spindle_control.c" file that is attached to "Step 3: Modifying GRBL" then I suggest that you: - rotate the servo arm 90 degrees such that the pen is up when power is first applied. - run your code through "GPP.pde" before sending. The file GPP.zip is attached to Step 8.The above version of spindle_control.c uses M-codes for raising and lowering the pen. GPP.pde simply inserts the correct M-code sequences into your g-code.The latest GITHUB version of "spindle_control.c", however, appears to use a negative Z value for pen down and a positive Z value for pen up in which case the GPP,pde solution may not work.The ...

    see more »

    "Step 8: Raising and Lowering Your Pen" of this instructable lists several methods for solving your problem.If you are using the "spindle_control.c" file that is attached to "Step 3: Modifying GRBL" then I suggest that you: - rotate the servo arm 90 degrees such that the pen is up when power is first applied. - run your code through "GPP.pde" before sending. The file GPP.zip is attached to Step 8.The above version of spindle_control.c uses M-codes for raising and lowering the pen. GPP.pde simply inserts the correct M-code sequences into your g-code.The latest GITHUB version of "spindle_control.c", however, appears to use a negative Z value for pen down and a positive Z value for pen up in which case the GPP,pde solution may not work.The following comment is attached to the latest GITHUB version of "spindle_control.c":"If you want to have the pen go to the up position at turn on, define a negative Z work offset. Send the command "G10 L2 P0 Z-2". This will trick Grbl into thinking the pen needs to be up."As yet I haven't tried this new version so am unable to comment.If all else fails, place a piece of scrap paper beneath the pen tip until the plotter starts working ... hopefully it won't come to this.

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

    I am assuming that the robot plots a square when the "T103" test code is sent.If so the probable cause is likely to be with the "TeraTerm" software package. Unless you find the correct combination of delays, TeraTerm will send the next line of code before the robot is ready to receive it, at which point the robot will stop.The good news is that there are two solutions , both of which work ... replace Teraterm with either: - https://www.instructables.com/id/CNC-Gcode-Sender... - CoolTerm from http://rogermeier.blogspot.com/2011/09/update-coo...I wrote "CNC-Gcode-sender" to eliminate this software over-run problem. It works well.Since writing "CNC-Gcode-sender" I have come across "CoolTerm" written by Roger Meier. Details on how to ins...

    see more »

    I am assuming that the robot plots a square when the "T103" test code is sent.If so the probable cause is likely to be with the "TeraTerm" software package. Unless you find the correct combination of delays, TeraTerm will send the next line of code before the robot is ready to receive it, at which point the robot will stop.The good news is that there are two solutions , both of which work ... replace Teraterm with either: - https://www.instructables.com/id/CNC-Gcode-Sender... - CoolTerm from http://rogermeier.blogspot.com/2011/09/update-coo...I wrote "CNC-Gcode-sender" to eliminate this software over-run problem. It works well.Since writing "CNC-Gcode-sender" I have come across "CoolTerm" written by Roger Meier. Details on how to install this freeware program may be found in Step 7, of my instructable https://www.instructables.com/id/Omni-Wheel-CNC-P... CoolTerm is easier to install than "CNC-Gcode-sender" ... I suggest that you try this first.I have no explanation as to why the bluetooth module gets disconnected? Try one of the above terminal programs ... hopefully the problem will sort itself ... it could simply be due to the plotter locking up due to code over-run.Be aware that the "https://www.instructables.com/id/CNC-Robot-Plotter/" is okay for simple drawings but will tend to drift when the drawings become more complex. There are several reasons for this: - The CWR ratio needs to be really accurate. - Mechanical backlash in the gears. - Changes in wheel spacing due to "end float". - Wheel slip - Rounding errors ... stepping motors can only take exact steps. Having said this one user finds this plotter accurate enough to outline model aircraft wings onto foam board.

    View Instructable »
  • lingib commented on lingib's instructable How to Control a Servo Using GRBL5 weeks ago
    How to Control a Servo Using GRBL

    Thanks for this update ... nice to know :)

    View Instructable »
  • lingib's entry Omni Wheel CNC Plotter is a winner in the Epilog X Contest contest 5 weeks ago
  • lingib commented on lingib's instructable CNC Dual Arm Plotter6 weeks ago
    CNC Dual Arm Plotter

    The angles for each arm are determined by their length, and the distance each motor is from the "Y" axis.Photo 4 , in the "Intro" section shows a square pencil outline drawn on the the baseboard. The pen is able to plot anywhere inside this square. For mechanical reasons the pen cannot plot outside this area. The maximum height occurs when the two center rulers form a straight line.The lowest limit is when each set of two rulers form a straight line.

    View Instructable »
  • lingib's entry Omni Wheel CNC Plotter is a finalist in the Epilog X Contest contest 6 weeks ago
  • lingib commented on lingib's instructable Make Your Own Camera7 weeks ago
    Make Your Own Camera

    Much as I would like to help as I do not have the necessary parts, or time, to devote to your project.If you search "Google" for "camera arduino 9600 bauds", or similar, you may find a project that matches your requirement for a 9600 baud link.One such result is "https://www.robotshop.com/community/forum/t/c328r-camera-and-arduino/2853" in which the blog states:"I've used Sean Voisen's C++ code as a base and inspiration for most of my Arduino code. His example shows you how to use his Arduino library to take snapshots with the camera, store them to an EEPROM, and then send the data through a serial port to a Processing sketch that displays the picture - turning the Arduino into a camera."It would appear that a solution to your problem is to store ...

    see more »

    Much as I would like to help as I do not have the necessary parts, or time, to devote to your project.If you search "Google" for "camera arduino 9600 bauds", or similar, you may find a project that matches your requirement for a 9600 baud link.One such result is "https://www.robotshop.com/community/forum/t/c328r-camera-and-arduino/2853" in which the blog states:"I've used Sean Voisen's C++ code as a base and inspiration for most of my Arduino code. His example shows you how to use his Arduino library to take snapshots with the camera, store them to an EEPROM, and then send the data through a serial port to a Processing sketch that displays the picture - turning the Arduino into a camera."It would appear that a solution to your problem is to store the image to an EEPROM locally before sending it at 9600 bauds.Good luck with your project ...

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

    Well done ... nice picture :)You would need a camera module with an on-board buffer (frame-grabber) to send an image at 9600 bauds. You would also need a different circuit and different code.The on-board buffer would "instantly" capture the image data which can then be extracted and sent at 9600 bauds ... but it will take a long time. If it takes 6.4 seconds to send an image at 1000000 bauds then it will take approximately 10 minutes to send the same amount of information at 9600 bauds.

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

    You appear to be sending non-printable characters to your serial monitior. Try the 'A' and 'Z' test code ....

    I notice that three serial ports are shown at the bottom of your screen.You should see the the number 307201 after this list once the camera has finished sending its data. The number 307201 is the number of data bytes received by the frame-grabber comprising 640*480=307200 data bytes + 1 line-feed character.You may be connected to the wrong serial port nothing is shown after this list.

    In normal operation the camera module will output hexadecimal value "0x00" (decimal 0) when there is no light, and will output hexadecimal value "0xFF" (decimal 255) in bright light. Unfortunately neither of these two values will produce a visible character on your serial monitor. To get around this the test code uses the value 128 (which is half way between 0 and 255) as a reference point. If the OV7670 data value is less than 128 it prints the letter 'A' (which is visible) ... If the OV7670 data value is greater than 128 it prints the letter 'Z'.Your OV7670 appears to be working as you are getting the letters 'A' and 'Z' when you block the light with your hand.You will NOT get an image if you send the 'A' 'Z' test data to the framegrabber.

    View Instructable »
  • lingib commented on lingib's instructable Multi-task Your Arduino7 weeks ago
    Multi-task Your Arduino

    You need the following information before attempting to multi-task:(1) how long does each task take?(2) can the task be broken into bits?(3) how often does each task need to be performed?Good luck :)

    You need the following information before attempting to multi-task:(1) how long does each task take?(2) can the task be broken into bits?(3) how often does each task need to be performed?Good luck :)

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

    Thank you for this suggestion :)

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

    A dual sensor echo locator can only track a single object. Instructable https://www.instructables.com/id/Multiplexed-Echo-... explains how multiple objects may be tracked.

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

    The camera should work if you follow my instructable.The default baud speed for this project is 1000000. The project will NOT work if you set the baud sppeed to 9600.The processing code appears to be working as you appear to have captured the blank screen shown in your first image.Please read my responses to previous questions in the comments section as they contain all the debug information that you need.

    View Instructable »
  • lingib entered Omni Wheel CNC Plotter in the Epilog X Contest contest 2 months ago
  • lingib commented on lingib's instructable CNC Gcode Sender2 months ago
    CNC Gcode Sender

    Apart from an unintentional code change somewhere while installing the software I have no idea why you are getting this response?Something to try: - download the CoolTerm software terminal from http://freeware.the-meiers.org/ - installation instructions for using it may be found in Step 7 of my instructable https://www.instructables.com/id/Omni-Wheel-CNC-P... - copy outline.ngc to the "CoolTermWin" folder - instructions for sending this file are given in Step 8.

    My coreXY_plotter_1a.ino code will NOT work with a conventional XY plotter that has a separate motor for each of the X-axis and Y-axis.A CoreXY plotter is not a conventional plotter as it does not have separate X-axis and Y-axis motors.If you simultaneously step BOTH motors of a core-XY plotter in the same direction the pen will move horizontally.If you simultaneously step BOTH motors of a core-XY plotter in opposite directions the pen will move vertically.If you only step a SINGLE motor of a core-XY plotter the pen will move diagonally.

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

    A CoreXY plotter is not a conventional plotter.If you simultaneously step BOTH motors in the same direction the pen will move in that direction.If you simultaneously step BOTH motors in opposite directions the pen will move either up or down.Step a SINGLE motor and you only get diagonal movement.But feel free to experiment with the code ...

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

    Thank you for your interest in this project :)It shouldn't be too difficult to add an SD card reader.Replacing the 28BYJ-48 stepping motors and ULN2003 motor controllers with NEMA motors and Big Easy Drivers is on my list of things to do. Until then I can't comment on the backlash improvement.NEMA motors and Big Easy Drivers would enable all four motors to be controlled independently. I am not familiar with the DRV8825 driver boards that you mention.Higher mAH batteries will definitely be needed as NEMA motor currents are higher than those for the 28BYJ-48 stepping motors. Heat/heat-sinking is going to be an issue if you use too high a supply voltage. Keep in mind the power dissipated in each of your motors and motor controllers.

    View Instructable »
  • lingib commented on lingib's instructable CNC Drum Plotter2 months ago
    CNC Drum Plotter

    I am not familiar with the Arduino Mega so in answer to your question ... probably.From what I have read most Arduino shields are compatible. My software should compile and run providing the pin-outs are the same.You will also need to rework the software if you choose to use 24 volt stepper motors as different motor controllers will be required.The electronics will also have to be reworked to avoid applying more than 12 volts to the Arduino.

    View Instructable »
  • lingib's instructable Omni Wheel CNC Plotter's weekly stats: 2 months ago
    • Omni Wheel CNC Plotter
      16,327 views
      153 favorites
      24 comments
  • lingib commented on lingib's instructable Omni Wheel CNC Plotter2 months ago
    Omni Wheel CNC Plotter

    I would if I had time ... thank you for commenting :)

    Well done ... I remember the Amiga days :)You can do something similar with this plotter using a cell-phone or tablet.https://www.instructables.com/id/CNC-Graphics-Tabl...

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

    A laser possibly isn't a good idea unless you have: - eye protection for every one ... including the cat :) - fire insurance against burnt carpets ... or worse :(

    Thank you for the link :)Be aware that these 58mm wheels do not come with aluminium couplings ... the 5mm couplings must be purchased separately.

    Thank you for commenting :)

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

    View Instructable »
  • lingib commented on lingib's instructable All-Band Direct Conversion Receiver2 months ago
  • lingib commented on lingib's instructable Omni Wheel CNC Plotter2 months ago
    Omni Wheel CNC Plotter

    Theoretically yes ... providing a hobby knife can cut polystyrene sheeting.But in practice no for these reasons:- The plotter is very light-weight and would probably lift. - The plastic Omni-wheels in use have a low coefficient of friction and would slip- The motors have little torque and a tiny amount of backlash.A laser may be a better choice.?

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

    Your frame-grabber is working as intended :)Tests 1,2,3 indicate that the frame-grabber is displaying an image after receiving 307200 (640*480) data bytes followed by a linefeed making 307201 bytes in total.The reason the screen exhibits a constant shade of gray in tests 1,2,3 is that we are deliberately sending the same data value.These tests also proves that you are receiving horizontal and vertical sync pulses from your OV7670. But tests 1,2,3 will not detect if a data byte is being dropped occasionally. The effect of a missed/dropped data byte would be to switch the camera output from monochrome to color and back producing horizontal lines.If you look at the images posted in the comments by skywalker58 you will see that his initial symptoms were similar to yours. His images then pro...

    see more »

    Your frame-grabber is working as intended :)Tests 1,2,3 indicate that the frame-grabber is displaying an image after receiving 307200 (640*480) data bytes followed by a linefeed making 307201 bytes in total.The reason the screen exhibits a constant shade of gray in tests 1,2,3 is that we are deliberately sending the same data value.These tests also proves that you are receiving horizontal and vertical sync pulses from your OV7670. But tests 1,2,3 will not detect if a data byte is being dropped occasionally. The effect of a missed/dropped data byte would be to switch the camera output from monochrome to color and back producing horizontal lines.If you look at the images posted in the comments by skywalker58 you will see that his initial symptoms were similar to yours. His images then progress from slanted images with lines, to rectangular images without lines. Non-rectangular images indicate a loss of sync. In skywalker58's case it appears that instability was the cause.Comparing your images to those of skywalker58 I notice a diagonal line running downwards from the top left-hand corner of the display when there is an image problem.. This diagonal line indicates a loss of sync or lost data bytes. If there is any instability (tendency to oscillate) you will not get an image.Sorry I cannot be more helpful ... I will contact you if I think of anything.

    View Instructable »
  • lingib commented on lingib's instructable How to Control a Servo Using GRBL2 months ago
    How to Control a Servo Using GRBL

    In answer to your question ... "I don't know" :(But you have raised my curiosity !!There are three versions of the file "spindle)control.c":- the original version- the version which I have archived in Step 3 of this instructable- the latest version which may be found at https://github.com/bdring/Grbl_Pen_ServoThe original version supports the laser mode, details of which may be found at https://github.com/gnea/grbl/wiki/Grbl-v1.1-Laser... The archived version is a substantial rewrite of spindle_control.c and requires that M4, M5 codes be inserted into the g-code output from InkscapeThe latest Github version uses the positive and negative z-axis values in the g-code output from Inkscape to raise and lower the pen. This version sounds promising. At present I don't ha...

    see more »

    In answer to your question ... "I don't know" :(But you have raised my curiosity !!There are three versions of the file "spindle)control.c":- the original version- the version which I have archived in Step 3 of this instructable- the latest version which may be found at https://github.com/bdring/Grbl_Pen_ServoThe original version supports the laser mode, details of which may be found at https://github.com/gnea/grbl/wiki/Grbl-v1.1-Laser... The archived version is a substantial rewrite of spindle_control.c and requires that M4, M5 codes be inserted into the g-code output from InkscapeThe latest Github version uses the positive and negative z-axis values in the g-code output from Inkscape to raise and lower the pen. This version sounds promising. At present I don't have a laser to try.The Notepad++ text editor has a file compare function, an example of which is shown in Step 1 of this instructable. My guess is that the code with the least changes is more likely to work.My first approach to finding out would be to try each of these versions in turn. Sorry that I can't be more helpful. If I find an answer I will let you know.

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

    The following tests will pinpoint the problem:In screenshots 1,2,3, the word "data" in the "line Serial.write(data);" has been replaced with a hexadecimal value. Replacing the word "data" with each of these hexadecimal values will produce a different shade of gray in the image window. If you see these changes then your software is working correctly.Restore the code line to read Serial.write(data);Now make the code changes shown in screen shots 4,5. Do these tests in a darkened room (i.e. away from bright light). The image in screenshot 4 is the darkest image possible. Writing a single 1 into any position in the top two lines shown in yellow high-light will brighten the image as shown in image 5.In test 4 the hexadecimal values in tests 1,2,3 have been subst...

    see more »

    The following tests will pinpoint the problem:In screenshots 1,2,3, the word "data" in the "line Serial.write(data);" has been replaced with a hexadecimal value. Replacing the word "data" with each of these hexadecimal values will produce a different shade of gray in the image window. If you see these changes then your software is working correctly.Restore the code line to read Serial.write(data);Now make the code changes shown in screen shots 4,5. Do these tests in a darkened room (i.e. away from bright light). The image in screenshot 4 is the darkest image possible. Writing a single 1 into any position in the top two lines shown in yellow high-light will brighten the image as shown in image 5.In test 4 the hexadecimal values in tests 1,2,3 have been substituted with your OV7670 data.In test 5 we have increased the camera gain. At some point you should get an image ... if not then your OV7670 data is suspect.

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

    Things to try:(1) Confirm that your plotter works as follows:- Launch your Arduino IDE, - click "Tools|Serial Monitor", - then issue some manual commands.- close your Arduino IDE(2)Now send a known good file to your plotter- download and copy Letter_B.ngc into your C:\...\processing3_terminal folder- launch "processing3_terminal.pde"- now follow the instructions in Step 3 of the "CNC Gcode Sender" instructable(3)Now try your aa.ngc file- copy your aa.ngc file into your C:\...\processing3_terminal folder- mimic the the instructions in Step 3 of the "CNC Gcode Sender" instructable using aa.ngc instead of Letter_B.ngcIf steps (1) and (2) work then there is a problem with your aa.ngc file.

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

    Well done ... thanks for your update :)I am a little concerned at your NEMA motor currents of 1.7amps as Big Easy Drivers are only rated to about 1.4 amps per phase at room temperatures. Beyond that heatsinks (and/or cooling fans) are recommended.The reason for this is explained in the "heat Dissipation" paragraph in http://www.schmalzhaus.com/BigEasyDriver/BigEasyDr...The NEMA motors I specified for use in this instructable only draw 400mA which means that heatsinks are not required.

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

    I am unable to replicate your problem (screen shots attached)I notice that you appear to be using Arduino version 1.6.1 and Windows 7.I suggest that you update your software to the latest Arduino version for your operating system. The current Arduino version for Windows 10 is version 1.8.8.There are two versions of my code in Step 2 of this instructable. Try each of these files. The reason for two files is explained in my comment dated 22 December 2018.You have possibly copied the *.ino code into your "sketch_feb14b" twice as your error messages read: "coreXY_plotter.ino:104:6: error: redefinition of 'void setup()'"The following method should eliminate any copying errors:(1) download the file "coreXY_plotter_1a.ino" into your download folder(2) double-left-...

    see more »

    I am unable to replicate your problem (screen shots attached)I notice that you appear to be using Arduino version 1.6.1 and Windows 7.I suggest that you update your software to the latest Arduino version for your operating system. The current Arduino version for Windows 10 is version 1.8.8.There are two versions of my code in Step 2 of this instructable. Try each of these files. The reason for two files is explained in my comment dated 22 December 2018.You have possibly copied the *.ino code into your "sketch_feb14b" twice as your error messages read: "coreXY_plotter.ino:104:6: error: redefinition of 'void setup()'"The following method should eliminate any copying errors:(1) download the file "coreXY_plotter_1a.ino" into your download folder(2) double-left-click "coreXY_plotter_1a.ino" using Windows File Explorer.(3) this should launch the Arduino IDE which will then ask if it can place the file into a folder of the same name.(4) click "OK"(5) now upload the file to your Aduino ... all going well it should compile.

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

    The SG90 has three wires.Just follow the wiring shown iin Photo 1,Step 3.The orange wire goes to pin D3 of the Arduino.The red wire goes to 5V on either the Easy Driver or the Big Easy Driver.The brown wire goes to GND on either the Easy Driver or the Big Easy Driver.

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

    The reason the module looks different is that your module an "Easy Driver" not a "Big Easy driver".Both modules are similar but the "Big Easy Driver defaults to 16 x microstepping whereas the "Easy Driver" defaults to 8 x microstepping.If you wish to use the "Easy Driver" you will meed to change line 43 in the *.ino code to read:#define STEPS_PER_MM 200*8/40 //200steps/rev; 8 x microstepping; 40mm/revApart from this minor code change the wiring, and motor current adjustment(s), is the same as that set out in Step 1 of the instructable.Each of the pinouts for the "Easy Driver" are axplained in https://media.digikey.com/pdf/Data%20Sheets/Spark...Each of the pinouts for the "Big Easy Driver" are explained in http:/...

    see more »

    The reason the module looks different is that your module an "Easy Driver" not a "Big Easy driver".Both modules are similar but the "Big Easy Driver defaults to 16 x microstepping whereas the "Easy Driver" defaults to 8 x microstepping.If you wish to use the "Easy Driver" you will meed to change line 43 in the *.ino code to read:#define STEPS_PER_MM 200*8/40 //200steps/rev; 8 x microstepping; 40mm/revApart from this minor code change the wiring, and motor current adjustment(s), is the same as that set out in Step 1 of the instructable.Each of the pinouts for the "Easy Driver" are axplained in https://media.digikey.com/pdf/Data%20Sheets/Spark...Each of the pinouts for the "Big Easy Driver" are explained in http://www.schmalzhaus.com/BigEasyDriver/BigEasyD...

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

    The dimensions of all metal-work are given in step 1.The dimensions of platform that is attached to the metal-work is not critical. I used a scrap of acrylic sheet approximately 160mm x 110mm.There are no STL files for this project as it was made from readily available parts. If you do decide to 3D print this project pay particular attention to the chassis design ... it is critical that the wheel spacing does not alter.

    The components for this project are mounted on a blank prototype board.A suitable prototype board is available from https://www.aliexpress.com/ ...just search for "Prototype PCB Expansion Board For Arduino"

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

    -------------------------------------In the "OV7670_camera_mono_v2.ino"-------------------------------------Your image brightness is controlled by registers 0x07, 0x10, and 0x04You are allowed to write a '1' into any of the positions below that are shown with an 'x'write_register(0x07, Bxxxxxxxx); write_register(0x10, Bxxxxxxxx); write_register(0x04, B000000xx); Maximum brightness occurs with the following register settings:write_register(0x07, B11111111); write_register(0x10, B11111111); write_register(0x04, B00000011);Minimum brightness occurs with the following register settings:write_register(0x07, B00000000); write_register(0x10, B00000000); write_register(0x04, B00000000);Medium brightness occurs with the following register settings:write_register(0x07, B00000000); write...

    see more »

    -------------------------------------In the "OV7670_camera_mono_v2.ino"-------------------------------------Your image brightness is controlled by registers 0x07, 0x10, and 0x04You are allowed to write a '1' into any of the positions below that are shown with an 'x'write_register(0x07, Bxxxxxxxx); write_register(0x10, Bxxxxxxxx); write_register(0x04, B000000xx); Maximum brightness occurs with the following register settings:write_register(0x07, B11111111); write_register(0x10, B11111111); write_register(0x04, B00000011);Minimum brightness occurs with the following register settings:write_register(0x07, B00000000); write_register(0x10, B00000000); write_register(0x04, B00000000);Medium brightness occurs with the following register settings:write_register(0x07, B00000000); write_register(0x10, B00000001); write_register(0x04, B00000011);

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

    Thank you for posting a photo of your wiring layout.I notice that your camera module is not fixed which means your wiring moves with each photo. It is possible that an a poor connection on your breadboard could cause instability and horizontal banding. Hand capacity may also contribute to your problem.If you Google "OV7670 image" you will find that other people have also experienced your problem. Two examples:(1)https://www.instructables.com/id/OV7670-Without-FI...Step 7: Troubleshooting and Pictures shows similar image problems issues and suggests "try switching the USB of the arduino from a USB2.0 to a USB3.0 (blue socket) or vice versa."(2)https://www.instructables.com/id/OV7670-Arduino-Ca...Step 11 trouble-shooting: also says "try switching the USB of the ar...

    see more »

    Thank you for posting a photo of your wiring layout.I notice that your camera module is not fixed which means your wiring moves with each photo. It is possible that an a poor connection on your breadboard could cause instability and horizontal banding. Hand capacity may also contribute to your problem.If you Google "OV7670 image" you will find that other people have also experienced your problem. Two examples:(1)https://www.instructables.com/id/OV7670-Without-FI...Step 7: Troubleshooting and Pictures shows similar image problems issues and suggests "try switching the USB of the arduino from a USB2.0 to a USB3.0 (blue socket) or vice versa."(2)https://www.instructables.com/id/OV7670-Arduino-Ca...Step 11 trouble-shooting: also says "try switching the USB of the arduino from a USB2.0 to a USB3.0 (blue socket) or vice versa." and in theComments section: someone says "I met the same problem and I think it dues to bad connections in the circuit. After soldering the circuit, it worked."Both of the above Instructables use a similar circuit and use a Java based (as opposed to my Processing) frame-grabber.Unfortunately I am unable to offer any further suggestions as I am out of ideas.

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

    Originally you never got an image. With your help I traced this to: - incorrect wiring - a faulty 0V7670The fact that you are now getting an image with this second 0V7670 indicates that your circuit is working.But the cause of the horizontal bands is a mystery. These horizontal bands appear to contain faint image information (especially your second curtain photo) which suggests that the Arduino is missing an occasional PCLK signal. If this were to happen then you would see the UV color components of the image which, if you look at photo 1 in step 8 of this instructable, only contains faint image information. The image would return to normal if another PCLK signal was missed.To test this PCLK theory we have tried: - swapping the PCLK input to Arduino pin 12 in the off-chance that pin 8...

    see more »

    Originally you never got an image. With your help I traced this to: - incorrect wiring - a faulty 0V7670The fact that you are now getting an image with this second 0V7670 indicates that your circuit is working.But the cause of the horizontal bands is a mystery. These horizontal bands appear to contain faint image information (especially your second curtain photo) which suggests that the Arduino is missing an occasional PCLK signal. If this were to happen then you would see the UV color components of the image which, if you look at photo 1 in step 8 of this instructable, only contains faint image information. The image would return to normal if another PCLK signal was missed.To test this PCLK theory we have tried: - swapping the PCLK input to Arduino pin 12 in the off-chance that pin 8 was level sensitive - a faster method of sending dataThe only thing I can think of now is some form of instability which can be caused by - lead length - proximity of critical leads to anotherCan you please send a photo of your camera. I need to see your construction layout before I can make any further suggestions.

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

    If you study the photo in Step 3 of this instructable you will see how it is broken up into three sets of information.The desired "Y" information, which appears every second data position, produces a detailed image. This us why we sample the data every second PCLK.The unwanted "U" and "V" information only contains faint images. These signals, if displayed on a monochrome screen, would appear as faint monochrome outlines.If you now examine each of your three "window" images you can see faint outlines in each of the unwanted horizontal bands. It would appear that your Arduino is not detecting the occasional PCLK signal from your 0V7670 chip. If this were to happen then every second sample would become "U" then "V" information and...

    see more »

    If you study the photo in Step 3 of this instructable you will see how it is broken up into three sets of information.The desired "Y" information, which appears every second data position, produces a detailed image. This us why we sample the data every second PCLK.The unwanted "U" and "V" information only contains faint images. These signals, if displayed on a monochrome screen, would appear as faint monochrome outlines.If you now examine each of your three "window" images you can see faint outlines in each of the unwanted horizontal bands. It would appear that your Arduino is not detecting the occasional PCLK signal from your 0V7670 chip. If this were to happen then every second sample would become "U" then "V" information and the image would appear as faint monochrome outlines until another PCLK signal is missed at which point the desired image will reappear. This would also explain the slanted edges to each of your images as the frame-grabber is a dumb device and simply captures data until a linefeed symbol is received at which point it will display the data it has received.It would appear that:(1) your frame-grabber is working correctly(2) your 0V7670 camera chip is working.(3) your 5 volt Arduino is not reliably detecting the PCLK signals from the 3 volt 0V7670 CMOS camera chipThings to try:(1) Swap your existing Arduino board for another. Make certain you PROGRAM IT FIRST before attaching the OV7670 wires.(2) If you don't have a spare Arduino board then you could try mapping the PCLK signal to another unused Arduino pin ... some pins may be more sensitive. If you do this then you will need to change the binary patterns, and possibly ports numbers, in each of the code lines associated with the PCLK signal. Let me know if you need help with this.

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

    An image at last ... well done :)The fact that you are now getting an image indicates that both your camera module and frame grabber are working.I am a little puzzled about your images as I have not encountered this problem. Both images have a slanting edge which indicates a timing / synchronising issue. In particular the lower part of your first image appears to "wrap-around" the screen.The "bands" in each image also indicate a loss of sync. I suspect that you are occasionally loosing a sync pulse and what you are seeing are bands of "UV" (color) data then "Y" (image) data as you regain sync. If this problem occurs at start up then it may resolve after running for a while (I'm thinking temperature).Go back over my previous suggestions ... in part...

    see more »

    An image at last ... well done :)The fact that you are now getting an image indicates that both your camera module and frame grabber are working.I am a little puzzled about your images as I have not encountered this problem. Both images have a slanting edge which indicates a timing / synchronising issue. In particular the lower part of your first image appears to "wrap-around" the screen.The "bands" in each image also indicate a loss of sync. I suspect that you are occasionally loosing a sync pulse and what you are seeing are bands of "UV" (color) data then "Y" (image) data as you regain sync. If this problem occurs at start up then it may resolve after running for a while (I'm thinking temperature).Go back over my previous suggestions ... in particular the answer in which I post six images.

    The fact that you are getting a dark image indicates that the lighting levels have changed in which case you wiwll need to increase the camera gain.Since the picture also exhibits the same problems as your previous post I suggest that you concentrate on getting a stable image using the settings for your window shots before changing the lighting.

    I can understand your frustration. Keep in mind that I cannot see what you are doing and have no way of knowing what you have tried in an attempt to debug your latest problem ... you are my eyes and ears. Sounding off does not help.Currently you have progressed from no image to a (slightly) distorted image.Together we isolated your initial lack of an image to a faulty OV7670.I am assuming that you have confirmed that the framegrabber is working by performing the tests that I have previously sent you. I am attaching the three screen shots again. Your framegrabber screen should change from light-gray, to gray, and then to black when you change the Serial.print(data); line in yellow-high light. This test is probably unnecessary as you are now getting an image. Restore the line in yellow-h...

    see more »

    I can understand your frustration. Keep in mind that I cannot see what you are doing and have no way of knowing what you have tried in an attempt to debug your latest problem ... you are my eyes and ears. Sounding off does not help.Currently you have progressed from no image to a (slightly) distorted image.Together we isolated your initial lack of an image to a faulty OV7670.I am assuming that you have confirmed that the framegrabber is working by performing the tests that I have previously sent you. I am attaching the three screen shots again. Your framegrabber screen should change from light-gray, to gray, and then to black when you change the Serial.print(data); line in yellow-high light. This test is probably unnecessary as you are now getting an image. Restore the line in yellow-highlight to read Serial.print(data); when you have finished.The number 307201 should be displayed following each test.Assuming that the framegrabber tests okay you need to figure out why your data is getting corrupted.For this project to work you need relatively short leads as we are dealing with microsecond pulse widths. Long leads can distort pulses which could cause pulses to be missed which will result in a distorted image. If you look at my wiring the earth and supply leads are extremely short.

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

    I have not tried an XC4492 so am unable to comment.Big Easy Drivers are specifically designed for the motor configuration in this project. Specifically they feature: - a single direction pin - a single step pin - adjustable current limitUnless the XC4492 has these features I suggest that you replicate my design as Big Easy Drivers are readily available and extremely cheap.Good luck with your project :)

    View Instructable »
  • More Activities