Auteur Sujet: Utilisation d'ATTiny  (Lu 35427 fois)

Benoit92

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Utilisation d'ATTiny
« Réponse #165 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

msport

  • Hero Member
  • *****
  • Messages: 658
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Utilisation d'ATTiny
« Réponse #166 le: juin 09, 2019, 10:13:10 am »
... correct d'un point de vue mise en œuvre ATtiny ?
oui, en interface USB du topic 601 (et pas en programmation directe comme décrit dans ce fil)

Nota : le port est toujours grisé dans l'IDE
Et le restera dans cette configuration.
Cordialement

Benoit92

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Utilisation d'ATTiny
« Réponse #167 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 !

Benoit92

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Re : Utilisation d'ATTiny
« Réponse #168 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.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1710
  • 100% Arduino et N
    • Voir le profil
Re : Re : Re : Utilisation d'ATTiny
« Réponse #169 le: juin 13, 2019, 04:34:19 pm »
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.

Les cartes Digistump à base d'ATtiny85 sont équipées d'un port USB qui ne fonctionnent pas comme les autres Arduino.
Le port USB est paramètré comme un USB HID (Human Interface Device, c.à.d comme un clavier ou une souris) et c'est donc normal qu'il n'apparaisse pas dans la liste des ports (série) de l'IDE. Donc le moniteur de l'IDE ne peut pas fonctionner comme d'habitude

J'ai trouvé ceci sur le site de digistump  : http://digistump.com/board/index.php/topic,2375.msg11196.html#msg11196

#include <DigiUSB.h>
void setup() {
  // put your setup code here, to run once:
  DigiUSB.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
 /* Check USB is still working */
  if(DigiUSB.available()) /* Just hit "Enter" in the digiterm to check USB */
  {
    DigiUSB.read(); /* just to clear the Rx buffer */
    DigiUSB.println(F("DigiUSB is still alive!"));
  }
  DigiUSB.refresh();

  delay(100);
}

Cela se compile bien avec la bibliothèque digiUSB.h.

Maintenant je n'ai pas testé ce code n'ayant pas de carte sous la main, ni de Windows.
Cela nécessite sans doute un émulateur de terminal comme digiterm :
# digiterm
Looking for Digispark running DigiUSB...
Attached to <Digispark:DigiUSB:@5.29>
Type control + c to exit

DigiUSB is still alive!
^C
Vous trouverez certainement une réponse complète sur le site http://digistump.com/board/
« Modifié: juin 14, 2019, 09:37:04 am par Dominique »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1710
  • 100% Arduino et N
    • Voir le profil
Re : Utilisation d'ATTiny
« Réponse #170 le: juin 14, 2019, 09:43:53 am »
En cherchant un peu, la solution la plus récente est là :
https://digistump.com/wiki/digispark/tutorials/digicdc

Ce n’est pas DigiUSB mais DigiCDC qu’il faut utiliser. Il y a au moins un exemple (DigisparkCDC) disponible dans l’IDE.

You must explicitly include the DigiCDC library - by placing the following at the top of your sketch
#include <DigiCDC.h>
It uses a lot of RAM - half of the Digispark's RAM - so only include it when needed and watch your RAM usage. You can wrap strings in F() (ie. SerialUSB.print(F(“test”)) ) to put the string in flash memory instead of RAM
You use it the same as Serial on an Arduino but with SerialUSB instead (ie. SerialUSB.read() instead of Serial.read() ) - The Pro also has Serial defined - but that refers to the hardware Serial port on Pins 6 and 7.
The begin statement does not need a baudrate - it is a CDC device so it does not have a set baud rate - just use SerialUSB.begin()
You must install the driver for windows - it is part of the driver package found in the Digispark Arduino release.
It is slow - it transfers data very slowly (5ms per character) - because it is a low speed USB device doing the job of a Standard speed device - and doing it all virtually without actual hardware support!
Like all of our V-USB libraries you must use its delay function instead of delay() - so use SerialUSB.delay() when you need a delay in your code.
SerialUSB.delay() or SerialUSB.refresh() must be called every 10ms or less in your code if no other SerialUSB call is made in that code
« Modifié: juin 14, 2019, 09:48:05 am par Dominique »

CATPLUS

  • Full Member
  • ***
  • Messages: 215
    • Voir le profil
Re : Utilisation d'ATTiny
« Réponse #171 le: juin 14, 2019, 07:46:34 pm »
Bonjour,
Quelques photos, en espérant que cela puisse aider
Best Regards

Benoit92

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Utilisation d'ATTiny
« Réponse #172 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