Matrisskrivare från en CD/DVD läsare med Arduino (15 / 17 steg)

Steg 15: Programmering Arduino.



Det är nödvändigt burn Arduino bara en gång, eftersom vi använder den seriella porten via USB för att skicka bilderna till Arduino utskrift.

Arduinoen tar emot byte från datorn och kontrollerar om det har att göra en prick eller inte.

Vid varje punkt förskott pennan, tills det får en för att börja en ny rad, när papperet rör sig lite.

Är inte nödvändigt att ladda ner någon extra bibliotek, bara själva koden.

Skrivet av Robson Couto
http://dragaosemchama.com.br/
Augusti 2014.

#define tid 4 / / tid i millisekunder mellan varje motor steg
#define pentime 200 //time av puls i pennan motorn
#define pulltime 6200 //time (i mikrosekunder att tillåta en alrge rad) av pulsen på motorn dra papperet.

#define penPin 4 //pen motor pin
#define paperPin 5 //paper motor pin

#define StepperA1 9 //stepper motor pins
#define StepperA2 10 / /
#define StepperB1 11 / /
#define StepperB2 12 / /

byte data; //byte att ta emot och kontrollera data från datorn
void setup() {
Serial.BEGIN (9600); //Start den seriella porten.

pinMode (StepperA1, OUTPUT); //Stepper motor pins som utgång
pinMode (StepperA2, OUTPUT);
pinMode (StepperB1, OUTPUT);
pinMode (StepperB2, OUTPUT);

pinMode (penPin, produktionen); //Pen motor pin som en utgång
pinMode (paperPin, produktionen); //Paper motor pin som en utgång
Back (80); //makes bilen tillbaka, för att vara säker på att det börjar på början av raden
}

void loop() {
IF(Serial.available()) {//if det är uppgifter om den seriella buffert
While(Serial.available() > 0) {//continues läser värdena på bufferten.
data=Serial.Read();
IF(data==1) {
dot (); //if en en mottogs, gör en prick.
framåt (1), //avances en gång (fyra steg)
}

IF(data==0) {
Forward(1); / / om en nolla var mottagna bara avances.
}
IF(data=='L') {//if en "L" togs emot, ta bort papper att börja en ny rad.
pullPaper (); //call funktionen dra papper.
Back (80); //return bilen.
}
}
}
}
utan laga kraft framåt (int antal) {//forward funktion, kan du välja antalet steg när du ringer funktionen
int jag = 0; //to styra antalet steg
While(i<Number) {
digitalWrite (StepperA1, hög); denna sekvens är en del av den grundläggande algoritm att styra en bipolär stegmotor.
digitalWrite (StepperA2, låg);
digitalWrite (StepperB1, hög);
digitalWrite (StepperB2, låg);
fördröjning (tid); //wait tiden definieras.
digitalWrite (StepperA1, hög);
digitalWrite (StepperA2, låg);
digitalWrite (StepperB1, låg);
digitalWrite (StepperB2, hög);
Delay(Time);
digitalWrite (StepperA1, låg);
digitalWrite (StepperA2, hög);
digitalWrite (StepperB1, låg);
digitalWrite (StepperB2, hög);
Delay(Time);
digitalWrite (StepperA1, låg);
digitalWrite (StepperA2, hög);
digitalWrite (StepperB1, hög);
digitalWrite (StepperB2, låg);
Delay(Time);
i ++;
}
digitalWrite (StepperA1, låg);
digitalWrite (StepperA2, låg);
digitalWrite (StepperB1, låg);
digitalWrite (StepperB2, låg);

}

Annullera back (int antal) {//As funktionen framåt, men gör den omvända sekvensen.
int jag = 0;
While(i<Number) {
digitalWrite (StepperA1, låg);
digitalWrite (StepperA2, hög);
digitalWrite (StepperB1, hög);
digitalWrite (StepperB2, låg);
Delay(Time);

digitalWrite (StepperA1, låg);
digitalWrite (StepperA2, hög);
digitalWrite (StepperB1, låg);
digitalWrite (StepperB2, hög);
Delay(Time);

digitalWrite (StepperA1, hög);
digitalWrite (StepperA2, låg);
digitalWrite (StepperB1, låg);
digitalWrite (StepperB2, hög);
Delay(Time);

digitalWrite (StepperA1, hög);
digitalWrite (StepperA2, låg);
digitalWrite (StepperB1, hög);
digitalWrite (StepperB2, låg);
Delay(Time);

i ++;
}
digitalWrite (StepperA1, låg);
digitalWrite (StepperA2, låg);
digitalWrite (StepperB1, låg);
digitalWrite (StepperB2, låg);

}
void dot(void) {//actives penna motorn för en tid
digitalWrite(penPin,HIGH);
Delay(pentime);
digitalWrite(penPin,LOW);
}

void pen(void) {//this funktioner kan användas om du vill göra linjer i stället för punkter,
digitalWrite(penPin,HIGH); Jag tror att prickarna är cool.
} //
void nopen(void) {/ /
digitalWrite(penPin,LOW); //
} //

void pullPaper(void) {//function att dra papperet
digitalWrite(paperPin,HIGH);
delayMicroseconds(pulltime);
digitalWrite(paperPin,LOW);
}

Se Steg
Relaterade Ämnen

Tankeläsare med Arduino

Hej alla!Detta är min tankeläsare för Arduino.Tankeläsare kan berätta vilken bokstav i alfabetet (ABC) eller som spelar kort du har föreställt med bara några frågor.Det är ett mycket enkelt projekt för församlingen och med några tråd anslutningar men...

Påsar med Ikea tyger

detta är min passion för tyger, färger och väskor, leda = påsar med Ikea tyger, varför inte?...

Göra en bärbara streckkodsläsare med en arduino och en cuecat

runt om vänden av århundradet, det var ett företag vars affärsmodell ingår ger bort gratis streckkodsläsare som emulerar tangentbord. En relativt enkel mod till dessa cuecat skannrar bort krypteringen och gjorde dem lämpliga för skanning av streckkod...

Styra din Tv, Dvd och ljud system med Arduino och Android

Hej alla, detta är min andra instructable och min första på engelska, så, ledsen för misstag.Jag vill dela detta projekt det handlar om hur du kan styra din Tv, DVD och ljudanläggningen med Arduino och en app för Android med app inventor.Om du gillar...

Demontera en CD/DVD läsare och återanvända delar

Hej!Talar om drivrutiner för CD och DVD, är de awesome! Du kan hitta många cool och värdefulla (för en hobbist) saker inuti dem att använda i dina projekt. Det finns så många saker som du kan göra med en eller flera av dessa drivrutiner att du kommer...

Blinka en LED från en webbläsare med hjälp av visuell programmering

Lär dig att blinka och leds från en webbläsare. Du behöver:* en Raspberry Pi* en skärbräda* hoppare ledningar* LED...

C# webbläsare med Twist!

Detta är en webbläsare som körs på skrivbordet och är en webbläsare som kommer att ersätta Google Chrome och Firefox!(det mer än sannolikt brukar men det kommer att bli din egen och du kan berätta för människor du gjorde det)Vridningen är valfritt om...

Att göra egen gåva påsar med en Laser

det började med de gåva påsarna. De var billiga, de köptes för ett bröllop, de användes inte. Som lämnade mig i besittning av papperspåsar som jag kunde använda för något och hittat nya färdigheter med en laser etsare. Verkade det naturligt att tillä...

Trådlös fjärrutlösare kamera Arduino

Wired kamera utlösare arbetar normalt genom att fungera som en switch. Kameran kretsar fungerar på 3.7V (cell som Li-Ion, tror jag) så kan du antingen fylla en fysisk omkopplare för att utlösa kameran slutaren, eller du kan använda 3.7 volt över de t...

Använda en streckkodsläsare med TimeSquAir

Varför inte använda en Barecode läsare att lägga till produkter på din inköpslista?Steg 1: Skaffa en streckkodsläsareDu kan få en på amazon, i denna handledning har den «Inateck 2.4 GHz Wireless USB automatisk Barcode Scanner Handheld streckkodsläsar...

Graham kracker smörgåsar med Orange grädde fyllning

när det gäller snacks, enda viktigare än hur lätt det är att göra är hur gott det smakar. Här är en vinnare i båda fall-det bara tar några minuter att göra och det är så dekadenta så det är enkelt.Steg 1: ingredienser Allt du behöver för denna söt be...

Hur rippa DVD-skivor gratis med VLC

som alla jag få stressad på grund av min oförmåga att spela filmer jag köpt som en DVD på bärbara mediaspelare, datorer utan DVD-enheter, etc. Jag är en öppen källkod muttern så jag inte vill betala för $50 programvara som inte fungerar så bra. Lyckl...

Para ihop en Motorola Bluetooth streckkodsläsare med en iPad eller iPhone

Detta är en generell guide på parning en handdator Motorola Bluetooth Barcode Scanner med en iPad och använda det för keyboad input. Med denna typ av skanner du inte behöver använda en app eller begränsa användningen av skannern till stöds apps, fung...

RFID-läsare med Servo

I denna anvisning jag kommer bara att berätta om att göra en enkel krets med 2 lysdioder, ett servo, en RFID-läsare och en arduino uno.Du behöver:-2 ledde (2 olika collors)-en servomotor-en RFID-läsare och nyckel-en arduino uno-några sladdar-2 x 10ko...

AVR/Arduino RFID-läsare med UART kod i C

RFID är vurm, överallt - från inventeringssystem badge ID-system. Om du någonsin varit på ett varuhus och gick genom dessa metall-detektor-ser saker på ingång/utgång points, då du har sett RFID.Det finns flera ställen att hitta bra information om hur...

8 x 8 röda matrisskrivare med Arduino

Du behöver LedControl.h för Arduino IDE.Steg 1: Vad du behöver Arduino eller Arduino klon8 x 8 matrisskrivare med förare ombord5 manliga till kvinnliga hoppare ledningarOm du får det här eBay dess om $10 AU.Steg 2: ledningarVCC går in i 5v på Arduino...

Konvertera DVD och video med handbromsen

någonsin vilja den filmen du har på din iPod eller på datorn? Eller vill du konvertera video du redan har eller sätta den till din iPod också? Sedan kommer jag visa dig hur du använder programmet Handbrake.Steg 1: Få programvara Gå till http://handbr...

Hur rippa DVD till MP4 med snabb hastighet?

Har du en samling av DVD-filmer och vill extrahera ett kapitel från en DVD till en videofil i valda format, som kan spelas av bärbara enheter och mer? Det finns många DVD Rippers online, kanske några av dem är komplicerade att använda, eller ta dig e...

Kopiera DVD till DVD Full skiva med DVDFab

DVDFab DVD Copy är en snabb och enkel kopia läge för du till backningen dvd till dvd. Du kan kopiera alla spelbara innehåll av din original skiva med bara ett klick eller två. För mer info på:http://www.youtube.com/watch?v=NUYYZx-pZ7I&playnext=1&l...