Arduino sans l'arduino

utiliser le langage arduino sans utiliser les platines arduino.

avantages:

  • Le prix: par ex un ATMEGA 328 côute entre 3€ et 5€.
  • En créant son typon on peut tout intégrer sur la même carte.
  • On peut faire des typons sur mesure d'un encombrement minime et adapté à un boitier.
  • On peut faire un proto avec une carte arduino puis réutiliser le code pour une série de cartes fait main.
  • La possibilité d'utiliser d'autres microcontroleurs de la gamme atmel
  • On peut aussi utiliser d'autres possibilité que le microcontroleur permet mais qui ne sont pas possible avec une carte arduino (par ex: Utiliser la totalité des 16k de mémoire, utiliser l'oscilateur interne, etc…)

contraintes

  • acquérir un programmateur pour charger le bootloader (ou le fichier Hex)
  • si on veut passer par le bootloader il faudra aussi un adaptateur usb>serie ftdi

on peut aussi utiliser un autre arduino pour le faire.

  • la conception et la fabrication des typon toute une aventure… (cf typon à la maison)

Utiliser un microcontroleur identique à celui présent sur les platines Arduino

Par ex un prenant un ATMEGA328 on aura même possibilités qu'un “arduino uno” (ce pour un côut moindre…).

Il existe plusieurs méthodes pour parvenir à ses fins.

méthode à l'arrache

Vous allez voir ici que le titre représente bien la méthode utilisée…
Je commence par cette méthode car le but ce de site et d'aborder les choses par la pratique. En clair arriver rapidement au résultat escompté sans perdre trop de temps sur la théorie (quitte à s'y pencher un peu plus par la suite ;) )
L'idée ici est de concevoir une carte sur laquelle on va utiliser le même microcontroleur qu'une carte arduino (par ex exemple un ATMEGA328 comme sur un arduino uno), d'utiliser une carte Arduino pour programmer votre microncontroleur et ensuite de l'extraire pour le mettre sur votre carte.

Voici les étapes importantes (cet exemple sera avec un ATMEGA328): Conception de la carte:

  • Utiliser une version DIL du microcontroleur, comme sur une carte Arduino uno ou équivalent (pas la version cms évidement).
  • Mettre un quartz à 16 Mhz, et 2 condos de 12pf (comme sur la carte Arduino).
  • Mettre un support DIL pour l'ATMEGA328

Programmation du microcontroleur:

  • Utiliser un arduino uno (ou équivalent) avec une version DIL du microcontroleur.
  • Extraire le microcontroleur (avec un petit tournevis plat et de la délicatesse.
  • Mettre à la place un nouveau microcontroleur tout neuf mais vide (bien ajuster les pates…).
  • Charger le bootloader (cf la partie arduino>interface IDE>recharger le bootloader).
  • Charger votre programme.
  • Extraire votre microcontroleur (toujours avec un petit tournevis plat et de la délicatesse).
  • Remettre votre microcontroleur sur votre carte.

Et voilà, vite fait bien fait.
Cette méthode a cependant quelques inconvénients: - Avoir un arduino uno ou autre sous la main (mais bon si vous êtes là il y a des chances que vous vous soyez déjà équipé) - Beaucoup de manips… - On utilise 2k (sur les 16k) juste pour mettre le booloader alors qu'on pourrait faire autrement. - On est obligé d'utiliser le même microcontroleur que ceux d'une carte Arduino. - On est obligé d'utiliser un quartz externe à 16Mhz alors que dans bien des cas le quartz intrene de ATMEGA 328 suffirait.

mais par contre c'est assez facile et rapide à mettre en œuvre.

la méthode classique (avrdude)

copier le contenu de l'arduino

ex avec un programmeur avrisp mkII:

sudo avrdude -p m328p -c stk500v2 -P usb -U flash:r:arduino-uno.hex:r

la méthode officielle (avec l'IDE)

Utiliser un microcontroleur différents à celui présent sur les platines Arduino

en construction..


arduino/arduino_sans_arduino.txt · Dernière modification: 2016/04/03 16:13 (modification externe)