J’aurai besoins de votre aide. Je n'ai aucune connaissance en programmation et j'ai fait des recherches sur internet qui n'ont pas forcement donné ce que je recherche
J'aurai besoins du montage suivant (photo ci jointe) de manière a activer la sortie 1 si le BP est activé et a la désactivé une fois relâché. (Montage astable il me semble)
Idem pour la sortie 2
La seule condition c’est que l’on ne doit pas pouvoir activer la sortie 1 si la 2 est activé et inversement sinon va y avoir des problèmes : /
J’ai essayé de bricoler quelque chose avec ardu block mais rien n'en est ressorti.
Pour l'info je cherche à remplacer la télécommande que j'ai fabriqué pour mon portail qui pour le moment se base sur un PIC 16F628 et un récepteur 433mhz médiocre en terme de performance.
dans son exemple on voit bien qu'il envoie des infos d'une arduino a l'autre
il me faudrai la meme chose mais a la place du joystick deux boutons poussoir (BP1 et BP2)
et que sur l'autre arduino j'ai par exemple la sortie 4 qui s'active a la reception du BP1 et la sortie 5 a la reception du BP2 avec une temporisation de 4secondes(si possible l'une ou l'autre mais pas les deux en meme temps)
j'ai deja fabriqué ce montage avec un pic et du 433mhz mais ca reste peut fiable d'ou mon interet pour du 2.4 (mes sensors domotique marchent a merveille avec ca)
voila j'ai essayer avec deux arduinos et ca fonctionne
un petit soucis de temp en temp la sortie reste activé
est ce que tu saurai modifier ca pour que la sortie reste active 3 secondes et se desactive avec interdiction d'allumage si la sortie 1 est active etc?
//Programa : Teste NRF24L01 - Receptor - Led
//Autor : Adilson Thomsen
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
//Armazena os dados recebidos
int recebidos[1];
//Inicializa a placa nos pinos 9 (CE) e 10 (CS) do Arduino
RF24 radio(9,10);
//Define o endereco para comunicacao entre os modulos
const uint64_t pipe = 0xE14BC8F482LL;
//Define os pinos dos leds
int LED1 = 5;
int LED2 = 3;
void setup()
{
//Define os pinos dos leds como saida
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
//Inicializa a serial
Serial.begin(57600);
//Inicializa a comunicacao
radio.begin();
//Entra em modo de recepcao
radio.openReadingPipe(1,pipe);
radio.startListening();
}
void loop()
{
//Verifica se ha sinal de radio
if (radio.available())
{
bool done = false;
while (!done)
{
done = radio.read(recebidos, 1);
Serial.print("Dados recebidos : ");
Serial.println(recebidos[0]);
//Se recebeu o numero 1, acende o LED1
if (recebidos[0] == 1)
{
delay(10);
digitalWrite(LED1, HIGH);
delay(400);
digitalWrite(LED1, LOW);
delay(400);
}
else
{
digitalWrite(LED1, LOW);
}
//Se recebeu o numero 2, acende o LED2
if (recebidos[0] == 2)
{
delay(10);
digitalWrite(LED2, HIGH);
delay(400);
digitalWrite(LED2, LOW);
delay(400);
}
else
{
digitalWrite(LED2, LOW);
}
delay(100);
}
}
else
{
Serial.println("Aguardando dados...");
}
}
j'ai essayé ca avec le peu de connaissance que j'ai mais maintenant quand j'actionne une sortie ca clignote
par contre je n'ai jamais les deux sortie en meme temp
je ne voit pas comment modifier a ma guise :/[/code]
{
delay(10);
digitalWrite(LED1, HIGH);
delay(400); <=======met 3000 pour un delay de 3sec
digitalWrite(LED1, LOW); // ca clignote a cause de ça, tant que tu appuis ça dit, allume led 1 attend
400ms et eteind la led attend 400ms, comme tu reste appuyé il recoit le
signal a 1 et ca recommence,
delay(400);
}
else
{
digitalWrite(LED1, LOW);
}
//Se recebeu o numero 2, acende o LED2
if (recebidos[0] == 2)
{
j'ai essayé ca avec le peu de connaissance que j'ai mais maintenant quand j'actionne une sortie ca clignote
par contre je n'ai jamais les deux sortie en meme temp
je ne voit pas comment modifier a ma guise :/[/code]
tant mieux si tu n'a pas les deux sorties en même temps le signal dois été envoyé un par un, et pas en même temps du coup
qu'entend tu par
"obligation d'attendre que le bouton est ete relaché pour recommencer un cycle"
comme je t'ai dit je débute aussi donc dessolé de pas pouvoir t'aider plus .
//si le signal est le 2, allumage Signal ferme
if (recepteur[0] == 2)
{
delay(15);
digitalWrite(signalferme, HIGH);
delay(3000);
digitalWrite(signalferme, LOW);
delay(5000);
digitalWrite(signalouvert, HIGH);
delay(3000);
digitalWrite(signalouvert, LOW);
}
delay(1500);
}
}
else
{
Serial.println("attente signal...");
}
}
j'ai ecrit ca et j'ai bien l'alternance des deux led (led 1 allumé pendant 3 secondes puis eteint pendant 5 sec puis led2 allumé pendant 3 sec
j'ai le bouton de la telecommande qui est relaché depuis un moment mais la boucle continu encore et encore jusqu'a a un moment ou elle s'arrete toute seule (la led TX de l'arduino se rallume)