When I heard about Arduino the first time, I was not very impressed, many of the examples were about turning on and blinking a LED, I did not find very interesting and quit without understanding what was realy going on. But then I fell on Arduino Dishwasher hack and I started understanding the real possibilities af a circuit like that. "Programming" with Arduino IDE is not very hard once you understand the basic structure, and using copy and paste I was able to create a new code combining differents parts code. I installed Atmel Studio, but I was not able to understand the basic grammar for the moment, and combining differents codes was not successfull.
The 650 pages of the Atmel ATmega328 are somewhat intimidating ... my needs were around the information about the voltage needed to operate the processor but also voltage of the logic ports. I designed my Fabduino with the idea to have the possibility to drive any shield, so like the original Arduino I thought it could be a good idea to have both 3.3v and 5v available, protecting the source line with diodes they told me could be a good idea ... my knowledge is weak ... but having received an answer to my request of help, I understood the difference between the general purpose diodes, Schottky an Zener. To protect the source line the right diode is the schottky because it has a very small voltage drop ( tipical ~.1V compared to ~.6V of bipolar diodes). A very interessing data is that the minimum voltage supply is proportional to the operating frequency "Speed Grade:0 - 4MHz@1.8 - 5.5V, 0 - 10MHz@2.7 - 5.5.V, 0 - 20MHz @ 4.5 - 5.5V". At page 160 I founded useful information and explanations on SPI interface.
My first code is made on Arduino IDE, my programming skill are slowly growing I start better understendig some part of the code I was only copying. My code is a bit ambitious for my skill: I want to use an LCD display with a menu to choose different functions, set some input value with the use of an encoder (well ... 4 bottons for the moment) execute a command and make a stepper motor move the distance I choosed. I very happy for the general results, although small part of the code has to be tuned.
Rotala Code.zip (WIP)
Rotala Code02.zip (new)