C/C++ En Arduino : Ciclos pour qui Y (4 / 5 étapes)

Étape 4: Código

En este ejemplo, vamos a crear un montón de caminadores aleatorios. Fils de Côme partículas que caminan en cualquier dirección. Para crear aleatoriedad utilizamos la función random(), y como verán por el resultado, fr Arduino es bastante mala, pero simples d’aplicaciones para, fonctionne bien. TODO lenguaje de programación tiene algún tipo de une fonction aléatoire, dado que esta función es fondamentales para muchos aspectos de cálculo, simulaciones y desarrollo de matériel y logiciel en général.

Para hacer un caminador aleatorio, debemos mantener posiciones x, y de varias « partículas », y para eso usamos dos telles, posX [] y [bouquet], para guardar x, y respectivamente. Estas coordonnées las vamos cambiando por cada ciclo del Aduino, y vamos dibujando ONU círculo utilizando estas posiciones en boucle.

Veamos varias cosas del código. De las líneas 2 a la 4, se Carpentier las librerías que vamos a utilizar para la pantalla OLED. Pueden ir un este instructable para la explicación de estas librerías y su utilización.

En las líneas 6 a 8, creamos dos telles de enteros :

 const int num = 10; int posX[num] ; int posY[num]; 

Vean que la primera línea de ese código utilizamos « const », esto lo indica que es que la variable num, es una constante, es decir, Qué aucun cambiará su valor en ninguna parte del proagrama. Si pas le agregan « const », les daría el siguiente erreur :

 IntroC_For:7: error: array bound is not an integer constant before ']' token int posX[num]; 

Esto es porque este tipo de telles fils estáticos, es decir, se construyen y el micro-controlador asigna de inmediato el espacio de memoria y aucun se puede cambiar su tamaño en ningún momento después de creados. « num » debe ser necesariamente una constante, y por eso esto se corrige indicando que es una constante agregando « const » al inicio de la declaración.

Los telles posX [num] y bouquet [num], almacenan valores de tipo entéro, y como definicmos num que mer igual a 10, entonces, habrá 10 « gavetas » en cada arreglo.

Fr la función setup(), las líneas 16 a 19, inicializamos cada variable fr el arreglo, para colocarlos en el centro de la pantalla,

 for (int i = 0; i < num; i++) { posX[i] = 64; posY[i] = 32; } 

ACÁ utilizamos el ciclo de, para ir por cada elemento del arreglo y asignarle el valor inicial del centro de pantalla en posición x, y. Noten como el iterador je, se utiliza para indicar que elemento del arreglo vamos un asignar, y el ciclo se encarga de cambiar je, desde 0 a 5.

En la sección loop(),

 for (int i = 0; i < num; i++) { posX[i] = constrain(posX[i] + random(-3, 3),1,127); posY[i] = constrain(posY[i] + random(-3, 3),1,63); display.fillCircle(posX[i], posY[i], 1, WHITE); display.display(); } 

Volvemos a utilizar un ciclo de, para cambiar los valores de posición x, y. En la línea,

 posX[i] = constrain(posX[i] + random(-3, 3),1,127); 

Se utilizan varias cosas. Veamoslo de adentro hacia afuera. Lo primero es la función random(-3,3). Esta función lo que hace es generar ONU número aleatorio entre -3 et 3. Una vez creado el número, esta se la sumamos la posX [i], que era la posición en la que estaba antes. Luego utilizamos la función contraindre (posX [i] + aléatoire (-3, 3), 1, 127);, esta lo que hace es asegurar que el cualquiera que sea el resultado, este nunca sea menos Qué 1 o maire que 127. Pueden ver la de fr de su uso referencia de Arduino. Hacemos lo mismo con bouquet [i].

Una vez re-calculada la nueva posición, dibujamos ONU círculo condisplay.fillCircle (posX [i], posY [i], 1, blanc), y luego actualizamos el affichage con display.display();

ESO es todo. ahora verlo funcionando.

Articles Liés

ARDUINO photogate pour la photographie haute vitesse

ARDUINO photogate pour la photographie haute vitesse

Au cours de ces dernières semaines que j'ai cherché sur internet pour la photographie de haute vitesse en utilisant un ARDUINO, jusqu'à présent, plus de 90 % des projets j'ai trouvé son utilisé comme déclencheur. Si vous essayez d'obtenir une image d
Beeduino : Maison Arduino Uno pour 6 $

Beeduino : Maison Arduino Uno pour 6 $

Hé ce que le coût de cette carte bleue bidule, « Arduino » je pense que son nom?? Eh bien, le coût est environ 30 $ par chambre. Woah 30 $ pour seulement ce circuit simple. Quel est si spécial dedans ? Eh bien de rien en fait. C'est juste une platefo
Stripboard Arduino shield pour la programmation ATtiny45 et ATtiny85

Stripboard Arduino shield pour la programmation ATtiny45 et ATtiny85

cette instructable (inscrit au défi de l'Arduino concours - vous pouvez voter pour elle ci-dessus) montre comment faire un bouclier d'Arduino veroboard pour programmer les microcontrôleurs ATtiny45 ou ATtiny85 avec un Arduino, selon ces tutoriels du
4 roues motrices tout Terrain Arduino Robot pour tout le monde

4 roues motrices tout Terrain Arduino Robot pour tout le monde

J'ai toujours aimé les robots qui peuvent se déplacer en terrain accidenté. Cette fois, j'ai décidé que je vais utiliser le prêt-à-châssis modifiez-le légèrement et en ajoutant quelques éléments supplémentaires. En utilisant un châssis prêt je pourra
PWMSwizzling un Edison Arduino Breakout pour travailler avec Grove Seeed moteur boucliers

PWMSwizzling un Edison Arduino Breakout pour travailler avec Grove Seeed moteur boucliers

Cette instructable explique les étapes nécessaires pour configurer le matériel et les logiciels d'un Comité d'Intel Edison Arduino en petits groupes, afin qu'il communique avec un bosquet Seeed flasque arrière. Exemples d'esquisses pour commander une
Arduino Robot pour le coût le plus bas

Arduino Robot pour le coût le plus bas

ME VOIR À LA MAKER FAIRE DE NYC !Tout a commencé avec ceci :Le défi Arduino Robot : Comment économiquement pouvez-vous créer un robot en utilisant un Arduino pour élèves de 5e année ?J'espère que cette instructable revêt une certaine élégance pour sa
Scannez le Bus Arduino I2C pour les périphériques connectés I2C avec Visuino

Scannez le Bus Arduino I2C pour les périphériques connectés I2C avec Visuino

I2C Dispositifs et Modules sont largement disponibles et très populaire dans les projets de l'Arduino . Chaque périphérique I2C possède une adresse habituellement fixe ou configurable par cavaliers. Lorsque vous travaillez avec le périphérique I2C ,
LA carte de l’ARDUINO DIY pour 5$

LA carte de l’ARDUINO DIY pour 5$

La carte arduino est une plate-forme de prototypage électronique open source utilisée par amateur, artiste, concepteurs, fabricants etc....L'arduino est simple à utiliser, plutôt que toute autre carte de prototypage!.J'ai gâché beaucoup d'argent sur
DIY - Comment utiliser l’Arduino Uno pour envoyer un Email, de SMS et de faire une voix appeler

DIY - Comment utiliser l’Arduino Uno pour envoyer un Email, de SMS et de faire une voix appeler

Vous vous demandez comment faire pour envoyer des e-mails via votre Arduino Uno ? Ne vous inquiétez pas... Ce tutoriel vidéo vous éclairera sur le processus étape par étape pour envoyer des emails, messages SMS ainsi que faire des voix appeler à l'ai
Bouton e-mail : Connexion Arduino à IFTTT pour envoyer des e-mails, tweets, messages texte et plus

Bouton e-mail : Connexion Arduino à IFTTT pour envoyer des e-mails, tweets, messages texte et plus

ce que si vous pouviez avec un seul bouton, envoyer un email, un tweet ou un message texte ?Ce tutoriel va vous montrer comment connecter un simple bouton à vos applications préférées d'internet en le connectant à IFTTT.IFTTTIFTTT.com (si ce puis cel
En utilisant un arduino esp8266 pour commander un relais à l’aide d’accueil-assistant

En utilisant un arduino esp8266 pour commander un relais à l’aide d’accueil-assistant

Ce Instructable montre comment connecter un module de relais à une esp8266, ce qui devrait être simple, mais a besoin de quelques composants supplémentaires pour faire le relais fonctionne correctement si vous utilisez le petit dispositif esp dans le
Chronomètre Arduino-basé pour la voiture électrique, pistes de course

Chronomètre Arduino-basé pour la voiture électrique, pistes de course

Dans ce projet, que j'utilise un capteur de proximité d'infra-rouge sur mesure connecté à une carte Arduino pour chronométrer les tours sur une voiture électrique circuit de course. Le capteur détecte la voiture quand il passe devant elle et mesure l
Horloge maître Arduino-basé pour les écoles

Horloge maître Arduino-basé pour les écoles

si votre école, ou école les enfants ou autre endroit repose sur une horloge principale centrale qui est cassée, vous pouvez avoir une utilisation de ce dispositif. Nouvelles horloges maîtres existent bien sûr, mais budgets scolaires sont sous hautes
C/C++ En Arduino : Ciclos While

C/C++ En Arduino : Ciclos While

En este utilizaremos instructable la estructura de ciclo tandis que. Haremos ONU semáforo, igual que en este instructable, pero ahora haremos que el amarillo mer intermitente por un tiempo determinado, y pas un número de veces determinado.La estructu