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 - Ludo5687

Pages: [1] 2
1
Débuter / Re : attiny85 non reconnu
« le: décembre 18, 2020, 11:15:28 pm »
Pour programmer mon attiny, je dois quand même passer par le pc, je trouve dommage le ton que vous utilisez, je viens pour avoir de l'aide.
Sinon, comment vous programmer vos attinys?

Effectivement, je pense de plus en plus aux nanos pour mon projet, le choix de l'attiny est du à la vidéo trouvé sur youtube.

J'ai remarqué juste encore une chose, il n'y a pas de port com dans mon IDE, est-ce normale?

2
Débuter / Re : attiny85 non reconnu
« le: décembre 18, 2020, 09:57:17 pm »
Je pense aller chercher un Hub Usb avec alimentation dés lundi pour tenter le coup.

3
Débuter / Re : attiny85 non reconnu
« le: décembre 18, 2020, 02:12:48 am »
oui, j'ai refait la procédure, j'ai également fait des recherches sur le net et j'ai lu qu'il faudrait peut-être un hub usb avec alimentation pour connecter l'attiny et que ça réglerait le problème.

4
Débuter / Re : attiny85 non reconnu
« le: décembre 17, 2020, 10:01:38 pm »
Maintenant le Bootloader est isntallé et apparait dans le gestionnaire, mais toujours pas possible de téléverser.
Voici les captures que je viens de faire,  est-ce que tout est correct?

5
Débuter / Re : attiny85 non reconnu
« le: décembre 17, 2020, 07:33:12 pm »
Effectivement, c'est bien ça le problème, "libusb-win32 devices" n'apparait pas.

6
Débuter / Re : attiny85 non reconnu
« le: décembre 17, 2020, 06:56:12 pm »
Voilà mon projet, enfin...

Je voudrais utiliser l'attiny comme décodeur pour mes signaux de trains, j'ai vu cette vidéo et je trouvais pratique.
J'ai suivi son explication et les autres des divers liens partagé dans cette discution, mais je dois surement me planter sur un point.

Voici l'attiny en question

Voici le sketch
#include <EEPROM.h>
#include <NmraDcc.h>
// die NmraDCC - Library gibt es unter https://github.com/mrrwa/NmraDCC/archive/master.zip
// anzupassende Konstante:

#define DCC_DECODER_VERSION_ID 02 // Versions-ID zur Speicherung in CV 7

//#define DB_PRINT( ... ) sprintf( dbgbuf,"Dbg: " __VA_ARGS__ ) ; Serial.println( dbgbuf )
//char dbgbuf[80];

#define LEDanzahl  5
#define Adressen 1
//byte ledpins [] = {8,9,10,11,12}; // Uno
byte ledpins [] = {0,1,3,4,5}; //Attiny85

int DCC_ADDR = 1;   // DCC-Adresse
byte Signalbildgruppe = 0;  // 0=Sh0 2=Hauptsignal
boolean Prog = false;
byte Signalbild [4][5] = { 
    {1,1,0,0,0}, // Sh0
    {0,0,1,1,0}, // Sh1
    {1,0,0,1,0}, // Hp0 Vr0
    {0,1,1,1,0}  // Hp2 Vr2
   
  }; 
byte Letztes_Signalbild=7; //aus
const word CV_Letztes_Signalbild = 33; 
const word CV_Signalbildgruppe= 34;

// CV Speicher Struktur
struct CVPair
{
  uint16_t  CV;
  uint8_t   Value;
};

// CV Default-Werte

CVPair FactoryDefaultCVs [] =
{ {CV_ACCESSORY_DECODER_ADDRESS_LSB, DCC_ADDR%256},
  {CV_ACCESSORY_DECODER_ADDRESS_MSB, DCC_ADDR/256},
  {CV_Letztes_Signalbild, 0},
  {CV_Signalbildgruppe, 0},
};

NmraDcc DCC;
//DCC_MSG  Packet ;

///////////////////////////////////////////////////////////////
void setup() {
   //Serial.begin(115200);
   for (int i=0; i< LEDanzahl; i++) {
      pinMode(ledpins, OUTPUT);    // auf Ausgangschalten und LED aus.
      digitalWrite(ledpins,HIGH);
   }
   Programmieren();
   
   DCC.init( MAN_ID_DIY, DCC_DECODER_VERSION_ID, FLAGS_OUTPUT_ADDRESS_MODE | FLAGS_DCC_ACCESSORY_DECODER,0 );
   DCC.pin(0, 2, 1); // DCC-Signal an Pin2 ( = Int0 );
 
  /////////////////////////////////////
  // DCC-Adresse setzen
  if ( DCC.getCV( 9 ) == 255 ) {              // wenn keine gültige Adresse gespeichert ist
    DCC.setCV( 1, DCC_ADDR % 256 );
    DCC.setCV( 9, DCC_ADDR / 256 );
  }
  /*  // muss weg für Attiny     
  if ( DCC.getCV(CV_Letztes_Signalbild ) == 255 ) {              // wenn keine gültige Adresse gespeichert ist
     DCC.setCV( CV_Letztes_Signalbild, 0);
  }
  if ( DCC.getCV(CV_Signalbildgruppe ) == 255 ) {              // wenn keine gültige Adresse gespeichert ist
     DCC.setCV( CV_Signalbildgruppe, 0);
  }
  DB_PRINT( "CV1:%d, CV9:%d, CV29:%d, CV7=%d, CV8=%d, CV33=%d, CV34=%d", DCC.getCV(1), DCC.getCV(9), DCC.getCV(29), DCC.getCV(7), DCC.getCV(8), DCC.getCV(33), DCC.getCV(34) );
   // */
 
   // Letztes Signalbild laden
   Signalbildgruppe = DCC.getCV(CV_Signalbildgruppe); // Signalbildgruppe/Hauptsignal laden
   exec_function(DCC.getCV(CV_Letztes_Signalbild ));
   //Adresse aus CV 1 und 9 laden
   DCC_ADDR =(DCC.getCV(9)*256)+ DCC.getCV(1);
   
 
}
////////////////////////////////////////////////////////////////
void loop() {
    DCC.process(); // Hier werden die empfangenen Telegramme analysiert
    if(Prog == true){
         for (int i=0; i< LEDanzahl; i++) {
         digitalWrite(ledpins, LOW);
         delay (50);
          }
         
          for (int i=0; i< LEDanzahl; i++) {
             digitalWrite(ledpins, HIGH);
             delay (50);
          }
    }
}

void Programmieren()

  pinMode(2, INPUT);
   long  Zeit;
   Zeit = millis();
   while(digitalRead(2)== LOW) {
   
   }
   if (millis() > Zeit+100){
   // DB_PRINT("Zeit:%d",millis()- Zeit+100);
    Prog = true;
   }
}

//////////////////////////////////////////////////////////////
// Unterprogramme, die von der DCC Library aufgerufen werden:
// Die folgende Funktion wird von DCC.process() aufgerufen, wenn ein Weichentelegramm empfangen wurde
void notifyDccAccState( uint16_t Addr, uint16_t BoardAddr, uint8_t OutputAddr, uint8_t State ){
   
    if (Prog == true ){
        DCC.setCV( 1, Addr % 256 );
        DCC.setCV( 9, Addr / 256 );
        DCC_ADDR =Addr;
        if ( OutputAddr & 0x1 ){
          Signalbildgruppe=2;
          DCC.setCV( CV_Signalbildgruppe, Signalbildgruppe); 
        }
        else{
          Signalbildgruppe=0;
          DCC.setCV( CV_Signalbildgruppe, Signalbildgruppe); 
        }
      Prog= false;
    }
     //DB_PRINT ("CV_Adresse %d, Programm-adrssse %d ", Addr, DCC_ADDR);
     
     for( int k=0; k<Adressen; k++) //
      {   //überprüfe Adresse     
        if (Addr == DCC_ADDR+k) //
        {
           if ( OutputAddr & 0x1 )
              {  exec_function(k*2+Signalbildgruppe);
              }               
            else
              {  exec_function(k*2+1+Signalbildgruppe);
              }
       } //if addr
   }//for
   
}

void exec_function (int SBnr)  {
  #define fadedelay 5
      //  Serial.println(SBnr,DEC);
   
    if (Letztes_Signalbild != SBnr)
       {                                               
              for (int i=0; i<60; i++)    //ausblenden
              {
                for (int j=0; j<5; j++) if (Signalbild[SBnr][j]==0 && Signalbild[Letztes_Signalbild][j]==1) digitalWrite( ledpins[j],1);
                delay(fadedelay*i/60.0);
                for (int j=0; j<5; j++) if (Signalbild[SBnr][j]==0 && Signalbild[Letztes_Signalbild][j]==1) digitalWrite( ledpins[j],0);
                delay(fadedelay-(fadedelay*i/60.0));
              }
                //LEDs Aus
                for (int j=0; j<5; j++) if (Signalbild[SBnr][j]==0 && Signalbild[Letztes_Signalbild][j]==1) digitalWrite( ledpins[j],1);
       
              for (int i=0; i<60; i++)    // einblenden
              {                                         
                for (int j=0; j<5; j++) if (Signalbild[SBnr][j]==1 && !Signalbild[Letztes_Signalbild][j]==1) digitalWrite( ledpins[j],0);
                delay(fadedelay*i/60.0);
                for (int j=0; j<5; j++) if (Signalbild[SBnr][j]==1 && !Signalbild[Letztes_Signalbild][j]==1) digitalWrite( ledpins[j],1);
                delay(fadedelay-(fadedelay*i/60.0));
              }
              // LEDs ein
              for (int j=0; j<5; j++)  digitalWrite( ledpins[j],!Signalbild[SBnr][j]);
              Letztes_Signalbild=SBnr;
              DCC.setCV( CV_Letztes_Signalbild, SBnr);
          }// for
           
}

Même avec celui-ci pas moiyen:
void setup() {               
  // Initialize the digital pin as an output
  pinMode(0, OUTPUT);      // LED on Model B
  pinMode(1, OUTPUT);      // LED on Model A   
}

void loop() {
  digitalWrite(0, HIGH);   // Turn the LED on
  digitalWrite(1, HIGH);
  delay(1000);             // Wait for a second
  digitalWrite(0, LOW);    // Turn the LED off
  digitalWrite(1, LOW);
  delay(1000);             // Wait for a second
}


7
Débuter / Re : attiny85 non reconnu
« le: décembre 17, 2020, 01:39:18 pm »
tout ce passe correctement, mais c'est quand place l'attiny dans le port usb que ça ne fonctionne pas.

8
Débuter / Re : attiny85 non reconnu
« le: décembre 17, 2020, 02:27:47 am »
Merci pour les différents liens,
mais c'est quand je connecte l'Attiny85 en usb qu'il n'est pas reconnu, malgré que j'ai installé les drivers.

Je travail avec Windows 10

9
Débuter / attiny85 non reconnu
« le: décembre 16, 2020, 12:20:44 pm »
Bonjour à tous,

j'ai fait l'acquisition d'un attiny85 pour piloter mes signaux de on réseau, mais quand je le branche dans un port usb de mon pc il n'est pas reconnu et je n'arrive pas à le faire reconnaitre par mon pc.
Comment faut-il faire pour pouvoir l'utiliser?

Je travail sous Windows10.

Merci

10
Débuter / Re : commander des sons par décodeur ESU
« le: décembre 12, 2020, 07:34:06 pm »
Merci beaucoup msport, c'est super ce petit Attiny85, je vais pouvoir les placer dans mes voitures.

Et toutes ces informations vont bien m'aider dans mon projet son.

11
Débuter / commander des sons par décodeur ESU
« le: décembre 10, 2020, 08:17:17 pm »
Bonsoir,

je voudrais commander un arduino nano avec les fonctions du décodeur ESU pour pouvoir lire des sons (mp3) d'un lecteur sd monté sur le nano.

Est-ce possible?

12
Vos projets / Re : Un projet de pont transbordeur....
« le: novembre 23, 2020, 12:56:32 am »
Merci JCD35, c'est exactement ce qui me fallait.

13
Présentez vous ! / Bonjour à tous.
« le: novembre 19, 2020, 05:58:44 pm »
Bonjour,

je pratique le modélisme ferroviaire(plusieurs échelles: HO, HOm, HOe et un peu de N.

J'ai deux réseaux, un HO assez étendu (plusieurs niveaux sur deux pièces et un HOm RhB. Tout les deux en DCC, piloté par des centrales Digitrax reliées à un PC.

Pour le réseau HO, je suis en train de construire un pont transbordeur avec moteur pas à pas et j'ai trouvé sur ce forum l'application parfaite pour mon projet.

En parcourant le forum, je découvre plein d'autre projet tout autant intéressent et que je compte bien réaliser.

Je suis de Bruxelles, je suis conducteur de tramways la STIB (Société des Transports Intercommunale de Bruxelles) donc même mon travail c'est ma passion.

Je partage aussi mes passions avec la personne qui partage ma vie et nous aimons partir en voyage principalement pour du ferroviaire, donc que du bonheur; sauf que depuis quelques mois avec cette pandémie, c'est un peu bloqué. :( :(





14
Débuter / changer polarité coeur d'aiguille
« le: novembre 19, 2020, 01:52:28 am »
Bonsoir à tous,

je recherche à faire un petit module qui me permet de changer la polarité du coeur de mes aiguillages  par la détection de court-circuit.

15
tout sais pas ce faire en un jour.

Jai aussi plein de projet dans mes armoires et on a que 24 heures dans une journée, heureusement d'ailleurs, parce que avec les temps qui courent, on a de quoi s'occuper.

Pages: [1] 2