Etape 1: Description
Ce projet utilise l’Arduino Pro-mini board, qui a une très petite taille et peut être connecté avec connecteurs compatibles pour pain. Le jury est livré avec contrôleur ATMEGA128 ou ATMEGA328 dedans qui fonctionne avec une fréquence de cristal de 8MHz ou 16MHz. Le Conseil de Pro-mini Arduino a broches numériques marqués comme 2, 3, 4 à 13. Dans une carte Arduino certains des broches numériques peuvent être configurées comme analogiques broches de sortie et il y a aussi des broches d’entrée analogiques dédiées qui peuvent être utilisés pour des applications de détection de tension.
(vérifier les images ci-dessus)
Comme la carte Pro-mini arduino présente non circuitary pour l’interfaçage avec le port série ou le port USB du PC il, un externe USB à carte de convertisseur TTL est requis pour le connecter avec le PC. Ce matériel permet à la programmation de la carte arduino et contribue également à la communication série avec le port USB du PC.
Pour la compréhension de base de l’Arduino, vous pouvez aller à ce projet et vérifier Comment débuter avec l’arduino et essayer toutes les choses discutés là. Le Conseil de Pro-mini Arduino a 8 broches d’entrée analogiques marqués comme A0, A1 à A7. Ils sont en fait les canaux d’entrée à l’ADC intégré de l’ATMEGA328 qui peut lire la valeur analogique et les convertir à l’équivalent numérique. En tension analogique normale sensing applications que la broche d’entrée analogique nécessaire sera connectée à une tension qui doit être lu. Supposons que la situation dans laquelle la broche analogique est laissée non connectée. La tension sur la broche n’est pas définie et donc quelle lecture à l’aide de l’ADC, la sortie numérique aussi sera une valeur aléatoire non définie. Il s’agit de la méthode de base par lequel on obtient un nombre aléatoire.
Le premier nombre aléatoire obtenu à partir du matériel s’appelle une « graine ». Cette graine est ensuite appliquée aux algorithmes appelés nombre aléatoire générant l’algorithme qui permet de générer un aléatoire numéro qui, à l’intérieur d’une plage spécifiée. Il y a des fonctions intégrées à l’IDE Arduino qui contribue à générer des nombres aléatoires. Ce projet se sert de deux fonctions, à savoir randomSeed() et random() et les détails de la fonction sont discutés ci-dessous ;
randomSeed()
randomSeed() Initialise le générateur de nombres pseudo-aléatoires, amenant à commencer à un point arbitraire dans sa séquence aléatoire. Cette fonction comporte un paramètre qui décide à partir de quel moment dans la séquence si le numéro commence de génération aléatoire. Pour initialiser le générateur de nombres pseudo-aléatoires avec une nouvelle séquence, chaque fois, la valeur fournie comme paramètre devrait également être différente.
Ce code particulier lit une valeur aléatoire de la broche d’entrée analogique A0 qui reste non connecté afin que chaque fois que le code s’exécute qu'il peut générer différents ensemble de nombres aléatoires.
Random()
La fonction random() est utilisé pour générer un nombre Pseudo-aléatoire qui tombe dans une plage spécifiée. La fonction est toujours appelée après l’appel à la fonction randomSeed(). Cette fonction possède deux paramètres, dont la première est la plus faible valeur requise et le second est la plus grande valeur requise.
LE CODE
Le code écrit pour ce projet Initialise le générateur de nombres pseudo-aléatoires avec une valeur aléatoire de lire à partir de l’axe d’entrée analogique A0 et utilise la fonction randomSeed(). La fonction utilisée pour lire la valeur d’A0 est fonction de analogRead() qui est déjà abordée dans les projets antérieurs sur comment utiliser les entrées analogiques et une sortie analogique de la carte Arduino, comment utiliser Arduino pour afficher les valeurs du capteur, Comment faire capteur dynamique d’affichage en utilisant Arduino, Comment faire pour enregistrer des valeurs de la sonde dans l’EEPROM de l’Arduino.
La fonction random() est ensuite utilisé pour générer un nombre Pseudo-aléatoire et est envoyé à la fenêtre de Serial monitor avec l’aide des fonctions Serial.begin() et Serial.write() qui sont déjà abordées dans des projets antérieurs sur Comment faire une communication série avec l’Arduino, Comment envoyer et recevoir des données série en utilisant arduino, Comment faire pour effectuer un débogage serial avec l’Arduino. Aussi, le code s’allume une LED utilisant le même nombre d’aléatoire pour faire varier sa luminosité en écrivant de la même valeur sur la broche de sortie analogique où la diode est reliée.
Lorsque le codage est terminé, on peut vérifier et télécharger le code de la carte Arduino, comme expliqué dans le projet Comment débuter avec l’Arduino. Le code en continu génère des nombres aléatoires, et on peut les observer à l’aide de Serial monitor comme expliqué dans le projet sur la façon d’effectuer le débogage serial avec l’Arduino.