1
Vos projets / Re : Barrette éclairage détecte mouvement
« le: mai 10, 2020, 03:46:44 pm »
Merci, je vais creuser la piste attiny85 + capteur de mouvement.
Le forum LOCODUINO est consacré aux discussions ayant trait à l'utilisation de l'Arduino dans les automatismes et les animations pour le train miniature. Nous avons eu récemment quelques inscriptions de personnes ayant des projets plus généraux mais surtout inapplicables au train miniature. Si votre projet ou vos questions ne concernent pas le modélisme ferroviaire, ne vous inscrivez pas, vous perdriez votre temps et nous aussi.
Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.
#include <Accessories.h>
#include <Commanders.h>
const int buttonPin = 10; // broche du poussoir
const int led_verte = 7; //led verte
ButtonsCommanderPush poussoir; // Le bouton
ButtonsCommanderPush dcc15; //la commande dcc accessoire 15
AccessoryLight light; // La DEL
PortOnePin port; // La connexion entre l'Arduino et la DEL.
void setup()
{
Commanders::begin();
Accessories::begin();
// Activation de la reception de messages DCC
// Le dernier argument à true, c'est pour voir la DEL LED_BUILTIN clignoter si un signal DCC est présent.
// Mieux vaut remettre à false une fois le programme mis au point.
Commanders::begin (LED_BUILTIN);
DccCommander.begin(0x00, 0x00, 0, true);
// port.begin(LED_BUILTIN, DIGITAL); // broche 13 sur un Uno, broche digitale.
port.begin(led_verte, DIGITAL);
light.begin(&port, 100); // On branche la DEL sur le port, et on lui assigne le No 100
poussoir.begin(100, buttonPin); // l'identifiant du bouton à 100 indique que c'est l'accessoire '100' qui sera affecté si le bouton est pressé.
dcc15.begin(100, DCCINT(15, 1)); // DCC 15 et la led sur la broche 7 (accessoire '100')
}
void loop()
{
unsigned long id = Commanders::loop();
if (id != UNDEFINED_ID)
{
// Renvoie l'événement reçu de Commanders, vers les accessoires...
Accessories::RaiseEvent(id, (ACCESSORIES_EVENT_TYPE) Commanders::GetLastEventType(), Commanders::GetLastEventData());
}
Accessories::loop();
}