Een eenvoudige inleiding tot Transistors en PWM (Pulsbreedtemodulatie) (2 / 6 stap)

Stap 2: Programmeren voor de parallelle poort


Voor het genereren van het signaal huidige voor dit experiment, ik gebruikte de eenvoudigste ding dat ik al had toegang tot. Sinds ik heb niet elke microcontrollers of andere coole apparaten, toevlucht ik tot mijn oude laptop LPT-poort. Als u gebruikmaakt van Windows u kunt programma's die zijn ontworpen om flash LED's aangesloten op de LPT-poort. Ik wilde echter dat een beetje meer controle, dus schreef ik een klein programma in C++. Im ' lopende Ubuntu Linux 9.04 voort mijn laptop. Windows heeft een vervelende beperking dat verhindert dat programma's rechtstreeks via de oude poorten (LPT en serieel) en moetend stuurprogramma's gebruiken om rond het te krijgen is verwarrend en vervelend, dus ik Linux gebruikte, waar het is gemakkelijk om toegang tot de LPT-poort hebt u root-toegang.

De input- en output functies zijn in een koptekst genaamd sys/io.h (sommige sites zeggen asm/io.h, dit is verouderd en werkt niet in 9.04). De functie ioperm() geeft u toegang tot de LPT-poort en de outb() functie uitgangen binaire op de poort. Het basisadres voor de poort 0x378 en we gaan al de uitgangen samen bepalen, zo schrijven een 255 aan op de poort draait op alle 8 output pinnen, het schrijven van dat een 0 schakelt ze allemaal uit. Andere combinaties betrekken het getal converteren naar een binair getal die niet zal worden beschreven in dit Instructable.

Hier is een steekproefprogramma dat zal de signaallijnen inschakelen voor 10 seconden en vervolgens zwenking zij vandoor. Compileren met g ++ in de vorm "g ++ lptfan.cpp -o lptfan.o" vervangen door lptfan wat u het opslaan als.

LPT-gecontroleerde fan

#include
#include

#define baseren 0x378

met behulp van namespace std;

int main()
{
ioperm(base,1,1);
outb(255,base);
Sleep(10);
outb(0,base);
keren 0;
}

Gerelateerde Artikelen

Digitale Jewelry Design: Een modieuze Inleiding tot uitvinder

Digitale Jewelry Design: Een modieuze Inleiding tot uitvinder

een fatsoenlijke meerderheid van de mensen op deze planeet hebben, op een punt of een ander, een juwelier bij het nastreven van een soort accessoire ingevoerd, zij het voor onszelf, of dat speciaal iemand. Hoewel detailhandelaren vaak een brede selec
Naaien of Serge een eenvoudige markt Tote

Naaien of Serge een eenvoudige markt Tote

zoals ons bewustzijn van de impact van plastic draagtassen op onze omgeving toeneemt, zo heeft de populariteit van herbruikbare zakken. De doek markt Tote is een geweldige optie als u zou willen maken van uw eigen--het is heel gemakkelijk om te bouwe
Een zachte inleiding tot de Arduino voor Scratch gebruikers

Een zachte inleiding tot de Arduino voor Scratch gebruikers

er zijn veel mensen die zijn zeer comfortabel met de programmeeromgeving Scratch maar wil proberen iets met Arduino te knipperen lichten, zin knoppen, servo's draaien of wat dan ook. Kunnen zij de programmeeromgeving van C vinden in de Arduino IDE -
DIY Android bal Maze - een inleiding tot de Androïde ADK

DIY Android bal Maze - een inleiding tot de Androïde ADK

InleidingAls je dit artikel leest bent u waarschijnlijk net als ik: ik doorlopen fasen waar ik zo verdiept in een project (die de meeste anderen zouden zien als triviaal), zo gefocust op het doel dat slapen en voedsel zijn afterthoughts, heb ik mijn
Inleiding tot de Microcontroller Debugging (en een Pomodoro-Timer)

Inleiding tot de Microcontroller Debugging (en een Pomodoro-Timer)

Hallo Hack-A-Day en gevaarlijke Prototypes lezers!  Please vote voor me in de Sparkfun uC wedstrijd!  (Als u voor me stemmen kunt u nog steeds stemmen voor andere projecten ook)  De stemming knop is net links van hier... daar ga je... dichter... dich
Lasersnijden voor Absolute Beginners: aangepaste Laser-gesneden hanger met behulp van de magie van het INTERNET (of: een zeer elementaire inleiding tot Adobe Illustrator)

Lasersnijden voor Absolute Beginners: aangepaste Laser-gesneden hanger met behulp van de magie van het INTERNET (of: een zeer elementaire inleiding tot Adobe Illustrator)

heb je ooit wilde een van deze fancy laser gesneden uit kettingen, maar u niet de eigenaar van een laser cutter of weten hoe ontwerpsoftware gebruiken?  Dit is uw gelukkige dag, mijn vriend.  Ik ga je leren alles wat die u moet weten om dit gebeuren,
Arduino kookwekker met een inleiding tot de timer interrupts

Arduino kookwekker met een inleiding tot de timer interrupts

Welkom bij mijn eerste instructable,Heb ik besloten om een vrij eenvoudig project de instructable wereld te betreden te maken. Dit project is over het maken van een eenvoudige kookwekker met een Arduino Uno. Dus zal ik een kleine introductie de 2.2"
12V-180kV: een batterij aangedreven Marx-Generator (en inleiding tot de elektronica)

12V-180kV: een batterij aangedreven Marx-Generator (en inleiding tot de elektronica)

Als je dit Instructable leest, één ding is waarschijnlijk waar: u geïnteresseerd bent in hoogspanning! Zo ja, bent u bij ons aan het juiste adres; Marx generatoren kan voldoen aan uw dorst voor sparks, pony, en sensatie. Ik maakte deze Marx-Generator
Een inleiding tot hele tarwe taart korsten

Een inleiding tot hele tarwe taart korsten

als je één van vele mensen die graag 'gezond' of voeding voedingsmiddelen, u zou kunnen hebben geprobeerd taart korsten met volkoren tarwebloem voor gebak maken. Het is een lastige en vaak frustrerend inspanning als u vervangen door volkoren gebak in
Maken van een eenvoudig Operating System

Maken van een eenvoudig Operating System

Ooit wilde maken van een besturingssysteem? Ooit afgenomen om te weten hoe de opdrachtregel besturingssystemen werken? Alles is hier!Dus we make a basic Operating System in C#, maak je geen zorgen, als u weet zelfs sommige basis van c++ of java, zult
Inleiding tot LED Strips

Inleiding tot LED Strips

LED strips zijn een zeer leuke en effectieve manier om veel van de gloed en kleur aan een project. In dit Instructable leert u over de basissoorten strips en hoe ze tot de Intel Edison met Arduino breakout board vasthaken. Deze schakelingen omvatten
Eenvoudige Buck LED Driver met PWM Input

Eenvoudige Buck LED Driver met PWM Input

hoogvermogen LEDs over 1W zijn nu vrij goedkoop. Ik weet zeker dat velen van u zijn LEDs op te nemen als lichtbronnen in uw projecten.Maar ik realiseer me dat het vinden en configureren van de voeding is nog niet zo eenvoudig als het kan worden; verk
Een eenvoudige hydrocultuur systeem met MediaTek LinkIt™ een

Een eenvoudige hydrocultuur systeem met MediaTek LinkIt™ een

Vandaag willen we een project op basis van het nieuwe bestuur Mediatek Linkit één beschrijven. Met dit board willen we een eenvoudig hydrocultuur systeem die kan realiseren:1) het maken van hydrocultuur voedingsstof oplossing:Dit zal worden gemaakt m
Maken van een eenvoudige knop Wireless

Maken van een eenvoudige knop Wireless

Ah, de alomtegenwoordige Staples "Easy Button."  Er zijn andere grote-dome-knoppen, maar de nietjes knop heeft het onderscheid van het niet nodig een panel te worden gemonteerd.  Het heeft gewoon een mooie platte voet.  Dus waarom niet vrij het