Faire du gagnant de la loterie à l'aide d'Arduino Uno

Faire du gagnant de la loterie à l'aide d'Arduino Uno
La famille Arduino offre un moyen facile de concevoir une variété de circuits et permet également au nouvel utilisateur de comprendre le fonctionnement des circuits également. Il existe une variété de projets qui peuvent être réalisés en utilisant la plate-forme Arduino et, dans ce discours, un simple gagnant du code de loterie Arduino est réalisé. Le code Arduino compilé dans Arduino IDE est ensuite implémenté sur le circuit conçu pour les gagnants de loterie à l'aide de la carte Arduino Uno.

Faire du gagnant de la loterie à l'aide d'Arduino Uno

Pour concevoir le Circuit for Lottery Winner, nous avons utilisé les composants suivants qui sont:

  • Arduino Uno
  • Fils de cavalier
  • Planche à pain
  • Potentiomètre
  • LCD
  • Bouton-poussoir

L'image du schéma du circuit conçu pour créer un gagnant de loterie est publiée ci-dessous:

Implémentation du matériel des gagnants de loterie Arduino

Nous avons connecté les composants de manière à ce que tous les appareils soient placés sur la planche à pain. Ensuite, nous avons utilisé des fils de connexion pour interfacer les composants avec l'Arduino.

Nous avons utilisé les broches 6,5,4,3 et 2 d'Arduino pour envoyer des données sur l'écran. Nous avons également donné l'alimentation à la ligne la plus supérieure de la planche à pain car elles sont connectées horizontalement et à la mise à la terre de la ligne suivante à la ligne la plus élevée de la planche à pain à l'aide de la broche à 5 volts et moulues d'Arduino.

De là, nous pouvons donner l'alimentation des composants placés sur la planche à pain et la sortie du potentiomètre est connectée à la broche V0 de l'écran LCD pour contrôler la luminosité de l'écran LCD.

Le bouton-poussoir est connecté à la broche de réinitialisation de l'Arduino et son autre broche est connectée à la broche de terre de la planche à pain.

Pour donner l'image claire des connexions de chaque composant du projet, nous avons donné une image de l'assemblage matériel ci-dessous:

Code Arduino pour le projet de gagnant de loterie

Pour concevoir un gagnant de loterie, nous avons utilisé deux fonctions principales une est la aléatoire() Et l'autre est le Randomsseed () fonction.

Le aléatoire() La fonction a besoin de deux entrées pour définir la plage pour générer les nombres aléatoires: le premier est le nombre le plus bas à partir duquel il commencera et le second est le nombre le plus élevé qui définit le nombre maximal qu'il peut générer. La valeur minimale est un argument facultatif car la fonction prend zéro comme valeur minimale. Cette fonction génère des nombres dans une certaine plage spécifiée par l'utilisateur.

De même, le Randomsseed () La fonction est utilisée pour générer différentes séquences aléatoires à chaque fois lorsque le code est compilé. Cette fonction a un argument qui est la sortie de la broche analogique de l'Arduino qui n'est pas connecté.Il est important de noter que sans la fonction Random Random (), vous obtiendrez les mêmes valeurs.

Nombre aléatoire = aléatoire (minimum, maximum);

RandomsEed (analogread (PIN));

Le projet Arduino Code for Lottery Winner est:

// déclarant les variables de nombre aléatoire avec un long type de données
long rn1;
long rn2;
long rn3;
long rn4;
#include // bibliothèque pour l'écran LCD
LCD LiquidCrystal (12, 11, 6, 5, 4, 3); // épingles Arduino pour LCD
void setup()
En série.commencer (9600); // Communication série
LCD.commencer (16,2); // initialisation des dimensions de l'écran LCD
Randomseed (analogread (0)); // Fonction pour mélanger les nombres aléatoires
LCD.setCursor (4,0); // Définition du lieu pour que les données soient affichées
LCD.print ("arduino"); // données à imprimer sur l'écran LCD
LCD.setCursor (1,1); // réglage la place pour que les données soient affichées
LCD.Imprimer ("Winner Lottery"); // Données à imprimer sur LCD
retard (3000); // Le temps des données sera affiché dans l'écran LCD
LCD.clear (); // effacer le LCD
rn1 = aléatoire (200); // générant le nombre aléatoire jusqu'à 300
rn2 = aléatoire (500); // générant le nombre aléatoire jusqu'à 500
rn3 = aléatoire (800); // générant le nombre aléatoire jusqu'à 800
rn4 = aléatoire (700); // générant le nombre aléatoire jusqu'à 700
LCD.setCursor (0,0); // définir la place pour que les données soient affichées
LCD.imprimer ("générer un"); // données à imprimer sur l'écran LCD
LCD.setCursor (0,1); // régler la place pour les données à afficher
LCD.Imprimer ("numéro de loterie"); // Données à imprimer sur l'écran LCD
retard (3000); // Le temps des données sera affiché dans l'écran LCD
LCD.clear (); // effacer le LCD
LCD.setCursor (0,0); // définir la place pour que les données soient affichées
LCD.imprimer ("Winner Is"); // Données à imprimer sur l'écran LCD
// en utilisant pour les boucles le nombre de génération du numéro de loterie à l'aide des nombres aléatoires générés
pour (int i = 0; i<=rn1; i++)
LCD.setCursor (0,1); // régler la place pour les données à afficher
LCD.imprimer (i); // affichant le premier numéro de la loterie

LCD.setCursor (2,1); // définir la place pour les données à afficher
LCD.Imprimer ("-"); // Données à imprimer sur LCD
pour (int b = 0; b<=rn2; b ++)
LCD.setCursor (3,1); // régler la place pour les données à afficher
LCD.imprimer (b); // affichant le deuxième numéro à la loterie

LCD.setCursor (5,1); // régler la place pour que les données soient affichées
LCD.Imprimer ("-"); // Données à imprimer sur LCD
pour (int a = 0; a<=rn3; a++)
LCD.setCursor (6,1); // définir la place pour que les données soient affichées
LCD.imprimer (a); // affichant le troisième numéro à la loterie

LCD.setCursor (8,1); // définir la place pour les données à afficher
LCD.Imprimer ("-"); // Données à imprimer sur LCD
pour (int c = 0; c<=rn4; c++)
LCD.setCursor (9,1); // Définition de la place pour que les données soient affichées
LCD.imprimer (c); // affichant le quatrième numéro à la loterie


void loop ()

Dans le code Arduino d'abord, nous avons déclaré les variables dans lesquelles les nombres aléatoires seront stockés. Après cela, la bibliothèque de l'écran LCD est définie, puis les épingles de l'Arduino connectées à l'écran LCD sont initialisées.

Après cela, les dimensions de l'écran LCD sont initialisées et certaines données sont imprimées dans l'écran LCD à l'aide du LCD.imprimer() et LCD.setCursor () fonction.

Nous avons généré 4 nombres aléatoires en utilisant le aléatoire() fonction et pour mélanger les séquences à chaque fois que nous avons utilisé Randomsseed () fonction en lui donnant la sortie d'une broche non connectée de l'Arduino en utilisant analogread () fonction.

Une fois les nombres aléatoires générés, nous avons utilisé les boucles pour générer davantage un nombre allant de 0 à ce numéro aléatoire généré spécifique.

Pour ré-cours le code et pour générer à nouveau un autre numéro de loterie, nous avons utilisé un bouton de réinitialisation externe en connectant sa broche au sol et à l'autre broche à la broche de réinitialisation de l'Arduino Uno. Nous avons également utilisé le potentiomètre pour contrôler la luminosité de l'écran LCD. Les nombres sont ensuite affichés en utilisant le LCD.imprimer() et LCD.setcursor fonction sur l'écran LCD.

Simulation gagnante de la loterie Arduino

Nous avons d'abord fait la simulation sur un logiciel Proteus et est illustré ci-dessous:

Arduino Lottery Winner Sortie sur le matériel

Après la simulation, nous avons fait l'implémentation matérielle et les images de la sortie du code Arduino compilé pour la loterie des gagnants sont publiées dans la séquence d'exécution du programme.

Génération d'un numéro de loterie en appuyant sur le bouton:

Le numéro de loterie généré est illustré ci-dessous:

Conclusion

Pour faire des circuits au niveau débutant ou avancé, la plate-forme Arduino est une option viable car il facilite l'interfaçage des périphériques avec les microcontrôleurs. Dans cet article, nous avons fait un générateur de nombres de loterie en obtenant des nombres aléatoires en utilisant le aléatoire() fonction. De plus, pour modifier la séquence de la génération des nombres aléatoires, nous avons utilisé le Randomsseed () fonction.