Bonjour, j'espere que je suis sur le bon forum.
je suis actuellement sur un projet electronique concernant la programmation arduino .
j'ai pu faire un programme qui avait pour but d'allumer une LED branchée sur la broche 9 dont L'intensité lumineuse sera proportionnelle à la luminosité captée par la photorésistance branchée sur la broche A0.
const int analogInPin = A0;
const int analogOutPin = 9;
// Valeur lue sur la photorésistance
int sensorValue = 0;
// Valeur envoyée à la LED
int outputValue = 0;
void setup() {
Serial.begin(9600);
pinMode(analogOutPin, OUTPUT);
pinMode(analogInPin, INPUT);
}
void loop() {
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023, 0, 255);
analogWrite(analogOutPin, outputValue);
// envoie tout ça vers l'ordinateur
Serial.print("sensor = " );
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
}
ce programme marche tres bien mais mon probleme est que je veux utiliser deux LED rouge et vert au lieu d'une seule LED.
dont le fonctionemment searit :
lorsque que nous somme au jour la led rouge d'allume pendant 20 s et la led verte est eteinte ensuite lorsque nous passons a la nuit la led verte s'allume 5s et la led rouge eteinte un truc de cet genre .
Sur quel critère décides tu que c'est le jour ou la nuit ?
Soit c'est sur l'heure et il te faudrait une horloge, penses à une DS3231 et évite la Ds1307 qui dérive trop.
Soit c'est sur la luminosité mais comment vas tu distinguer la tombée de la nuit par ciel clair et le jour avec un ciel d'orage ?
à J-M-L
Excuse moi mais je pense qu'avant de commencer à coder il faut bien poser le sujet sur le papier.
Et je pense qu'akib n'a pas terminé cette phase.
à akib
Il faut définir les critères et choisir le matériel qui permette de les satisfaire.
Il faut écrire en français ce que tu veux faire. Pour chaque action il faut bien noter les conditions à remplir.
Par exemple si tu utilise la variable "jour"
Jour = 1 --> on est dans la journée
Jour = 0 --> on est la nuit
Si jour = 1 alors couleur_led = vert
Sinon couleur_led = rouge
Ce qui pourra se traduire par :
Si tu es clair sur le papier le programme sera simple à écrire. Ce sera principalement des variables à affecter, des boucles if, for ou while.
Dernier point : ne teste qu'une nouvelle action à la fois.
Si tu veux tester du matériel ou des possibilités du C que tu as découvert dans un tuto, écris un petit programme par test et ne le transfère dans ton "vrai" programme que quand tout fonctionne.
Tu ne fera que perdre du temps à vouloir en gagner en travaillant directement sur le "gros" programme.
@68tjs - Oui - ma question était à but exploratoire - voir s'il avait déjà réfléchi ce que jour et nuit veulent dire par exemple ou comment gérer le temps
(Sinon n'oubliez pas de passer à LOW l'autre LED dans votre code d'exemple)
j'ai une question un epu biazarre est-il possible de brancher deux LED sur une meme broche du genre
const int LED1 =2;
const int LED2 = 2;
si oui
et est que l'action sur un provoque la meme action sur l'autre.
L'intérêt est que j'utilise des LED pour faire fonctionner un carrefour à feux tricolores, le carrefour est composé de 4 voies et la raison pour laquelle je veux mettre deux LED sur une même broche est que lorsqu'une voie est au rouge il n'a une qui est rouge .. Donc je me suis demandé pourquoi ne pas les lier ,
Et aussi si je veux utiliser chaque LED pour une broche j'en aurais besoin de 12 et comme j'ai aussi des Boutons poussoirs pourtant mon Arduino n'en possède pas plus ..
Rien ne t'empêche de connecter 2 leds sur la même broche (si ce n'est le courant limité que peut fournir la pin), ce n'est pas la peine de définir deux fois la pin.
kamill:
Rien ne t'empêche de connecter 2 leds sur la même broche (si ce n'est le courant limité que peut fournir la pin), ce n'est pas la peine de définir deux fois la pin.
c'est pas la peine de définir deux fois là pin , je ne comprend pas trop !
kamill:
Ca c'est définir deux fois la même pin
LED2 ne sert à rien
Si je comprend bien je défini une seule LED dans le code mais dans la pratique je connecte l'autre LED sur la même broche que celle défini dans le code , c'est ça ?
Le code c'est le code - il n'a rien à voir avec les objets physiques
Vous dites à la broche 2 de passer à 5V et d'envoyer du courant elle le fait et envoie du jus à tout ce qui est connecté physiquement sur cette "prise électrique" - l'arduino ne sait pas si c'est une led un moteur ou une banane qui est connecté derrière... le nom de la variable pourrait être différent que ça marcherait pareil
Autre façon de voir - quand vous appuyez sur un interrupteur chez vous, l'interrupteur ne sait pas ce qui est connecté au bout des fils, il sait juste qu'il faut envoyer le 220, s'il y a deux lampes les 2 s'allument, s'il n'y en a qu'une alors une seule s'allume - l'interrupteur s'en fiche ...
J-M-L:
Le code c'est le code - il n'a rien à voir avec les objets physiques
Vous dites à la broche 2 de passer à 5V et d'envoyer du courant elle le fait et envoie du jus à tout ce qui est connecté physiquement sur cette "prise électrique" - l'arduino ne sait pas si c'est une led un moteur ou une banane qui est connecté derrière... le nom de la variable pourrait être différent que ça marcherait pareil
Autre façon de voir - quand vous appuyez sur un interrupteur chez vous, l'interrupteur ne sait pas ce qui est connecté au bout des fils, il sait juste qu'il faut envoyer le 220, s'il y a deux lampes les 2 s'allument, s'il n'y en a qu'une alors une seule s'allume - l'interrupteur s'en fiche ...
C'est pareil pour votre arduino
Ok?
Mais comment dire à broche 2 ce quel doit faire ? Je comprend bien ce que vous dites , mais je ne vois pas comment m'y prendre