Voir les contributions

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.


Sujets - Dominique

Pages: 1 2 [3] 4 5 ... 7
32
Vos projets / TFID/NFC
« le: août 01, 2020, 10:00:36 pm »
J'ouvre ce sujet pour discuter de vos réalisations autour de l'article "Identifier et localiser vos trains avec le RFID/NFC et un bus CAN" :
 https://www.locoduino.org/spip.php?article271

33
Vie du site rédactionnel et du forum / Humour Locoduino
« le: mai 11, 2020, 08:34:51 am »
J'inaugure ce sujet très sensible avec une image qui m'a bien fait rire en pensant aux débutants Arduino  ;D



J'en profite pour préciser que nous pourrons supprimer des contributions si nous le jugeons nécessaire.


34
Bus CAN / Bibliothèque ACAN et détecteurs RFID en mode SPI
« le: avril 19, 2020, 07:06:55 pm »
Je viens de tester 2 cartes RC522 connectées sur un même Nano équipé de l'interface Can (une carte 8 servos de Jean-Luc).



Ces cartes s'interfacent sur le bus SPI, donc il est possible d'en faire coexister plusieurs, avec l'interface Can (SPI aussi), pourvu que le Nano dispose de broches pour les Chip Select.

Le sketch ReadUidMultiReader , un des exemples de la bibliothèque MFRC522, fonctionne parfaitement

Reader 0: Firmware Version: 0x92 = v2.0
Reader 1: Firmware Version: 0x92 = v2.0
init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 1: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
Reader 0: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C


Et je confirme à l'instant la compatibilité avec la bibliothèque ACAN selon l'article La bibliothèque ACAN (1).

RC522 init OK
CAN init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 04 ED 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 16657409, longueur : 3
recu : 16591873, longueur : 3
recu : 16526337, longueur : 3
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB

Le programme est très simple :

include <SPI.h>
#include <mcp_can.h>
#include <MFRC522.h>
#include <ACAN2515Settings.h> /* Pour les reglages  */
#include <ACAN2515.h>         /* Pour le controleur */
#include <CANMessage.h>       /* Pour les messages  */


#define SS_1_PIN 8
#define SS_2_PIN 7
#define RST_PIN 9
#define NR_OF_READERS   2
byte ssPins[] = {SS_1_PIN, SS_2_PIN};

MFRC522 mfrc522[NR_OF_READERS];   // Create MFRC522 instances.
MFRC522::MIFARE_Key key1;
MFRC522::MIFARE_Key key2;

static const byte MCP2515_CS  = 10 ; // CS input of MCP2515
//static const byte MCP2515_SCK = 13 ; // SCK input of MCP2515
//static const byte MCP2515_SI  = 11 ; // SI input of MCP2515
//static const byte MCP2515_SO  = 12 ; // SO output of MCP2515
static const byte MCP2515_INT = 3 ; // INT output of MCP2515

ACAN2515 controleurCAN(MCP2515_CS, SPI, MCP2515_INT);
static const uint32_t FREQUENCE_DU_QUARTZ = 16ul * 1000ul * 1000ul; //16Mhz
static const uint32_t FREQUENCE_DU_BUS_CAN = 500ul * 1000ul;        //500kHz
CANMessage messageCANEmission;
CANMessage messageCANReception;

// Init array that will store new NUID
byte nuidPICC[4][4];
bool newtag = false;
byte numtag = 255;



void setup() {
  Serial.begin(115200);
  while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

  SPI.begin(); // Init SPI bus
 
  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card
    Serial.print(F("Reader "));
    Serial.print(reader);
    Serial.print(F(": "));
    mfrc522[reader].PCD_DumpVersionToSerial();
  }
  Serial.println("RC522 init OK");
  ACAN2515Settings configuration(FREQUENCE_DU_QUARTZ, FREQUENCE_DU_BUS_CAN);
  const uint32_t codeErreur = controleurCAN.begin(configuration, [] { controleurCAN.isr(); });
  Serial.println("CAN init OK");

}

 /**
 * Helper routine to dump a byte array as hex values to Serial.
 */
void dump_byte_array(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

void loop() {

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    // Look for new cards

    if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
      Serial.print(F("Reader "));
      Serial.print(reader);
      // Show some details of the PICC (that is: the tag/card)
      Serial.print(F(": Card UID:"));
      dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
      Serial.println();
      Serial.print(F("PICC type: "));
      MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak);
      Serial.println(mfrc522[reader].PICC_GetTypeName(piccType));

      // Halt PICC
      mfrc522[reader].PICC_HaltA();
      // Stop encryption on PCD
      mfrc522[reader].PCD_StopCrypto1();
    } //if (mfrc522[reader].PICC_IsNewC
  } //for(uint8_t reader

  if (controleurCAN.receive(messageCANReception)) {
    Serial.print("recu : ");
    Serial.print(messageCANReception.data32[0]);
    Serial.print(", longueur : ");
    Serial.println(messageCANReception.len);
  }
}

35
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:04:28 am »

36
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:04:17 am »

37
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:04:08 am »

38
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:03:57 am »

39
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:03:49 am »

40
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:03:34 am »

41
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:03:17 am »

42
Vos projets / projet centrale "LaBox" wifi DCC++ Can
« le: mars 02, 2020, 11:08:13 am »
Juste pour éclaircir le débat, un SProg n'est ni plus ni moins qu'un microcontroleur dédié au DCC et à la programmation des décodeurs, et qui peut aussi servir de petite centrale. Ça ressemble furieusement à un Nano chargé de DCC++ ou DCCpp !!
J’ai passé un bon bout de temps à réaliser un tel « Sprog » Locoduino qui, comme le dit Thierry n’est qu’un Nano chargé de DCC++ ou DCCpp légèrement modifié. J’y ai adjoint la partie « puissance » qui n’a pas donné les résultats attendus, donc je vais refaire ce projet avec un bon vieux L298 qui permet de cracher 4A avec ses 2 ponts en parallèle.
En plus, puisque jusque là ça n’est qu’une sorte de « Sprog », j’ai adjoint une passerelle Can et une passerelle Wifi pour piloter un train à partir d’un smartphone.
Le projet n’est pas encore publiable et je manque de temps, pas d’idées, mais est-ce qu’il vous intéresse ?
On pourrait envisager un travail collectif, oui ou non ?


Amicalement
dominique

43
Composants / Nouvel Arduino Pro Portenta-H7
« le: janvier 09, 2020, 06:55:07 pm »
https://store.arduino.cc/portenta-h7

Le Portenta H7, une bête de course à 90€
En pré-order.

Quelles applications dans notre domaine ?
Un vrai OS (mbedOS) en dessous de l’IDE Arduino.

45
Merci de déplacer vos sujets qui n’ont pas lieu d’être dans « discussions ouvertes » puisqu’une rubrique dédiée à JMRI a été créé à cet effet.
Les sujets seront effacés.

Pages: 1 2 [3] 4 5 ... 7