Difference between revisions of "Super Mario on floppy-drive"
Eagle00789 (talk | contribs) (→Basic Code) |
Eagle00789 (talk | contribs) (Nieuwe code die beter werkt voor de reset :D) |
||
Line 15: | Line 15: | ||
'''NO MARIO TUNE YET''' | '''NO MARIO TUNE YET''' | ||
+ | const byte FIRST_PIN = 2; | ||
+ | const byte PIN_MAX = 3; | ||
+ | |||
void setup() | void setup() | ||
{ | { | ||
Line 20: | Line 23: | ||
pinMode(2, OUTPUT); | pinMode(2, OUTPUT); | ||
pinMode(3, OUTPUT); | pinMode(3, OUTPUT); | ||
+ | pinMode(13, HIGH); | ||
} | } | ||
Line 25: | Line 29: | ||
{ | { | ||
reset(); | reset(); | ||
− | digitalWrite( | + | for (byte s=0;s<180;s++){ // For max drive's position |
− | + | for (byte p=FIRST_PIN;p<=PIN_MAX;p+=2){ | |
− | + | digitalWrite(p,HIGH); | |
+ | digitalWrite(p,LOW); | ||
+ | } | ||
+ | delay(2); | ||
+ | } | ||
} | } | ||
void reset() | void reset() | ||
{ | { | ||
− | + | for (byte s=0;s<80;s++){ // For max drive's position | |
− | + | for (byte p=FIRST_PIN;p<=PIN_MAX;p+=2){ | |
− | + | digitalWrite(p+1,HIGH); // Go in reverse | |
− | + | digitalWrite(p,HIGH); | |
− | + | digitalWrite(p,LOW); | |
− | + | digitalWrite(p+1,LOW); | |
− | + | } | |
− | + | delay(5); | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } |
Revision as of 21:17, 24 April 2012
Interfacing the Floppy Drive with Arduino
Connect the 2nd header of the floppy drive cable to connect to the floppy drive itself.
Then, on the end that you normaly connect to your motherboard, find pin 1 (see the red wire)
Connect pin 11 & 12 together.
Connect pins 17 & 19 to ground.
Connect pin 18 to digital 2 on the arduino
Connect pin 20 to digital 3 on the arduino
Basic Code
NO MARIO TUNE YET
const byte FIRST_PIN = 2; const byte PIN_MAX = 3; void setup() { pinMode(13, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(13, HIGH); } void loop() { reset(); for (byte s=0;s<180;s++){ // For max drive's position for (byte p=FIRST_PIN;p<=PIN_MAX;p+=2){ digitalWrite(p,HIGH); digitalWrite(p,LOW); } delay(2); } } void reset() { for (byte s=0;s<80;s++){ // For max drive's position for (byte p=FIRST_PIN;p<=PIN_MAX;p+=2){ digitalWrite(p+1,HIGH); // Go in reverse digitalWrite(p,HIGH); digitalWrite(p,LOW); digitalWrite(p+1,LOW); } delay(5); } }