Nous programmons l'Arduino en pur C. Arduino pour les débutants : instructions étape par étape. Programmation et projets Arduino : par où commencer

Le langage de programmation Arduino pour débutants est présenté en détail dans le tableau ci-dessous. Microcontrôleur Arduino programmé dans un langage de programmation spécial basé sur C / C ++. Langue Programmation Arduino est une sorte de C ++, en d'autres termes, il n'y a pas de langage de programmation séparé pour Arduino. Vous pouvez télécharger le livre PDF en fin de page.

Dans l'IDE Arduino, toutes les esquisses écrites sont compilées dans un programme C / C ++ avec un minimum de modifications. Le compilateur Arduino IDE simplifie grandement l'écriture de programmes pour cette plateforme et la création de périphériques sur Arduino devient beaucoup plus accessible aux personnes qui n'ont pas beaucoup de connaissance du langage C/C++. Nous donnerons plus loin un peu d'aide décrivant les principales fonctions du langage Arduino avec des exemples.

Une référence détaillée du langage Arduino

Le langage peut être divisé en quatre sections : opérateurs, données, fonctions et bibliothèques.

langage Arduino Exemple La description

Les opérateurs

installer () void setup ()
{
pinMode (3, ENTREE);
}
La fonction permet d'initialiser des variables, de déterminer les modes de fonctionnement des broches de la carte, etc. La fonction ne s'exécute qu'une seule fois, après chaque alimentation du microcontrôleur.
boucle () boucle vide ()
{
digitalWrite (3, HAUT);
retard (1000);
digitalWrite (3, FAIBLE);
retard (1000);
}
La fonction de boucle effectue une boucle, permettant au programme d'effectuer et de répondre aux calculs. Les fonctions setup() et loop() doivent être présentes dans chaque sketch, même si ces instructions ne sont pas utilisées dans le programme.

Opérateurs de contrôle

si
si (x>
si (x< 100) digitalWrite (3, LOW );
L'instruction if est utilisée en conjonction avec les opérateurs de comparaison (==,! =,<, >) et vérifie si la condition est vraie. Par exemple, si la valeur de la variable x est supérieure à 100, alors la LED à la sortie 13 s'allume, si elle est inférieure, la LED s'éteint.
sinon
if (x> 100) digitalWrite (3, HIGH);
sinon digitalWrite (3, LOW);
L'instruction else vous permet d'effectuer une vérification différente de celle spécifiée dans le if, afin d'effectuer plusieurs vérifications mutuellement exclusives. Si aucun des contrôles n'a reçu le résultat TRUE, alors le bloc d'instructions dans else est exécuté.
interrupteur ... cas
interrupteur (x)
{


cas 3 : rupture ;

}
Comme un if, une instruction switch contrôle un programme, vous permettant de spécifier des actions à effectuer dans différentes conditions. Break est la commande pour quitter l'instruction, la valeur par défaut est exécutée si aucune alternative n'est sélectionnée.
pour void setup ()
{
pinMode (3, SORTIE);
}
boucle vide ()
{
pour (int i = 0; i<= 255; i++){
analogWrite (3, i);
retard (10) ;
}
}
La clause for est utilisée pour répéter des instructions entre accolades. Par exemple, la gradation en douceur d'une LED. L'en-tête de boucle for se compose de trois parties : for (initialisation ; condition ; incrément) - l'initialisation est exécutée une fois, puis la condition de condition est vérifiée, si la condition est vraie, alors l'incrément est exécuté. La boucle se répète jusqu'à ce que la condition devienne fausse.
tandis que boucle vide ()
{
tandis que (x< 10)
{
x = x + 1 ;
Serial.println (x);
retard (200);
}
}
L'instruction while est utilisée comme une boucle qui s'exécutera tant que la condition entre parenthèses est vraie. Dans l'exemple, l'instruction de boucle while répétera le code entre parenthèses indéfiniment jusqu'à ce que x soit inférieur à 10.
faire pendant boucle vide ()
{
faire
{
x = x + 1 ;
retard (100);
Serial.println (x);
}
tandis que (x< 10);
retard (900);
}
L'instruction de boucle do… while fonctionne de la même manière que la boucle while. Cependant, si l'expression entre parenthèses est vraie, la boucle continue et ne la quitte pas. Dans l'exemple ci-dessus, pour x supérieur à 10, l'opération d'addition se poursuivra, mais avec une pause de 1000 ms.
Pause
Continuez
interrupteur (x)
{
cas 1 : digitalWrite (3, HIGH) ;
cas 2 : digitalWrite (3, LOW) ;
cas 3 : rupture ;
cas 4 : continuer ;
par défaut : digitalWrite (4, HAUT) ;
}
Break est utilisé pour forcer la sortie des boucles switch, do, for et while sans attendre la fin de la boucle.
L'instruction continue ignore les instructions restantes dans l'étape de boucle en cours.

Syntaxe

;
(point virgule)

digitalWrite (3, HAUT);
Le point-virgule est utilisé pour marquer la fin d'une instruction. Un point-virgule oublié à la fin d'une ligne entraîne une erreur de compilation.
{}
(un appareil dentaire)
void setup ()
{
pinMode (3, ENTREE);
}
Une parenthèse ouvrante "(" doit être suivie d'une parenthèse fermante ")". Des parenthèses non appariées peuvent entraîner des erreurs cachées et incompréhensibles lors de la compilation d'un croquis.
//
(un commentaire)
x = 5 ; // un commentaire

Bonjour! Je suis Aleksandr Sergeevich Alikin, enseignant de l'enseignement complémentaire, je dirige les cercles "Robotique" et "Radiotechnique" à l'École centrale de musique pour enfants de Labinsk. Je voudrais vous parler un peu d'une manière simplifiée de programmer Arduino à l'aide du programme ArduBloсk.

J'ai introduit ce programme dans le processus éducatif et je suis ravi du résultat ; il est très demandé par les enfants, notamment lors de l'écriture des programmes les plus simples ou pour créer une sorte d'étape initiale de programmes complexes. ArduBloсk est un environnement de programmation graphique, c'est-à-dire que toutes les actions sont effectuées avec des images dessinées avec des actions signées en russe, ce qui simplifie grandement l'étude de la plate-forme Arduino. Les enfants de la 2e année peuvent facilement apprendre à travailler avec Arduino grâce à ce programme.

Oui, quelqu'un pourrait dire que Scratch existe toujours et c'est aussi un environnement graphique très simple pour la programmation Arduino. Mais Scratch ne flashe pas l'Arduino, il le contrôle simplement via un câble USB. Arduino dépend de l'ordinateur et ne peut pas être autonome. Lors de la création de vos propres projets, l'autonomie pour Arduino est primordiale, notamment lors de la création de dispositifs robotiques.

Même les robots LEGO bien connus, tels que NXT ou EV3, ne sont plus aussi intéressants pour nos étudiants avec l'avènement du programme ArduBloсk dans la programmation Arduino. Arduino est également beaucoup moins cher que n'importe quel constructeur LEGO et de nombreux composants peuvent simplement être extraits d'anciens équipements électroniques ménagers. Le programme ArduBloсk aidera non seulement les débutants, mais aussi les utilisateurs actifs de la plate-forme Arduino à travailler.

Alors, qu'est-ce qu'ArduBlock ? Comme je l'ai dit, il s'agit d'un environnement de programmation graphique. Presque entièrement traduit en russe. Mais dans ArduBloсk, le point culminant n'est pas seulement cela, mais aussi le fait que le programme ArduBloсk que nous avons écrit se convertit en code Arduino IDE. Ce programme est intégré à l'environnement de programmation Arduino IDE, c'est-à-dire qu'il s'agit d'un plugin.

Vous trouverez ci-dessous un exemple d'une LED clignotante et d'un programme converti dans l'IDE Arduino. Tout le travail avec le programme est très simple et tout étudiant peut le comprendre.

En travaillant sur le programme, vous pouvez non seulement programmer l'Arduino, mais aussi apprendre des commandes que nous ne comprenons pas dans format de texte IDE Arduino, mais si vous êtes "trop ​​paresseux" pour écrire des commandes standard, vous devez utiliser des manipulations rapides de la souris pour esquisser un programme simple dans ArduBlok et le déboguer dans l'IDE Arduino.

Pour installer ArduBlok, vous devez d'abord télécharger et installer l'IDE Arduino à partir du site Web officiel d'Arduino et déterminer les paramètres lorsque vous travaillez avec la carte Arduino UNO. Comment faire cela est décrit sur le même site ou sur Amperka, ou regardez sur l'immensité de YouTube. Eh bien, lorsque nous avons compris tout cela, vous devez télécharger ArduBlok depuis le site officiel, ici. Je ne recommande pas de télécharger les dernières versions, pour les débutants, elles sont très difficiles, mais la version du 2013-07-12 est la chose même, ce fichier est le plus populaire là-bas.

Ensuite, renommez le fichier téléchargé en ardublock-all et dans le dossier "documents". Nous créons les dossiers suivants : Arduino> tools> ArduBlockTool> tool et dans ce dernier nous jetons le fichier téléchargé et renommé. ArduBlok fonctionne pour tout le monde systèmes d'exploitation, même sur Linux, je l'ai personnellement vérifié sur XP, Win7, Win8, tous les exemples pour Win7. L'installation du programme est la même pour tous les systèmes.

Bon, si c'est plus simple, j'ai préparé une archive sur le Mail-disk 7z, déballage dont vous trouverez 2 dossiers. Dans un déjà programme de travail Arduino IDE, et dans un autre dossier, le contenu doit être envoyé dans le dossier des documents.

Pour travailler avec ArduBlok, vous devez exécuter l'IDE Arduino. Ensuite, nous allons dans l'onglet Outils et nous y trouvons l'élément ArduBlok, cliquez dessus - et le voici, notre objectif.

Voyons maintenant l'interface du programme. Comme vous l'avez déjà compris, il n'y a pas de paramètres, mais il y a beaucoup d'icônes pour la programmation, et chacune d'entre elles porte une commande au format texte de l'IDE Arduino. Il y a encore plus d'icônes dans les nouvelles versions, alors familiarisez-vous avec ArduBlok dernière version difficile et certaines icônes ne sont pas traduites en russe.

Dans la section "Gestion", nous trouverons une variété de cycles.

Dans la rubrique "Ports", nous pouvons gérer avec vous les valeurs des ports, ainsi que l'émetteur de son, le servo ou le capteur de proximité à ultrasons qui y sont connectés.

Dans la section "Nombres / Constantes" nous pouvons sélectionner des valeurs numériques ou créer une variable avec vous, mais vous n'utiliserez guère celle ci-dessous.

Dans la rubrique "Opérateurs" nous trouverons avec vous tous les opérateurs de comparaison et de calcul nécessaires.

La section Utilitaires utilise principalement des icônes au fil du temps.

TinkerKit Bloks est la section pour les capteurs TinkerKit achetés. Bien sûr, nous n'avons pas un tel ensemble, mais cela ne signifie pas que les icônes ne fonctionneront pas pour d'autres ensembles, au contraire - il est très pratique pour les gars d'utiliser des icônes telles que l'allumage d'une LED ou d'un bouton. Ces caractères sont utilisés dans presque tous les programmes. Mais ils ont une particularité - lorsqu'ils sont sélectionnés, il y a des icônes incorrectes indiquant les ports, ils doivent donc être supprimés et l'icône de la section "nombres / constantes", la plus haute de la liste, doit être remplacée.

"DF Robot" - cette section est utilisée s'il y a des capteurs spécifiés, ils sont parfois rencontrés. Et notre exemple d'aujourd'hui ne fait pas exception, nous avons le "commutateur IR réglable" et le "capteur de ligne". Le "capteur de ligne" est différent de celui de la photo, puisqu'il provient d'Amperka. Leurs actions sont identiques, mais le capteur d'Amperka est bien meilleur, puisqu'il dispose d'un régulateur de sensibilité.

"Seeedstudio Grove" - ​​​​Je n'ai jamais utilisé les capteurs de cette section, bien qu'il n'y ait que des joysticks. Cette section a été étendue dans de nouvelles versions.

ET dernière partie c'est le Linker Kit. Les capteurs qui y sont présentés ne me sont pas parvenus.

Je voudrais montrer un exemple de programme sur un robot se déplaçant le long de la voie. Le robot est très simple, tant au niveau de l'assemblage que de l'achat, mais avant tout. Commençons par l'acheter et l'assembler.

Voici l'ensemble des pièces lui-même, tout a été acheté sur le site d'Amperka.

  1. AMP-B001 Motor Shield (2 canaux, 2 A) 1 890 roubles
  2. AMP-B017 Troyka Shield 1 690 rub
  3. AMP-X053 Compartiment à piles 3 × 2 AA 1 60 roubles
  4. AMP-B018 Capteur de ligne numérique 2 580 roubles
  5. ROB0049 Plate-forme à deux roues miniQ 1 1890 rub
  6. SEN0019 Capteur d'obstacles infrarouge 1 390 roubles
  7. FIT0032 Support pour capteur d'obstacles infrarouge 1 90 roubles
  8. A000066 Arduino Uno 1 1150 rub

Tout d'abord, assemblons la plate-forme à roues et soudons les fils aux moteurs.

Ensuite, nous installerons les racks pour la fixation de la carte Arduino UNO, qui ont été repris de l'ancien carte mère bien, ou d'autres montures similaires.

Ensuite, nous attachons la carte Arduino UNO à ces racks, mais nous ne pouvons pas visser un seul boulon - les connecteurs interfèrent. Vous pouvez, bien sûr, les abandonner, mais c'est à vous de décider.

Ensuite, nous attachons le capteur d'obstacles infrarouge à son support spécial. Veuillez noter que le contrôle de sensibilité est situé sur le dessus, c'est pour faciliter le réglage.

Maintenant, nous installons des capteurs de ligne numériques, ici nous devrons rechercher quelques boulons et écrous 4. Nous installons deux écrous entre la plate-forme elle-même et le capteur de ligne, et fixons le reste des capteurs.

Ensuite, installez le Motor Shield, ou sinon vous pouvez appeler le pilote du moteur. Dans notre cas, faites attention au cavalier. Nous n'utiliserons pas d'alimentation séparée pour les moteurs, elle est donc installée dans cette position. La partie inférieure est scellée avec du ruban isolant afin qu'il n'y ait pas de court-circuit accidentel du connecteur USB de l'Arduino UNO, juste au cas où.

Placez le Troyka Shield sur le Motor Shield. Il est nécessaire pour la commodité de connecter les capteurs. Tous les capteurs que nous utilisons sont numériques, les capteurs de ligne sont donc connectés aux ports 8 et 9, car ils sont également appelés broches, et le capteur d'obstacle infrarouge est connecté au port 12. Assurez-vous de noter que les ports 4, 5, 6, 7 ne peuvent pas être utilisés car ils sont utilisés par le Motor Shield pour contrôler les moteurs. J'ai même spécialement peint ces ports avec un marqueur rouge pour que les étudiants puissent le comprendre.

Si vous l'avez déjà remarqué, j'ai ajouté une pochette noire, juste au cas où, pour que le compartiment à piles que nous avons installé ne s'envole pas. Et enfin, nous fixons toute la structure avec une bande élastique régulière.

Il existe 2 types de connexions de compartiment de batterie. Première connexion filaire à Troyka Shield. Il est également possible de souder la prise d'alimentation et de la connecter à la carte Arduino UNO elle-même.

Maintenant, notre robot est prêt. Avant de vous lancer dans la programmation, vous devrez apprendre comment tout fonctionne, à savoir :
- Moteurs :
Les ports 4 et 5 sont utilisés pour contrôler un moteur, et 6 et 7 sont utilisés pour l'autre ;
On ajuste la vitesse de rotation des moteurs par PWM sur les ports 5 et 6 ;
En avant ou en arrière en signalant les ports 4 et 7.
- Capteurs :
Nous sommes tous numériques, ils donnent donc des signaux logiques sous la forme de 1 ou 0 ;
Et pour les ajuster, ils ont des régulateurs spéciaux et à l'aide d'un tournevis approprié, ils peuvent être calibrés.

Les détails peuvent être trouvés à Amperka. Pourquoi est-ce ici ? Parce qu'il y a beaucoup d'informations sur le travail avec l'Arduino.

Eh bien, nous avons peut-être tout regardé superficiellement, étudié et, bien sûr, assemblé le robot. Maintenant, il faut le programmer, le voici - le programme tant attendu !

Et le programme converti en Arduino IDE :

Configuration du vide () (pinMode (8, INPUT) ; pinMode (12, INPUT); pinMode (9, INPUT); pinMode (4, OUTPUT); pinMode (7, OUTPUT); pinMode (5, OUTPUT); pinMode (6 , OUTPUT);) void loop () (if (digitalRead (12)) (if (digitalRead (8)) (if (digitalRead (9)) (digitalWrite (4, HIGH); analogWrite (5, 255); analogWrite ( 6, 255) ; digitalWrite (7, HIGH);) else (digitalWrite (4, HIGH); analogWrite (5, 255) ; analogWrite (6, 50 ; digitalWrite (7, LOW);)) else (if (digitalRead (9)) (digitalWrite (4, LOW); analogWrite (5, 50); analogWrite (6, 255); digitalWrite (7, HIGH);) else (digitalWrite (4, HIGH); analogWrite (5, 255); analogWrite (6, 255); digitalWrite (7, HIGH);))) else (digitalWrite (4, HIGH); analogWrite (5, 0); analogWrite (6, 0); digitalWrite (7, HIGH);))

En conclusion, je tiens à dire que ce programme n'est qu'une aubaine pour l'éducation, même pour l'auto-apprentissage, il vous aidera à apprendre les commandes de l'IDE Arduino. Le point culminant principal est qu'il y a plus de 50 icônes d'installation, cela commence à "glitch". Oui, en effet, c'est un point culminant, car une programmation constante uniquement sur l'ArduBlok ne vous apprendra pas à programmer dans l'IDE Arduino. Le soi-disant "glitch" permet de penser et d'essayer de mémoriser des commandes pour un débogage précis des programmes.

Je te souhaite bonne chance.

Après vous être familiarisé avec les éléments de base d'Arduino et avoir écrit le "Hello World!" il est temps de se familiariser avec le langage de programmation.

La structure du langage est principalement basée sur C/C++, donc ceux qui ont déjà programmé dans ce langage n'auront aucune difficulté à maîtriser la programmation Arduino. Les autres doivent maîtriser les informations de base sur les commandes de contrôle, les types de données et les fonctions.

La plupart des informations contenues ici seront compatibles avec n'importe quel cours C/C++, étant donné les différences de types de données, ainsi que quelques instructions spécifiques concernant la programmation des ports d'E/S.

Les bases des bases

Plusieurs choses formelles, c'est-à-dire des choses que tout le monde connaît, mais parfois ils oublient...

Dans l'IDE Arduino, comme en C/C++, vous devez vous souvenir de la casse des caractères. Mots clés comme si, pour sont toujours écrits en minuscules. Chaque instruction se termine par ";". Le point-virgule indique au compilateur quelle partie interpréter comme une instruction.

Les crochets (..) sont utilisés pour indiquer les blocs de programme. Nous les utilisons pour contraindre le corps de la fonction (voir ci-dessous), les boucles et les instructions conditionnelles.

C'est une bonne pratique d'ajouter des commentaires au contenu du programme pour rendre le code facile à comprendre. Les commentaires d'une ligne commencent par // (double barre oblique). Les commentaires multilignes commencent par /* et terminer par */

Si nous voulons inclure une bibliothèque dans notre programme, nous utilisons la commande include. Voici des exemples de bibliothèques de connexion :

#comprendre // bibliothèque standard #include "svoya_biblioteka.h" // bibliothèque dans le répertoire du projet

Fonctions dans Arduino

Une fonction (sous-programme) est une partie distincte d'un programme qui effectue certaines opérations. Les fonctions sont utilisées pour simplifier le programme principal et améliorer la lisibilité du code. Il est utile d'utiliser des fonctions car nous pouvons facilement les utiliser dans plusieurs de nos projets.

Le cours de programmation standard contient des informations sur les fonctions qui seront présentées dans les articles suivants. Dans le cas de l'Arduino, les fonctions seront discutées au début, car même programme le plus simple devrait avoir deux fonctions spéciales. Cela a déjà été mentionné dans des articles précédents, mais nous organisons ici ces informations.

Déclaration de fonction

Le schéma de déclaration de fonction ressemble à ceci :

Tapez nom_fonction (paramètre) (// instructions à exécuter (corps de la fonction) return (/ * valeur de retour * /);)

un type Est le nom de n'importe qui type disponible Données sur cette langue programmation. La liste des types disponibles lors de la programmation d'Arduino est donnée dans un article séparé.

Après exécution, la fonction retournera une valeur du type déclaré. Si la fonction n'accepte aucune valeur de retour, alors le type de données sera « void ».

nom_fonction permet de l'identifier de manière unique. Pour appeler (exécuter) une fonction, nous lui donnons un nom.

paramètre- paramètre d'appel de fonction. Les paramètres sont facultatifs, mais souvent utiles. Si nous écrivons une fonction qui n'a pas d'arguments, nous laissons les parenthèses vides.

A l'intérieur des crochets "(...)" se trouve le corps réel de la fonction ou de l'instruction que nous voulons exécuter. Nous indiquerons la description des instructions spécifiques dans un article séparé.

Toutes les fonctions qui renvoient une valeur se terminent par une instruction return suivie d'une valeur de retour. Seules les fonctions déclarées avec un pointeur nul ("void") ne contiennent pas d'instruction return. Sachez que l'instruction return met fin à l'exécution de la fonction quel que soit l'emplacement.

Vous trouverez ci-dessous quelques exemples de déclarations de fonctions.

Void f1 () (// corps de fonction) —————————————— int moins () (// corps de fonction retour (0);) ——————————— ——— int plus (int a, int b) (retour (a + b);)

Comme vous pouvez le voir dans les exemples, une déclaration de fonction peut prendre différentes formes selon vos besoins.

Il est fortement recommandé d'apprendre et d'appliquer des fonctions tout en écrivant propres programmes... Au fil du temps, chaque programmeur obtient sa propre bibliothèque de fonctions "pour toutes les occasions", ce qui facilite et accélère l'écriture de nouveaux programmes.

Maintenant que nous savons comment écrire notre propre fonction, nous devons apprendre à l'utiliser.

Appel de fonction

Nous écrivons toutes les fonctions dans un seul fichier/programme. Il existe bien sûr une solution plus élégante, mais nous essaierons de la décrire la prochaine fois.

Après avoir déclaré une fonction, nous pouvons l'utiliser dans d'autres fonctions avec le nom approprié et tous les paramètres requis. Vous trouverez ci-dessous des exemples d'appel des fonctions que nous avons données ci-dessus :

F1 (); plus (2.2); y = plus (1,5);

Comme vous pouvez le voir dans les exemples, une fonction est appelée en spécifiant son nom et le nombre de paramètres requis. Il est important de toujours appeler la fonction selon sa déclaration.

Si la fonction f1() est déclarée sans paramètres, aucun paramètre ne peut être spécifié lors de son appel, c'est-à-dire l'appel de fonction f1 (0) sera faux.

La fonction plus (int a, int b) requiert exactement deux paramètres, donc un appel avec un ou trois paramètres n'est pas possible.

Appeler y = plus (1,5) exécutera la fonction « plus » avec les paramètres « 1 » et « 5 » et stockera la valeur renvoyée dans la variable « y ».

Fonctions de configuration () et de boucle ().

Avec la connaissance des fonctions de déclaration et d'appel, nous pouvons passer aux fonctions du système Arduino : installer () et boucle ()... Arduino IDE est requis pour déclarer ces deux fonctions.

setup () est une fonction qui est appelée automatiquement à la mise sous tension ou à la pression du bouton RESET.

Comme son nom l'indique, il est utilisé pour définir les valeurs initiales des variables, les déclarations d'entrées et de sorties du système, qui sont généralement définies dans paramètres initiaux... De par sa spécificité, cette fonction ne retourne pas de valeur et n'est pas appelée avec des paramètres. La déclaration correcte de la fonction setup() est indiquée ci-dessous :

Configuration du vide () (// corps de la fonction - initialisation du système)

loop() est une fonction qui est appelée dans une boucle sans fin. Cette fonction ne renvoie pas non plus de valeur et n'est pas appelée avec des paramètres. La déclaration de fonction loop() correcte est indiquée ci-dessous :

Boucle vide () (// corps de la fonction - code du programme)

Comme vous pouvez le voir, la déclaration de la fonction loop() est identique à la déclaration de la fonction setup(). La différence réside dans l'exécution de ces fonctions par le microcontrôleur.

Nous allons maintenant analyser le pseudocode suivant :

Configuration du vide () (on_led1 (); // allume la LED led1 off_led1 (); // éteint la LED led1) boucle vide () (on_led2 (); // allume la LED led2 off_led2 (); // éteindre la LED led2)

Il y a deux instructions dans la fonction setup() : la première allume la LED led1 connectée à la carte (par exemple, la broche 13), et la seconde éteint la LED led1.

La fonction loop() a des instructions identiques pour allumer et éteindre la led2 qui est connectée à la carte (par exemple, la broche 12).

À la suite du démarrage du programme, la led1 clignotera une fois, tandis que la led2 s'allumera et s'éteindra tant que l'Arduino est allumé.

En appuyant sur le bouton RESET, la led1 clignotera à nouveau et la led2 clignotera à nouveau en continu.

Résumer:

  • Les fonctions setup() et loop() sont des fonctions système qui doivent être définies dans chaque projet. Même dans une situation où nous n'écrivons aucun code dans l'une d'elles, nous devons toujours déclarer ces deux fonctions ;
  • Setup () s'exécute une fois, loop () s'exécute en continu ;
  • Nous créons nos propres fonctions dans un seul fichier ;
  • Nous pouvons appeler nos fonctions à la fois depuis setup() et loop() et depuis d'autres fonctions ;
  • Nos propres fonctions peuvent être appelées avec des paramètres et renvoyer une valeur ;
  • L'appel de fonction doit être effectué conformément à sa déclaration.

" présente formation Arduino pour les débutants. La série est présentée avec 10 leçons, ainsi que du matériel supplémentaire. Les leçons comprennent des instructions textuelles, des photographies et des vidéos pédagogiques. Dans chaque leçon, vous trouverez une liste des composants requis, une liste du programme et un schéma de câblage. Après avoir terminé ces 10 leçons de base, vous pouvez commencer avec plus modèles intéressants et la construction de robots basés sur Arduino. Le cours s'adresse aux débutants, pour le débuter, vous n'en avez pas besoin Informations Complémentaires de l'électrotechnique ou de la robotique.

Arduino en un coup d'œil

Qu'est-ce qu'Arduino ?

Arduino (Arduino) - plate-forme informatique matérielle, dont les principaux composants sont la carte d'E / S et l'environnement de développement. Arduino peut être utilisé pour créer des objets interactifs autonomes ainsi que pour se connecter à Logiciel en cours d'exécution sur votre ordinateur. Arduino est comme un ordinateur monocarte.

Quel est le lien entre Arduino et les robots ?

La réponse est très simple - Arduino est souvent utilisé comme le cerveau du robot.

L'avantage des cartes Arduino par rapport aux plates-formes similaires est un prix relativement bas et une distribution presque massive parmi les amateurs et les professionnels de la robotique et de l'électrotechnique. En vous impliquant avec Arduino, vous trouverez un soutien dans toutes les langues et des personnes partageant les mêmes idées qui répondront aux questions et avec lesquelles vous pourrez discuter de vos développements.

Leçon 1. LED clignotante sur Arduino

Dans la première leçon, vous apprendrez à connecter une LED à un Arduino et à la contrôler pour qu'elle clignote. C'est le modèle le plus simple et le plus basique.

Diode électro-luminescente- un dispositif semi-conducteur qui crée un rayonnement optique lorsqu'il le traverse courant électrique dans le sens avant.

Leçon 2. Connecter un bouton à Arduino

Dans ce tutoriel, vous apprendrez à connecter un bouton et une LED à un Arduino.

Lorsque le bouton est enfoncé, la LED sera allumée, lorsqu'elle est relâchée, elle ne sera pas allumée. C'est aussi le modèle de base.

Leçon 3. Connexion du potentiomètre à Arduino

Dans ce tutoriel, vous apprendrez à connecter un potentiomètre à un Arduino.

Potentiomètre- Ce résistance avec résistance réglable.Les potentiomètres sont utilisés comme régulateurs de divers paramètres - volume sonore, puissance, tension, etc.C'est aussi l'un des schémas de base. Dans notre modèle en tournant le bouton du potentiomètrela luminosité de la LED dépendra.

Leçon 4. Contrôler un servo sur Arduino

Dans ce tutoriel, vous apprendrez à connecter un servo à un Arduino.

ServomoteurEst un moteur dont la position de l'arbre peut être contrôlée en réglant l'angle de rotation.

Les servos sont utilisés pour simuler divers mouvements mécaniques des robots.

Leçon 5. LED tricolore sur Arduino

Dans ce tutoriel, vous apprendrez à connecter une LED 3 couleurs à un Arduino.

LED tricolore(LED RVB) - ce sont trois LED Couleurs différentes dans un cas. Ils sont tous les deux petits circuit imprimé, sur lequel se trouvent les résistances, et sans résistances intégrées. Cette leçon couvre les deux options.

Leçon 6. Élément piézoélectrique sur Arduino

Dans cette leçon, vous apprendrez à connecter un élément piézoélectrique à un Arduino.

Élément piézoélectrique- un convertisseur électromécanique qui traduit tension électrique dans l'oscillation de la membrane. Ces vibrations créent du son.

Dans notre modèle, la fréquence du son peut être ajustée en définissant les paramètres appropriés dans le programme.

Leçon 7. Photorésistance sur Arduino

Dans cette leçon de notre cours, vous apprendrez à connecter une photorésistance à un Arduino.

Photorésistance- une résistance dont la résistance dépend de la luminosité de la lumière tombant dessus.

Dans notre modèle, la LED ne s'allume que si la luminosité de la lumière au-dessus de la photorésistance est inférieure à une certaine luminosité, cette luminosité peut être ajustée dans le programme.

Leçon 8. Capteur de mouvement (PIR) sur Arduino. Envoi automatique d'e-mail

Dans cette leçon de notre cours, vous apprendrez à connecter un capteur de mouvement (PIR) à un Arduino, ainsi qu'à organiser envoi automatique e-mail.

Détecteur de mouvement (PIR)- capteur infrarouge pour détecter un mouvement ou la présence de personnes ou d'animaux.

Dans notre modèle, lorsqu'un signal sur le mouvement d'une personne est reçu d'un capteur PIR, l'Arduino envoie une commande à l'ordinateur pour envoyer un e-mail et la lettre est envoyée automatiquement.

Leçon 9. Connecter un capteur de température et d'humidité DHT11 ou DHT22

Dans cette leçon, vous apprendrez à connecter un capteur de température et d'humidité DHT11 ou DHT22 à un Arduino, ainsi qu'à connaître les différences de leurs caractéristiques.

Capteur de température et d'humidité Est un capteur numérique composite composé d'un capteur d'humidité capacitif et d'une thermistance pour mesurer la température.

Dans notre modèle, l'Arduino lit les lectures du capteur et affiche les lectures sur l'écran de l'ordinateur.

Leçon 10. Connexion du clavier Matrix

Dans cette leçon de notre cours, vous apprendrez à connecter un clavier matriciel à une carte Arduino, ainsi qu'à vous familiariser avec divers circuits intéressants.

Clavier matriciel conçu pour faciliter la connexion un grand nombre boutons. De tels dispositifs se trouvent partout - dans les claviers d'ordinateur, les calculatrices, etc.

Leçon 11. Connexion du module d'horloge temps réel DS3231

Dans la dernière leçon de notre cours, vous apprendrez à connecter un module d'horloge temps réel de la famille
DS à la carte Arduino et familiarisez-vous également avec divers circuits intéressants.

Module horloge temps réel est un circuit électronique conçu pour enregistrer des données chronométriques (heure courante, date, jour de la semaine, etc.), est un système à partir d'une source d'alimentation autonome et d'un appareil comptable.

Application. Frameworks et robots prêts à l'emploi pour Arduino


Vous pouvez commencer à apprendre Arduino non seulement à partir de la carte elle-même, mais également en achetant un robot à part entière prêt à l'emploi basé sur cette carte - un robot araignée, une voiture robot, un robot tortue, etc. Tel façon convient à ceux qui ne sont pas particulièrement attirés par les circuits électriques.

En achetant un modèle de robot fonctionnel, c'est-à-dire en fait, un jouet de haute technologie fini, vous pouvez éveiller l'intérêt pour l'auto-conception et la robotique. L'ouverture de la plate-forme Arduino permet une seule et même composants fabriquez-vous de nouveaux jouets.

Une autre option consiste à acheter un châssis ou un corps de robot : une plate-forme sur roues ou une chenille, un humanoïde, une araignée, etc. Dans ce cas, vous devrez effectuer vous-même le remplissage du robot.

Application. Annuaire mobile


- un assistant pour les développeurs d'algorithmes pour la plateforme Arduino, dont le but est de donner à l'utilisateur final la possibilité d'emporter un ensemble de commandes mobile (référence).

L'application se compose de 3 sections principales :

  • Les opérateurs;
  • Données;
  • Les fonctions.

Où acheter Arduino


Kits Arduino

Des leçons supplémentaires seront ajoutées au cours. Abonnez-vous à nous

Cet article d'introduction s'adresse à ceux qui ont déjà déballé une douzaine ou deux boîtes colorées de designers avec leur enfant, construit des centaines de designs différents et rempli tous les conteneurs disponibles dans le placard avec des pièces Lego. Si vous êtes prêt à passer au niveau supérieur : avec l'électronique, les microcontrôleurs, les capteurs et les appareils intelligents, alors il est temps d'expérimenter avec Arduino !

Dans cette série d'articles, nous rassemblerons les choses les plus importantes que vous devez apprendre sur Arduino afin de commencer à vous entraîner avec des enfants par vous-même. Même si vous n'avez jamais acheté de fer à souder et que les mots « contrôleur » et « contrôleur » ont à peu près la même signification pour vous, vous pouvez être sûr que vous réussirez quand même ! Le monde de l'électronique et de la robotique regorge aujourd'hui de solutions simples et très pratiques qui vous permettent de créer des projets très intéressants presque à partir de zéro. Notre tutoriel vous aidera à naviguer rapidement et à faire les premiers pas.

Dans le langage courant, Arduino est, dans lequel vous pouvez vous en tenir beaucoup différents appareils et les faire fonctionner ensemble à l'aide d'un programme écrit en langage Arduino dans un environnement de programmation spécial.

Le plus souvent, le tableau ressemble à ceci :

La figure montre l'une des cartes Arduino - Arduino Uno. Nous l'explorerons plus en détail dans les prochaines leçons.

Vous pouvez coller des fils dans la carte et connecter de nombreux éléments différents. Le plus souvent, pour la connexion est utilisé planche à pain pour un montage sans soudure. Vous pouvez ajouter des LED, des capteurs, des boutons, des moteurs, des modules de communication, des relais et créer des centaines de conceptions d'appareils intelligents intéressantes. La carte Arduino est prise intelligente, qui activera et désactivera tout ce qui est connecté en fonction de la façon dont il a été programmé.




Tout le travail sur le projet est divisé en les étapes suivantes:

  1. Nous proposons une idée et un design.
  2. Nous collectons circuit électrique... C'est là qu'une planche à pain devient pratique, ce qui simplifie l'installation des éléments. Certes, vous aurez besoin de compétences pour travailler avec des appareils électroniques et de compétences.
  3. Nous nous connectons à l'ordinateur via USB.
  4. et écrivez-le sur le tableau en appuyant littéralement sur un bouton à l'écran.
  5. Déconnectez-vous de l'ordinateur. Maintenant, l'appareil fonctionnera de manière autonome - à la mise sous tension, il sera contrôlé par le programme que nous y avons écrit.

Le programme et l'environnement de programmation ressemblent à ceci :

L'écran affiche un programme (en argot Arduino, le texte du programme s'appelle "esquisse"), qui clignotera avec une lumière connectée à la 13e entrée de la carte Arduino UNO. Comme vous pouvez le voir, le programme est assez simple et se compose de compréhensible pour ceux qui savent langue anglaise instructions. Le langage de programmation Arduino utilise son propre dialecte du langage C ++, mais toutes les fonctionnalités C ++ sont prises en charge.

Il existe une autre option pour écrire du code - un éditeur visuel. Il n'est pas nécessaire d'écrire quoi que ce soit ici - vous pouvez simplement déplacer les blocs et ajouter l'algorithme souhaité à partir d'eux. Le programme sera chargé dans la carte connectée d'un simple clic sur le bouton de la souris !

Dans l'ensemble, cela semble assez simple, n'est-ce pas? Reste à comprendre les détails.

Démarrage rapide avec Arduino

Tout d'abord, comprenons ce que nous allons faire et ce que nous allons faire. Qu'est-ce qu'Arduino et comment l'utiliser ? Si vous connaissez déjà le sujet, vous pouvez passer en toute sécurité. Sinon, faisons une petite plongée ensemble.

Arduino est...

Arduino n'est pas une marque ou le nom d'un fournisseur de constructeur. Il s'agit d'un nom général pour toute une famille de technologies différentes et une plate-forme ouverte, qui comprend à la fois des périphériques matériels (cartes contrôleurs et équipements compatibles) et des logiciels conçus pour gérer le matériel. Essentiellement, Arduino est une infrastructure et un environnement dans lesquels vous pouvez assembler des composants électroniques et mécaniques compatibles en un seul appareil, puis, via un ordinateur ordinaire, en deux minutes, programmer le comportement de ces mêmes composants matériels de la manière dont nous avons besoin. .

Arduino est un pont entre le monde informatique virtuel et le monde des objets et des appareils réels. En écrivant un programme en un ordinateur ordinaire, nous l'utilisons pour contrôler non pas des objets virtuels, mais des capteurs, moteurs, écrans bien réels. Nous changeons le monde qui nous entoure - simplement en programmant sur un ordinateur, en utilisant logiciel gratuit et de nombreuses bibliothèques d'exemples prêtes à l'emploi.

La technologie tire son nom, comme c'est souvent le cas, un peu par hasard. La source d'inspiration était le bar où les futurs créateurs d'Arduino aimaient prendre une tasse de thé. Le nom de l'institution est exactement cela - Arduino, du nom de la principale personnalité historique de la ville d'Ivrea, le roi Arduino. Le roi n'a laissé aucune marque lumineuse dans l'histoire et était connu comme un perdant, mais grâce à l'équipe de développement nouvelle plateforme a gagné en popularité et est maintenant connu de millions de personnes dans le monde.

Pourquoi Arduino ?

La beauté d'Arduino réside dans les avantages simples suivants :

  1. Simplicité. Oui, oui - juste de la simplicité (bien que Lego et d'autres jouets, sans aucun doute, soient plus familiers, mais nous ne les comparons pas). Pour les jeunes développeurs en électronique, Arduino "cache" une grande variété de problèmes techniques. De nombreux projets assez complexes peuvent être créés très rapidement, sans une longue immersion dans les détails. Et c'est très important pour un enfant - de ne pas se désintéresser avant le premier résultat obtenu de ses propres mains.
  2. Popularité. Arduino est extrêmement populaire, vous pouvez facilement trouver des réponses à toutes vos questions sur de nombreux forums ou sites. La communauté Arduino est vaste et amicale - il y a relativement peu d'ingénieurs snob qui ont vécu toute la vie et sont pleins d'amateurs et de débutants qui partagent volontiers leur joie de ce qu'ils ont trouvé et reconnu. Ceci, bien sûr, laisse une empreinte sur la qualité des conseils, mais en règle générale, même les problèmes les plus difficiles peuvent être rapidement résolus à l'aide de forums et de sites.
  3. Disponibilité. La technologie elle-même et presque tous les logiciels sont publiés sous des licences ouvertes, et vous pouvez utiliser librement les développements, les schémas d'autres personnes et, dans de nombreux cas, même à des fins commerciales. Cela vous fait gagner beaucoup de temps et vous permet de faire de grands progrès, en vous appuyant sur l'expérience des chercheurs précédents.
  4. Bas prix. Un kit pour les premières leçons d'électronique et de programmation peut être acheté pour moins de 500 roubles. Des cours complets de robotique sont possibles avec. Aucune autre technologie ne vous permettra d'entrer dans le monde de la vraie robotique éducative si rapidement et si efficacement.

Où commencer?

Si vous voulez faire de la robotique avec Arduino, alors vous avez besoin du kit de gentleman :

  1. avec câble USB pour la connexion à un ordinateur.
  2. et des fils.
  3. Ensemble de base Composants electroniques et un adaptateur pour une pile de type couronne.
  4. L'environnement installé sur l'ordinateur

Tous les équipements sont vendus en kits appelés kits de démarrage -

À l'avenir, si les cours captivent vraiment et qu'il y a une volonté de poursuivre les expérimentations, la liste des équipements s'allongera :

  1. Écrans et indicateurs.
  2. Moteurs et relais, etc.
  3. Modules de communication.
  4. Divers modules supplémentaires et (boucliers)

Si les premiers pas donnent un résultat, au fil du temps vous reconnaîtrez la moitié des personnes qui font la queue à la poste (si vous ne les connaissez toujours pas), et les facteurs vous reconnaîtront à vue et courront nerveusement de l'autre côté de la la route.

Comment acheter un Arduino ?

Avant d'apprendre quelque chose d'utile, vous devez d'abord acheter quelque chose d'utile. Pour expérimenter avec l'électronique, vous aurez besoin de cette électronique elle-même sous la forme d'un concepteur ou de cartes séparées. Il est recommandé d'acheter un ensemble domestique pas très cher avec les composants principaux puis de commander des capteurs, moteurs, contrôleurs et autres trésors chez Aliexpress. peuvent être trouvés sur Internet (pas seulement sur notre site Web). Si vous habitez dans grande ville, puis acheter tout ce dont vous avez besoin prendra un maximum de deux jours. Trouver le magasin que vous voulez est facile sur Internet.

Quelques mots sur. Aujourd'hui, ils peuvent être fabriqués dans des conditions tout à fait légales par n'importe quel fabricant : aussi bien les grands, comme Intel, que les petits fournisseurs de noname en provenance de Chine. La fiabilité et la commodité des cartes Arduino "chinoises" et "officielles" sont dans la plupart des cas les mêmes. Par conséquent, il n'est pas nécessaire de payer trop cher - pour vos projets éducatifs, vous pouvez acheter en toute sécurité des analogues faciles à trouver sur Internet.

Comment distinguer "original" de "carte compatible":

  1. Les cartes "chinoises" ne sont pas autorisées à mettre le logo Arduino.
  2. Les planches "chinoises" sont beaucoup moins chères.
  3. Les "chinois" utilisent souvent une puce différente pour maintenir la connexion à l'ordinateur, ce qui nécessite des pilotes spéciaux. Les pilotes sont installés en une seconde et ne causent presque jamais de problèmes.

Nous soulignons encore une fois que l'utilisation de planches non originales est tout à fait légale. Arduino est une architecture ouverte et les développeurs donnent à chacun la possibilité de créer sa propre version de la carte.

Vous ne pouvez pas acheter ?

Si vous vivez en Antarctique ou si vous n'avez vraiment pas assez de fonds pour les ensembles les plus simples, ne désespérez pas - vous pouvez commencer à étudier Arduino sur des simulateurs virtuels. L'option la plus puissante, la plus simple et la plus populaire aujourd'hui est un service en ligne Tinkercad de entreprise célèbre Autodesk. Vous pouvez créer des circuits électroniques en connectant une grande variété de composants, puis « allumer » l'alimentation et mesurer tous les indicateurs électriques. La bibliothèque de périphériques contient également une carte Arduino et même un éditeur intégré pour la programmation (y compris un visuel !). Vous pouvez trouver un article séparé sur notre site Web

Vous avez aimé l'article ? A partager entre amis :