2009-03-14 8 views
3

Je veux allumer/éteindre les LED sans microcontrôleur. Je cherche à contrôler les LED en écrivant un programme C++. mais le problème im ayant est de les accrocher est-il un moyen gratuit de faire !!!! J'utilise Windows XP si cela est pertinent.Comment brancher des lumières LED en C++ sans microcontrôleur?

J'ai des LED mais je n'ai pas de microcontrôleur.

Eh bien, j'ai trouvé quelques fonctions mais leurs en-têtes ne fonctionnent pas, alors quelqu'un peut-il m'aider à trouver des en-têtes?

Voici un exemple de ce dont je parle:

poke(0x0000,0x0417,16); 
gotoxy(1,1); 
printf("Num Lock LED is now on r"); 
delay(10); 

aussi, que quelqu'un a un « noyau de programmation » livre électronique?

J'ai également besoin d'un schéma de circuit pour montrer où raccorder les LEDs.

+0

Avez-vous des LED en tête? – dmckee

+0

Tenté de nettoyer la question, j'espère que je n'ai perdu aucune information en le faisant. – mmcdole

+0

Difficile à dire –

Répondre

5

Cela dépend complètement du matériel dont vous disposez, ce qui détermine le pilote dont vous avez besoin. À l'époque, j'ai eu un simple conduit et le mettre dans le port LPT de l'imprimante. Ensuite, je pourrais écrire un octet à l'adresse 0x0378h et les bits de celui-ci ont déterminé si une broche avait de la puissance ou non (en utilisant Linux). Pour les fenêtres, vous avez besoin d'un pilote qui vous permet d'accéder directement au port lpt. Je l'ai fait avec un ami à l'époque, et cela a bien fonctionné (nous avons construit un feu de circulation :)) Lire this page (cliquez sur Port parallèle sur la gauche.Pour une raison quelconque, je ne peux pas lier directement) pour plus de détails sur Windows . Et lire man outb sur Linux. Maintenant, ce port est vraiment vieux. Mais si vous avez une machine qui en a toujours une, je pense que c'est très amusant de jouer avec.

De toute façon, j'ai une boîte de fritz qui a une LED propre. On peut s'y connecter via telnet puis écrire quelque chose (j'ai oublié les numéros) dans /proc/led iirc. Un pilote de noyau interprète alors le numéro et fait clignoter la bonne LED. C'est une autre façon de le faire :)

0

Eh bien, vous voulez chercher un kit de développement en microélectronique. Je vais faire un plat et dire que vous n'êtes pas familier avec l'électronique?

Les microcontrôleurs n'ont rien à craindre et si vous obtenez un joli kit de développement d'Atmel ou de Microchip, le manuel et les gabarits qu'ils vous offrent sont extrêmement simples. Mais vous aurez besoin de QUELQUE sorte de matériel au-delà des LED 12C pour le faire.

Pourriez-vous fournir plus d'informations sur ce que vous voulez faire? Si vous voulez juste chronométrer combien de fois les lumières s'allument et s'éteignent je pourrais vous donner un circuit simple qui est une preuve idiot.

+0

S'il vous plaît faire im looing pour toute source que je peux obtenir en C++ bien sûr, mais commence est la première étape – H4cKL0rD

2

Vous allez devoir nous donner plus de détails. Quel genre d'ordinateur, quel système d'exploitation, etc.

Vous aurez probablement besoin d'au moins acheter des LED et un peu de choses.

4

Jouer avec des microcontrôleurs est amusant. Le arduino est une carte open source avec de bons outils de développement. Certaines cartes like this one commencent à environ 15 $

0

Sous Windows, basculera les lumières de votre clavier:

(par exemple la lumière de verrouillage du défilement.)

INPUT input[2]; 
ZeroMemory(input, sizeof(input));   
input[0].type = INPUT_KEYBOARD; 
input[0].ki.wVk = VK_SCROLL; 
input[1].type = INPUT_KEYBOARD; 
input[1].ki.wVk = VK_SCROLL; 
input[1].ki.dwFlags = KEYEVENTF_KEYUP; 
SendInput(2, input, sizeof(INPUT)); 
+0

quelle langue est-ce? – H4cKL0rD

+0

C ................ –

+0

k ok thx pour dire – H4cKL0rD

0

C'est un travail assez simple. Si votre machine dispose d'un port standard Parallel (port d'imprimante à 25 broches), alors c'est bon, sinon vous pouvez acheter n'importe quel formulaire "Convertisseur USB vers Parallèle".

une fois qu'il fonctionne sur votre machine alors. utiliser ce qui suit API standard pour contrôler les broches de données varioud du port parallèle: getport() setPort()

Que tous ...

0
poke(1.1x00021,1.1x0417,16); 
gotoxy(12,12); 
printf("Num Lock LED is now on r"); 
Sleep(100); 

Je fais du changement ici, je pense qu'il serait travaillé si essayer .

+0

Pourriez-vous peut-être élaborer en expliquant pourquoi vos modifications fonctionneraient ? – Amber

Questions connexes