i did lol on whole thread how the guys grew up the code and made it far more complex
with weird function names for motor movement as well 😀
they forgot that Arduinos have only 2KB SRAM(most of units sold) for whole project
so we cannot spent huge part of it to make work single part 😀
the idea of the original code is far better than the complex mess from the coolguys..
its not generally wrong to use digitalWrite and its not necessary to use direct port manipulation like tha guys recommended because of the sequential type of the movement..
main problem of the original code is that there is attempt to be correct and make steps somewhat aligned to time with 4x digitalWrite in a row so it delays the desired change of state by variable but repeating amount of time 😀
correct is that there is just one change per the substep and make timing between these same way as datasheet says..
to be fine we must also introduce possibility to add sort of delay between the steps with all coils off as the original code makes stepper pretty hot after a while of high speed..
we should also care of full step and wave drive techniques so we can reach higher speeds than with halfsteps in the original code.. meh..
also i did get from 190 bytes of precious SRAM usage(serialPrint and so on) of the original code(not to mention the coolguys memory bombz lol) to 9 bytes (!) least for working code and 11 bytes in my „light“ version with no precise timing, just the steps and sort of „speed“ (aka delay) 😀
with timing mem usage is somewhat higher because of storing time variables as float type..
this can be partially lowered as we can fiddle with memory storing.. 😀
here is version 0.9.0 beta for testing.. eats 11Bytes of SRAM 😀
+ half steps both directions
+++ wave drive!!!
+ ability to set speed
+ full torque for testing
* be cautious with the testing full torque halfstep function, theres need to use stepper_sleep() func after >ending< sequence of these or even single step to turn coils off -> less heat.. its not used in demo code in loop() section. you have to add call to that func to test.. also its good to call stepper_sleep() before to ensure that all OUTs are LOW..
Friend who has a shop called me that his computer used as cash register has a black screen.. a PSU in oldish office computer have failed and been replaced by proper unit 😀
Worse thing is that i’m not able to fix the original one..
update 2/2017: the duct-taped PSU is still on top of the machine..
I was quite sure that this wont work, but we have been forced to try.. Not that much.. 😛
Normally the LAN is got over FTP and UTP cables, aka the twisted ones.. Yeah, the twisted wires.. Or even twisted pairs of twisted wires.. Cat6e has 6 twists per inch..
But using old 12 x 1.5mm² AC mains cable with no twists which is 20 to 30 meters long, is under ground and dated to late 70’s or 80’s must fail..or..?
why this could work?
1st: i used only 10Mb/s mode
2nd: we were totally lucky
update 2/2017: i will be finishing this project soon!
Thank you for your download, we hope you are satisfied with our software.