Chérie, j’ai rétréci l’Arduino : passant de Arduino à ATtiny et écrire votre code en pure AVR-C (5 / 5 étapes)

Étape 5: Rendre la conversation ATtiny vous

Nous avons déjà réussi à créer un petit projet, mais vous remarquerez que nos ATtiny se comporte un peu comme une boîte noire : vous ne savez pas vraiment veut passait en elle, parce que la seule sortie que vous avez sont des LEDs. Si vous avez un programme plus complexe en cours d’exécution, vous pourriez vouloir savoir veulent se passe dans votre puce, par exemple quelles valeurs c’est la lecture lorsque vous effectuez des mesures anlog. Il y a du cher développement et débogage disponibles mais je vais montrer vous pouvez comment implémenter une base « déboguer » d’une manière moins cher.

Dans le cas de l’Arduino, vous pouvez avoir une connexion série sur votre ordinateur et le moniteur de valeurs en utilisant le Serial Monitor. Malheureusement notre ATtiny ne pas ces capacités intégrées parce qu’il manque une puce FTDI pour communication série. MAIS il ne faut pas être triste à ce sujet : nous pouvons établir une communication série logicielle sur notre ATtiny et « abuse » notre Arduino comme expéditeur de série. Cela signifie que nous pouvons avoir le ATtiny nous parle par le biais de l’Arduino (et l’inverse s’il faut que).

Heureusement, nous n’avez pas à implémenter cela sur nous-même depuis Martin Thomas et Colin Gittins fait une belle bibliothèque et mettez-le sur github : avr-softuart. Nous allons utiliser cela pour créer un petit programme pour notre ATtiny qui transmet des valeurs de test via serial transfert à notre ordinateur à l’aide de notre Arduino. Vous pouvez l’utiliser par la suite dans votre propre programme pour certains basic « déboguer ».

Un mot d’avertissement: « softuart » implémente UART fonctions dans le logiciel, ce qui signifie qu’il est beaucoup plus lente que la mise en oeuvre par matériel UART. Cela signifie également que votre ATtiny doit faire quelques gros tout en gérant la communication sérielle. C’est pourquoi je recommande d’utiliser « softuart » uniquement lors du débogage de votre projet.

Commençons par notre programme pour le ATtiny. Dans un premier temps, nous aurons besoin de télécharger les sources de l’avr-softuart le dépôt github. Nous aurons besoin de suivante comprend:

--

#include < avr/io.h >
#include < avr/interrupt.h >
#include < util/delay.h >
#include « softuart.h »

--

Dans la fie softuart.h , il faut définir le SOFTUART_TXBIT dans la ligne 18 pour le code pin correct (dans notre exemple, nous définissons pour PB1). Dans la boucle principale, nous commençons la communication série avec les instructions suivantes :

--

softuart_init() ;
softuart_turn_rx_off() ;    Nous ne recevons les données série
SEI() ; Cela permet aux interupts, qui sont nécessaires pour softuart

--

Le reste est assez facile. Par exemple, si vous souhaitez transmettre un personnage, vous pouvez appeler la softuart_putchar('c') ; qui va transmettre le caractère « c ». Vous pouvez également transmettre des chaînes et, si vous incluez stdio.h, vous pouvez également envoyer les numéros au format printf. Vous pouvez avoir un regard sur les exemples dans main.c de dépôt github de softuart.
Cependant, je recommande de garder aussi simple, petit et rapide que possible. Cela signifie que vous ne devez pas inclure stdio.h et utiliser printf() puisqu’il prendra environ 1,5 Ko de la mémoire flash. Par conséquent, vous devez implémenter une fonction qui envoie les entiers sous forme de chaînes de caractères. Je l’ai fait dans le deuxième exemple pour ce tutoriel et vous pouvez obtenir le code complet dans le dépôt github. Le programme écrit juste des entiers compris entre -128 et 127 à hors série. Vous pouvez télécharger, compiler et charger le code sur votre ATtiny.

Maintenant que nous avons notre programme « parler » sur le ATtiny, nous devons préparer l’Arduino pour recevoir ces données serial et le transmettre via le port USB à notre ordinateur afin que nous pouvons lire la sortie sur un moniteur de la série. Le code est très simple et vous devez le télécharger également le dépôt github. Il reçoit les données entrantes de série avec le logiciel serial d’une certaines broches (10) avec un débit de 2400 (lent logiciel serial!) et transmet à votre ordinateur via le matériel de série avec un débit en bauds de 115 200 bauds (USB rapide!). Télécharger ce code sur votre Arduino et vous pouvez continuer avec le schéma de câblage vraiment simple ci-dessus pour mettre sur pied le tout.

Lorsque vous branchez votre Arduino à votre port USB, le ATtiny va commencer à envoyer les données sérielles à l’Arduino, qui la transmettra à notre ordinateur. Vous pouvez maintenant utiliser le Serial Monitor dans l’IDE Arduino / programmes comme écran ou minicom lire la sortie. Cela vous permet de voir ce qui se passe dans votre ATtiny en utilisant seulement 1 broches et un Arduino !

J’espère que ce tutoriel aidera vous créer des programmes ATtiny intelligents qui utilisent jusqu'à qu’une fraction de l’espace et l’énergie nécessaire par un Arduino. Vous pouvez jeter un oeil à un projet pour obtenir un exemple sur la façon de lire les données de capteur analogique d’un accéléromètre pour détecter le moment où un dispositif a été ébranlé : attiny-soundcube

Articles Liés

Arduino animatronics-Vérifiez vos costumes génial plus impressionnants !

Arduino animatronics-Vérifiez vos costumes génial plus impressionnants !

Voici comment ajouter des lumières, de sons et d'action à votre projet Halloween favori en utilisant l'open source Arduino microcontrôleur. Arduino est facile d'apprendre à utiliser et il ouvre un tout nouveau monde pour les constructeurs de costume
Vertical Hydroponic Farm

Vertical Hydroponic Farm

Nous réclamons notre projet RUF, Robotic Udéj Fbras SystemUn jardin hydroponique verticalPermettant des rendements de haute densité et des cycles de croissance plus courtsRéduction de la consommation de ressources - l'eau, d'engrais et espaceLabor sa
Traçage et graphiques des données actives de Arduino à l’aide de la puissance de Python

Traçage et graphiques des données actives de Arduino à l’aide de la puissance de Python

Je vais vous montrer comment prendre vos projets Arduino au niveau suivant en ayant l'Arduino à interagir avec le langage de programmation Python. Python est un logiciel gratuit, que vous pouvez télécharger. Puisque vous avez déjà appris les rudiment
Compter les objets à l’aide d’Arduino et capteur à ultrasons sur un convoyeur de production

Compter les objets à l’aide d’Arduino et capteur à ultrasons sur un convoyeur de production

Intro:Cette instructable explique comment utiliser un capteur à ultrason avec Arduino pour compter / log différents paquets sur un convoyeur. L'instrucable couvrira l'installation physique et le programme Arduino.Il ne sera pas toute information sur
Contrôler les effets d’Halloween avec les télécommandes infrarouges bricolage

Contrôler les effets d’Halloween avec les télécommandes infrarouges bricolage

Halloween est l'occasion parfaite pour le plaisir de créer des effets spéciaux. Lorsque vous voulez être en mesure de commander à distance les accessoires et effets, une bonne option est d'utiliser une télécommande infrarouge. Donc dans ce projet, je
Arduino alimenté bluetooth distant relais commutateur

Arduino alimenté bluetooth distant relais commutateur

HiJe voulais construire une simple boîte de commutateur à distance 2 canaux bluetooth.pour me permettre de passer à distance des dispositifs divers sur et en dehors de mon téléphone android.L'appareil a dû être petit facile à utiliser et assez flexab
Jouer Ode à la joie et autres musiques classique avec Arduino

Jouer Ode à la joie et autres musiques classique avec Arduino

Il s'agit d'un didacticiel de base (idéal pour les débutants!) à l'aide de l'Arduino Uno ou version similaire à jouer l'Ode à la joie de Beethoven. Ce fut l'un de mes premiers projets avec Arduino.Ce que vous aurez besoin :-Arduino Uno ou version sim
Construire votre propre contrôleur (bon marché!) multifonctions sans fil caméra.

Construire votre propre contrôleur (bon marché!) multifonctions sans fil caméra.

IntroductionJamais imaginé de construire votre propre contrôleur de caméra ?Remarque importante : Les condensateurs pour le MAX619 sont 470n ou 0.47u.  Le schéma est correct, mais la liste des composants a été mal - mise à jour.Il s'agit d'une entrée
Un guide de démarrage complet pour rea

Un guide de démarrage complet pour rea

avez-vous joué avec de l'Arduino et maintenant ont un goût pour les microcontrôleurs ?Vous avez essayé d'aller au-delà de Arduino mais a été arrêtée par les fiches techniques denses ?C'est l'instructable pour vous !Je travaillais sur un instructable
Contrôleur de culture hydroponique Edison Intel

Contrôleur de culture hydroponique Edison Intel

Création d'une IoT activé contrôleur de culture hydroponique utilisant l'Edison Intel au cours de la Boston IoT HackathonNotre objectif :Au sein d'un hackathon 36 heures pour construire un contrôleur à utiliser avec notre précédente instructable (hyd
Comment programme microcontrôleurs AVR, bon marchés et faciles

Comment programme microcontrôleurs AVR, bon marchés et faciles

Cette volonté instructable guide vous étape par étape comment faire pour exécuter un programme simple en un micro-contrôleur ATMEGA (uC). Si don´t vous savez tout sur comment votre code est stocké dans les microcontrôleurs, il existe essentiellement
Swarmbots : Autonome Arduino voitures que jouent les chaises musicales

Swarmbots : Autonome Arduino voitures que jouent les chaises musicales

Notre intention avec ce projet était de fusionner les deux champs de pointe de la technologie : des véhicules autonomes et swarmbots. En partenariat avec l'Académie de Fremont pour la technologie et de Design de Femineer élèves, dix membres de la cla
Tout sur Max Sonar EZ0 et Arduino

Tout sur Max Sonar EZ0 et Arduino

j'ai cherché sur Internet sur EZ0 ultrasonique et j'ai trouvé beaucoup d'informations dans la fiche technique pour ce capteur, je vais vous montrer comment nous pouvons programmer ce capteur dans IDE Arduino.Dans un premier temps, la feuille de donné
Construire une Installation ludique et aider à créer le parc à thème de tous les jours

Construire une Installation ludique et aider à créer le parc à thème de tous les jours

Contrôler les choses physiques c'est amusant !Permet de parc à thème de tous les jours vous permet de créer du plaisir installations matérielles que n'importe qui peut contrôler avec un smartphone. Votre installation pourrait être quelque chose de co