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.


Messages - Benoit92

Pages: [1] 2 3 ... 13
1
Infos et bonnes affaires / Re : Matériel LOW COST
« le: janvier 27, 2020, 02:07:21 pm »
Bonjour,
Je vois également des sites à très bas prix en Espagne.
Ce sont des arnaques ! ! !

2
Vos projets / Re : Utilisation d'ATTiny
« le: juin 15, 2019, 07:13:45 pm »
Merci.
You must install the driver for windows - it is part of the driver package found in the Digispark Arduino release.
Dans le répertoire "Digistump Drivers"
c'est quel driver ?
- Install Drivers
- DPinst64
- Launcher
- micronucleus

3
Vos projets / Re : Re : Utilisation d'ATTiny
« le: juin 13, 2019, 12:03:40 am »
Ok, j'ai repris la procédure avec :
Carte débranchée
Programmateur : USBasp
Type de carte : Digispark (Default-16,5 mhz)

puis vérifier/compiler
puis téléverser
Attente du message :
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)
> Please plug in the device ...


-> Branchement carte ATtiny sur USB

Résultat :
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!


Le résultat est-il correcte d'un point de vue mise en œuvre ATtiny ?

Je n'ai pas encore brancher de leds.
Nota : le port est toujours grisé dans l'IDE
Donc,si je comprends bien, pas de port COM donc pas de moniteur série.
Comment faire pour debugger à part utiliser un Arduino pour debugger.
Puis, lorsque le programme est au point, "vérifier et compiler" sur ATtiny, puis téléversersur l'ATtiny.

4
Vos projets / Re : Utilisation d'ATTiny
« le: juin 09, 2019, 02:01:32 pm »
Ok, merci.
En fait, j’espérais pouvoir monter facilement un décodeur à base d'ATtiny85 dans une petite locomotive (type 030) à l'échelle 0 (un forumer fcot2002 semble intéressé).
Il est nécessaire d'ajouter à l'ATtiny :
- une interface opto-électronique pour récupérer le signal voie DCC
- une carte Alim -> 7805
- un pont en H
- des leds
- du fil, du fil . . .

Problème : avec la bibliothèque NmraDcc et avec un ATtiny85, il manque 82Bytes !
Il est peut-être possible de simplifier le programme : https://github.com/mrrwa/NmraDcc/tree/master/examples
 -> NmraDccMultiFunctionMotorDecoder - added another example of s simple DCC Multifunction (Locomotive) decoder- last month


Personnellement, je travaille en échelle 1 (Märklin) voir échelle 0.
Je continue mon projet de 2D2 5500 (1 Arduino Nano + 1 Teensy 3.2 + EEprom pour le son) +
- une interface opto-électronique pour récupérer le signal voie DCC
- une carte Alim -> 7805
- un pont en H
- des leds
- un ampli audio
- un haut-parleur
- un paquet de fil
Dans une 030 Märklin Echelle 1, cela rentre déjà au chausse-pied !

5
Vos projets / Re : Utilisation d'ATTiny
« le: juin 09, 2019, 12:56:15 am »
Ok, j'ai repris la procédure avec :
Carte débranchée
Programmateur : USBasp
Type de carte : Digispark (Default-16,5 mhz)

puis vérifier/compiler
puis téléverser
Attente du message :
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)
> Please plug in the device ...


-> Branchement carte ATtiny sur USB

Résultat :
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!


Le résultat est-il correcte d'un point de vue mise en œuvre ATtiny ?

Je n'ai pas encore brancher de leds.
Nota : le port est toujours grisé dans l'IDE

6
Vos projets / Re : Utilisation d'ATTiny
« le: juin 08, 2019, 01:44:45 pm »
Merci.
J'ai suivi la procédure, mais le port est toujours grisé.
De plus, le son correspondant à l'introduction d'une clef USB se déclenche tout le temps
(en même temps que le gestionnaire de périphérique qui fait une RAZ).
Je n'ai qu'un seul port com (USB-SERIAL CH340 (COM6)) qui doit, je pense, servir pour un arduino.

7
Vos projets / Re : Utilisation d'ATTiny
« le: juin 08, 2019, 12:23:09 am »
Bonsoir,
J'ai acheté une carte ATtiny85 (pas Digispark) équipée d'une prise microUSB.
J'ai chargé l'ATtiny 85 dans l'IDE ARDUINO.
Le port reste grisé.
Il doit à priori manquer le driver pour brancher cette carte directement sur le PC.

Je n'arrive pas à trouver un driver USB pour ATtiny, s'il existe !
Merci

8
A priori, il y a une erreur dans le programme récupéré sur GITHUB.
Il faut remplacer :
Dcc.pin(DCC_PIN, 0); par
Dcc.pin(0, DCC_PIN, 0);

9
Bonjour, en attendant de recevoir mon ATtiny85, j'ai essayé de "vérifier/compiler" le programme "simple DCC Multifunction (Locomotive) decoder" :
// NMRA Dcc Multifunction Motor Decoder Demo
//
// Author: Alex Shepherd 2019-03-30
//
// This example requires these Arduino Libraries:
//
// 1) The NmraDcc Library from: http://mrrwa.org/download/
//
// These libraries can be found and installed via the Arduino IDE Library Manager
//
// This is a simple demo of how to drive and motor speed and direction using PWM and a motor H-Bridge
// It uses vStart and vHigh CV values to customise the PWM values to the motor response
// It also uses the Headling Function to drive 2 LEDs for Directional Headlights
// Apart from that there's nothing fancy like Lighting Effects or a function matrix or Speed Tables - its just the basics...
//

#include <NmraDcc.h>

// Uncomment any of the lines below to enable debug messages for different parts of the code
//#define DEBUG_FUNCTIONS
//#define DEBUG_SPEED
//#define DEBUG_PWM
//#define DEBUG_DCC_ACK
//#define DEBUG_DCC_MSG

#if defined(DEBUG_FUNCTIONS) or defined(DEBUG_SPEED) or defined(DEBUG_PWM) or defined(DEBUG_DCC_ACK) or defined(DEBUG_DCC_MSG)
#define DEBUG_PRINT
#endif

// This is the default DCC Address
#define DEFAULT_DECODER_ADDRESS 3

#define DCC_PIN     2

#define LED_PIN_FWD 0
#define LED_PIN_REV 1
#define MOTOR_DIR_PIN 3
#define MOTOR_PWM_PIN 4

// Some global state variables
uint8_t newLedState = 0;
uint8_t lastLedState = 0;

uint8_t newDirection = 0;
uint8_t lastDirection = 0;

uint8_t newSpeed = 0;
uint8_t lastSpeed = 0;
uint8_t numSpeedSteps = SPEED_STEP_128;

uint8_t vStart;
uint8_t vHigh;

// Structure for CV Values Table
struct CVPair
{
  uint16_t  CV;
  uint8_t   Value;
};

// CV Addresses we will be using
#define CV_VSTART  2
#define CV_VHIGH   5

// Default CV Values Table
CVPair FactoryDefaultCVs [] =
{
  // The CV Below defines the Short DCC Address
  {CV_MULTIFUNCTION_PRIMARY_ADDRESS, DEFAULT_DECODER_ADDRESS},

  // Three Step Speed Table
  {CV_VSTART, 120},
  {CV_VHIGH, 255},

  // These two CVs define the Long DCC Address
  {CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0},
  {CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, DEFAULT_DECODER_ADDRESS},

// ONLY uncomment 1 CV_29_CONFIG line below as approprate
//  {CV_29_CONFIG,                                      0}, // Short Address 14 Speed Steps
  {CV_29_CONFIG,                       CV29_F0_LOCATION}, // Short Address 28/128 Speed Steps
//  {CV_29_CONFIG, CV29_EXT_ADDRESSING | CV29_F0_LOCATION}, // Long  Address 28/128 Speed Steps 
};

NmraDcc  Dcc ;

uint8_t FactoryDefaultCVIndex = 0;

// This call-back function is called when a CV Value changes so we can update CVs we're using
void notifyCVChange( uint16_t CV, uint8_t Value)
{
  switch(CV)
  {
    case CV_VSTART:
      vStart = Value;
      break;
     
    case CV_VHIGH:
      vHigh = Value;
      break;
  }
}

void notifyCVResetFactoryDefault()
{
  // Make FactoryDefaultCVIndex non-zero and equal to num CV's to be reset
  // to flag to the loop() function that a reset to Factory Defaults needs to be done
  FactoryDefaultCVIndex = sizeof(FactoryDefaultCVs)/sizeof(CVPair);
};

// This call-back function is called whenever we receive a DCC Speed packet for our address
void notifyDccSpeed( uint16_t Addr, DCC_ADDR_TYPE AddrType, uint8_t Speed, DCC_DIRECTION Dir, DCC_SPEED_STEPS SpeedSteps )
{
  #ifdef DEBUG_SPEED
  Serial.print("notifyDccSpeed: Addr: ");
  Serial.print(Addr,DEC);
  Serial.print( (AddrType == DCC_ADDR_SHORT) ? "-S" : "-L" );
  Serial.print(" Speed: ");
  Serial.print(Speed,DEC);
  Serial.print(" Steps: ");
  Serial.print(SpeedSteps,DEC);
  Serial.print(" Dir: ");
  Serial.println( (Dir == DCC_DIR_FWD) ? "Forward" : "Reverse" );
  #endif

  newDirection = Dir;
  newSpeed = Speed;
  numSpeedSteps = SpeedSteps;
};

// This call-back function is called whenever we receive a DCC Function packet for our address
void notifyDccFunc(uint16_t Addr, DCC_ADDR_TYPE AddrType, FN_GROUP FuncGrp, uint8_t FuncState)
{
  #ifdef DEBUG_FUNCTIONS
  Serial.print("notifyDccFunc: Addr: ");
  Serial.print(Addr,DEC);
  Serial.print( (AddrType == DCC_ADDR_SHORT) ? 'S' : 'L' );
  Serial.print("  Function Group: ");
  Serial.print(FuncGrp,DEC);
  #endif

  if(FuncGrp == FN_0_4)
  {
    newLedState = (FuncState & FN_BIT_00) ? 1 : 0;
    #ifdef DEBUG_FUNCTIONS
    Serial.print(" FN 0: ");
    Serial.print(newLedState);
    #endif
  }
  #ifdef DEBUG_FUNCTIONS
  Serial.println();
  #endif
}

// This call-back function is called whenever we receive a DCC Packet
#ifdef  DEBUG_DCC_MSG
void notifyDccMsg( DCC_MSG * Msg)
{
  Serial.print("notifyDccMsg: ") ;
  for(uint8_t i = 0; i < Msg->Size; i++)
  {
    Serial.print(Msg->Data[i], HEX);
    Serial.write(' ');
  }
  Serial.println();
}
#endif

// This call-back function is called by the NmraDcc library when a DCC ACK needs to be sent
// Calling this function should cause an increased 60ma current drain on the power supply for 6ms to ACK a CV Read
// So we will just turn the motor on for 8ms and then turn it off again.

void notifyCVAck(void)
{
  #ifdef DEBUG_DCC_ACK
  Serial.println("notifyCVAck") ;
  #endif

  digitalWrite(MOTOR_DIR_PIN, HIGH);
  digitalWrite(MOTOR_PWM_PIN, HIGH);

  delay( 8 ); 

  digitalWrite(MOTOR_DIR_PIN, LOW);
  digitalWrite(MOTOR_PWM_PIN, LOW);
}

void setup()
{
  #ifdef DEBUG_PRINT
  Serial.begin(115200);
  Serial.println("NMRA Dcc Multifunction Motor Decoder Demo");
  #endif

  // Setup the Pins for the Fwd/Rev LED for Function 0 Headlight
  pinMode(LED_PIN_FWD, OUTPUT);
  pinMode(LED_PIN_REV, OUTPUT);

  // Setup the Pins for the Motor H-Bridge Driver
  pinMode(MOTOR_DIR_PIN, OUTPUT);
  pinMode(MOTOR_PWM_PIN, OUTPUT);

 
  // Setup which External Interrupt, the Pin it's associated with that we're using and enable the Pull-Up
  Dcc.pin(DCC_PIN, 0);
 
  Dcc.init( MAN_ID_DIY, 10, FLAGS_MY_ADDRESS_ONLY | FLAGS_AUTO_FACTORY_DEFAULT, 0 );

  // Uncomment to force CV Reset to Factory Defaults
//  notifyCVResetFactoryDefault();

  // Read the current CV values for vStart and vHigh
  vStart = Dcc.getCV(CV_VSTART);
  vHigh = Dcc.getCV(CV_VHIGH);
}

void loop()
{
  // You MUST call the NmraDcc.process() method frequently from the Arduino loop() function for correct library operation
  Dcc.process();

  // Handle Speed changes
  if(lastSpeed != newSpeed)
  {
    lastSpeed = newSpeed;

    // Stop if speed = 0 or 1
   
    if(newSpeed <= 1)
      digitalWrite(MOTOR_PWM_PIN, LOW);

    // Calculate PWM value in the range 1..255   
    else
    {
      uint8_t vScaleFactor;
     
      if((vHigh > 1) && (vHigh > vStart))
        vScaleFactor = vHigh - vStart;
      else
        vScaleFactor = 255 - vStart;

      uint8_t modSpeed = newSpeed - 1;
      uint8_t modSteps = numSpeedSteps - 1;
     
      uint8_t newPwm = (uint8_t) vStart + modSpeed * vScaleFactor / modSteps;

      #ifdef DEBUG_PWM
      Serial.print("New Speed: vStart: ");
      Serial.print(vStart);
      Serial.print(" vHigh: ");
      Serial.print(vHigh);
      Serial.print(" modSpeed: ");
      Serial.print(modSpeed);
      Serial.print(" vScaleFactor: ");
      Serial.print(vScaleFactor);
      Serial.print(" modSteps: ");
      Serial.print(modSteps);
      Serial.print(" newPwm: ");
      Serial.println(newPwm);
      #endif
           
      analogWrite(MOTOR_PWM_PIN, newPwm);
    }
  }
 
  // Handle Direction and Headlight changes
  if((lastDirection != newDirection) || (lastLedState != newLedState))
  {
    lastDirection = newDirection;
    lastLedState = newLedState;

    digitalWrite(MOTOR_DIR_PIN, newDirection);

    if(newLedState)
    {
      #ifdef DEBUG_FUNCTIONS
      Serial.println("LED On");
      #endif
      digitalWrite(LED_PIN_FWD, newDirection ? LOW : HIGH);
      digitalWrite(LED_PIN_REV, newDirection ? HIGH : LOW);
    }
    else
    {
      #ifdef DEBUG_FUNCTIONS
      Serial.println("LED Off");
      #endif
      digitalWrite(LED_PIN_FWD, LOW);
      digitalWrite(LED_PIN_REV, LOW);
    }
  }

  // Handle resetting CVs back to Factory Defaults
  if( FactoryDefaultCVIndex && Dcc.isSetCVReady())
  {
    FactoryDefaultCVIndex--; // Decrement first as initially it is the size of the array
    Dcc.setCV( FactoryDefaultCVs[FactoryDefaultCVIndex].CV, FactoryDefaultCVs[FactoryDefaultCVIndex].Value);
  }
}

Malheureusement, j'ai le message d'erreur suivant :
Arduino : 1.8.9 (Windows 10), TD: 1.46, Carte : "ATtiny25/45/85, ATtiny85, Internal 1 MHz"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\NexterECT\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\NexterECT\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\NexterECT\Documents\Arduino\libraries -fqbn=attiny:avr:ATtinyX5:cpu=attiny85,clock=internal1 -ide-version=10809 -build-path C:\Users\NEXTER~1\AppData\Local\Temp\arduino_build_416478 -warnings=all -build-cache C:\Users\NEXTER~1\AppData\Local\Temp\arduino_cache_844353 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\NexterECT\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\NexterECT\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\NexterECT\Documents\Arduino\libraries -fqbn=attiny:avr:ATtinyX5:cpu=attiny85,clock=internal1 -ide-version=10809 -build-path C:\Users\NEXTER~1\AppData\Local\Temp\arduino_build_416478 -warnings=all -build-cache C:\Users\NEXTER~1\AppData\Local\Temp\arduino_cache_844353 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino
Using board 'ATtinyX5' from platform in folder: C:\Users\NexterECT\AppData\Local\Arduino15\packages\attiny\hardware\avr\1.0.2
Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10809 -DARDUINO_attiny -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\NexterECT\\AppData\\Local\\Arduino15\\packages\\attiny\\hardware\\avr\\1.0.2\\variants\\tiny8" "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\sketch\\ATTyny85.ino.cpp" -o nul
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10809 -DARDUINO_attiny -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\NexterECT\\AppData\\Local\\Arduino15\\packages\\attiny\\hardware\\avr\\1.0.2\\variants\\tiny8" "-IC:\\Program Files (x86)\\Arduino\\libraries\\NmraDcc-master" "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\sketch\\ATTyny85.ino.cpp" -o nul
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10809 -DARDUINO_attiny -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\NexterECT\\AppData\\Local\\Arduino15\\packages\\attiny\\hardware\\avr\\1.0.2\\variants\\tiny8" "-IC:\\Program Files (x86)\\Arduino\\libraries\\NmraDcc-master" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\sketch\\ATTyny85.ino.cpp" -o nul
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10809 -DARDUINO_attiny -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\NexterECT\\AppData\\Local\\Arduino15\\packages\\attiny\\hardware\\avr\\1.0.2\\variants\\tiny8" "-IC:\\Program Files (x86)\\Arduino\\libraries\\NmraDcc-master" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\NmraDcc-master\\NmraDcc.cpp" -o nul
Generating function prototypes...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10809 -DARDUINO_attiny -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\NexterECT\\AppData\\Local\\Arduino15\\packages\\attiny\\hardware\\avr\\1.0.2\\variants\\tiny8" "-IC:\\Program Files (x86)\\Arduino\\libraries\\NmraDcc-master" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\sketch\\ATTyny85.ino.cpp" -o "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compilation du croquis...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10809 -DARDUINO_attiny -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\NexterECT\\AppData\\Local\\Arduino15\\packages\\attiny\\hardware\\avr\\1.0.2\\variants\\tiny8" "-IC:\\Program Files (x86)\\Arduino\\libraries\\NmraDcc-master" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\sketch\\ATTyny85.ino.cpp" -o "C:\\Users\\NEXTER~1\\AppData\\Local\\Temp\\arduino_build_416478\\sketch\\ATTyny85.ino.cpp.o"
C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino:116:31: warning: unused parameter 'Addr' [-Wunused-parameter]

 void notifyDccSpeed( uint16_t Addr, DCC_ADDR_TYPE AddrType, uint8_t Speed, DCC_DIRECTION Dir, DCC_SPEED_STEPS SpeedSteps )

                               ^

C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino:116:51: warning: unused parameter 'AddrType' [-Wunused-parameter]

 void notifyDccSpeed( uint16_t Addr, DCC_ADDR_TYPE AddrType, uint8_t Speed, DCC_DIRECTION Dir, DCC_SPEED_STEPS SpeedSteps )

                                                   ^

C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino:136:29: warning: unused parameter 'Addr' [-Wunused-parameter]

 void notifyDccFunc(uint16_t Addr, DCC_ADDR_TYPE AddrType, FN_GROUP FuncGrp, uint8_t FuncState)

                             ^

C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino:136:49: warning: unused parameter 'AddrType' [-Wunused-parameter]

 void notifyDccFunc(uint16_t Addr, DCC_ADDR_TYPE AddrType, FN_GROUP FuncGrp, uint8_t FuncState)

                                                 ^

C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino: In function 'void setup()':

ATTyny85:209:21: error: no matching function for call to 'NmraDcc::pin(int, int)'

   Dcc.pin(DCC_PIN, 0);

                     ^

In file included from C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino:17:0:

C:\Program Files (x86)\Arduino\libraries\NmraDcc-master/NmraDcc.h:227:8: note: candidate: void NmraDcc::pin(uint8_t, uint8_t, uint8_t)

   void pin( uint8_t ExtIntNum, uint8_t ExtIntPinNum, uint8_t EnablePullup);

        ^

C:\Program Files (x86)\Arduino\libraries\NmraDcc-master/NmraDcc.h:227:8: note:   candidate expects 3 arguments, 2 provided

In file included from C:\Program Files (x86)\Arduino\libraries\NmraDcc-master/NmraDcc.h:47:0,

                 from C:\Users\Projet Loko\ATTyny85\ATTyny85\ATTyny85.ino:17:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src/EEPROM.h: At global scope:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src/EEPROM.h:145:20: warning: 'EEPROM' defined but not used [-Wunused-variable]

 static EEPROMClass EEPROM;

                    ^

Utilisation de la bibliothèque NmraDcc-master version 2.0.1 dans le dossier: C:\Program Files (x86)\Arduino\libraries\NmraDcc-master
Utilisation de la bibliothèque EEPROM version 2.0 dans le dossier: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM
exit status 1
no matching function for call to 'NmraDcc::pin(int, int)'

10
Bonjour,
Pour ceux que cela peut intéresser, un"simple DCC Multifunction (Locomotive) decoder" a été ajouté (il y a un mois) sur Github :
https://github.com/mrrwa/NmraDcc
https://github.com/mrrwa/NmraDcc/blob/master/examples/NmraDccMultiFunctionMotorDecoder/NmraDccMultiFunctionMotorDecoder.ino

Il permet le pilotage de la traction, des feux et de l'éclairage.
Pour le son, c'est une autre paire de manche !

Ce logiciel peut être installé sur :
 - Arduino UNO
 - ATTiny85

Il faut ajouter :
- Un adaptateur de signal DCC (optocoupleur) rails -> Arduino,
- Un pont en H (Arduino -> Moteur CC),
- Un 7805 -> 5V pour le VCC de l'optocoupleur,
- Un pont de diode + gros condensateur pour la puissance du pont en H,
- Des Leds pour les feux et l'éclairage (en utilisant des leds bicolore jaune/rouge, on peut simplifier le câblage)
En utilisant un ATTiny85, je pense que ce décodeur peut être intégré sur des locomotives au minimum à l'échelle O.
Je doute cependant que ce décodeur puisse être installé sur des locomotives à l'échelle HO ou peut-être sur des vapeurs avec tender.
 



11
Présentez vous ! / Re : Hello world...
« le: juillet 29, 2018, 12:42:50 pm »
Pour l'installation physique de ton réseau, tu penses tout centraliser (par paquet de 8 optocoupleurs - ULN 2803A)
ou bien répartir (1 ou 2 Optocoupleurs - 6N136 ou 6N137) l'électronique (+ arduino)  à coté du canton lui-même?

12
Présentez vous ! / Re : Hello world...
« le: juillet 28, 2018, 04:06:45 pm »
1) Je pense que tu n'es pas obligé de couper le canton de commutation en deux parties pour ce qui concerne l'alimentation par les Booster.

2) N'oublies pas la Diode de Roue Libre (DRL) aux bornes du relais de commutation pour éviter les surtensions sur l'Arduino :
http://www.locoduino.org/spip.php?article29

3) Pour la mise au point de ton système, je te suggère de prendre une Breadboard et d'installer dessus :
  - Arduino (Nano ?)
  - 4 Boutons poussoir
  - 2 Leds (rouge + verte + résistance de 330 Ohm) pour simuler la commande du relais (Booster 1 ou 2)

4) Pour vérifier que ton code est robuste, tu pourras également essayer toutes les configurations possibles en :
  - appuyant sur plusieurs boutons à la fois,
  - appuyant successivement au hasard sur n’importe quel bouton,
Tu peux également réaliser la table de Carnaugh (4 entrées, 1 sortie) de ton automatisme pour y voir plus clair.

13
Infos et bonnes affaires / Re : ALIBABA
« le: juillet 27, 2018, 10:19:01 pm »
Je commande tous mes composants (sauf le Teensy) ainsi que les outillages de fraiseuse, de tour et d'imprimante 3D sans aucun problèmes et avec de délais qui peuvent descendre à 14-17 jours.

14
Présentez vous ! / Re : Re : Hello Everybody
« le: juillet 27, 2018, 10:09:24 pm »
Sinon, juste une information, à l'échelle 1 (1/32) , tu peux bénéficier d'occasions pas trop cher sur le marché allemand.
Pour le décodeur, il y a ESU par exemple.
Personnellement, j'ai pris un arduino nano avec la bibliothèque "NmraDcc" pour piloter le moteur et les éclairages.
Pour le son, j'ai choisi un Teensy 3.2, mais là, j'ai vraiment galéré pour la mise au point.

15
Présentez vous ! / Re : Hello world...
« le: juillet 27, 2018, 09:57:07 pm »
1) Il ne faut pas oublier que les reeds peuvent rebondir donc il faut peut être intégrer une fonction "Bounce".

2) Il faut installer des aimants sous les locomotives

3) Dans mon schéma, je pensais à la répartition suivante pour les capteurs :
  - reed 1 sur le canton booster 1
  - reed 4 sur le canton booster 2
  - Reed 2 et 3 sur le canton de commutation
  - Reed 2 à une distance de reed 1 inférieure à la longueur de la locomotive la plus petite
  - Reed 3 à une distance de reed 4 inférieure à la longueur de la locomotive la plus petite

Logique :
Si reed 1 = 1 et les autres =0, on peut définir le sens de marche
On rentre dans la boucle de sens reed 1 (le canton de commutation passe sur booster1) et on oublie le reed 2
Quand la locomotive arrive à la reed 3, on commute et le canton de commutation passe sur booster 2

De même dans l'autre sens :
Si reed 4 = 1 et les autres =0, on peut définir le sens de marche
On rentre dans la boucle de sens reed 4 (le canton de commutation passe sur booster2) et on oublie le reed 3
Quand la locomotive arrive à la reed 2, on commute et le canton de commutation passe sur booster 1

On doit pouvoir utiliser le même principe pour les boucles de retournement

4) Je pense qu'au démarrage du réseau, il vaut mieux éviter que tous les relais commutent ensemble (risque de bruit) sauf à vérifier par l'oreille qu'ils fonctionnent.

5) Penses-tu utiliser ces cantons pour faire de la signalisation ?

6) Je ne t'écris pas le code car je ne suis pas informaticien et j'utilise encore la truelle.

Pages: [1] 2 3 ... 13