Pouvez vous m'expliquer ce code ?
Fermé
Pablitoooo
-
Modifié le 5 mai 2019 à 20:10
guerrier9730 Messages postés 1 Date d'inscription jeudi 9 mai 2019 Statut Membre Dernière intervention 9 mai 2019 - 9 mai 2019 à 14:46
guerrier9730 Messages postés 1 Date d'inscription jeudi 9 mai 2019 Statut Membre Dernière intervention 9 mai 2019 - 9 mai 2019 à 14:46
A voir également:
- Pouvez vous m'expliquer ce code ?
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
2 réponses
SioGabx
Messages postés
265
Date d'inscription
mardi 21 août 2018
Statut
Membre
Dernière intervention
17 novembre 2022
100
Modifié le 6 mai 2019 à 11:09
Modifié le 6 mai 2019 à 11:09
#include <LiquidCrystal.h>//on inclus la librairie LiquidCrystal int battPin = A0; //Définition d'un nombre entier (notation hexadécimale ???) LiquidCrystal lcd(8,9,10,11,12,13); // déclare une variable LiquidCrystal appelée lcd mode 4 bits et RW pas utilisé (d'après http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.LiquidCrystal) void setup() //Au démarrage du programme { lcd.begin(16,2);//Initialisation de l'interface (C'est un tableau) pinMode(battPin, INPUT);//configuration des pin } void loop() //C'est une boucle qui se lance directement { int voltReading = analogRead(battPin); //On récupère la valeur de la pin de la baterie int volts = (voltReading/1023)*100;//On le converti en pourcenttage if (volts == 100)//Si le nombre de volt est = à 100 alors { lcd.setCursor(12,0);//On se positionne dans le tableau du lcd en 12; 0 lcd.print(volts); //On affiche le nombre de volt (pourcentage) lcd.print("%"); //on affiche le % à la fin. delay(1000);//On patiente pendant 1seconde lcd.clear(); //On efface le texte à l'ecran } else if (volts < 10) //Sinon si le % de volt est < à 10%, alors : { lcd.setCursor(14,0);//Meme chose que en haut sauf que cette fois on se met en 14; 0 car cette fois le % fait 1 caractere au lieu de 3 (on garde l'alignement) lcd.print(volts); lcd.print("%"); delay(1000); lcd.clear(); } else//Si aucun des cas précédent (donc % de volt est < que 100 et > que 10) : { lcd.setCursor(13,0);//Meme chose que en haut sauf que cette fois on se met en 13; 0 car cette fois le % fait 2 caractere au lieu de 3 (on garde l'alignement) lcd.print(volts); lcd.print("%"); delay(1000); lcd.clear(); } }//On retourne au debut du loop()
Facile avec la docu Arduino -> https://www.arduino.cc/en/Reference/LiquidCrystal
PS : Soit je suis trop fort, soit il y avait rien de compliquer :/
guerrier9730
Messages postés
1
Date d'inscription
jeudi 9 mai 2019
Statut
Membre
Dernière intervention
9 mai 2019
9 mai 2019 à 14:46
9 mai 2019 à 14:46
#include <stdlib.h>
#include <stdio.h>
typedef struct Task{
char name[50];
int nbr_days;
char status;
}Task;
Task* create_Task(){
Task* task = malloc(sizeof(Task));
printf("nombre");
scanf("%d", &task->nbr_days);
printf("%d\n", task->nbr_days);
printf("nom");
scanf("%s", task->name);
printf("%s\n", task->name);
printf("status");
scanf(" %c", &task->status);
printf("%c\n", task->status);
//printf("%d, %c, %s\n\n", task->nbr_days, task->status, task->name);
return task;
free(task);
}
Task** create_ToDo(int n)
{
Task** task = malloc(sizeof(Task*)*n);
for(int i =0; i<n; i++)
{
printf("La tache %d :", i+1);
task[i] = create_Task();
printf("%d, %c, %s\n\n", task[i]->nbr_days, task[i]->status, task[i]->name);
}
return task;
}
Task** append_before_first_finished(Task** taches, int* tab_size, Task* tache)
{
Task ** task = malloc (sizeof(Task)* (*tab_size +1));
int trouvePremiere = 0;
for (int i = 0; i<*tab_size+1; i++)//+1 car on veut ajouter une case
{
if (trouvePremiere == 0 && taches[i]->status == 'T')
{
trouvePremiere = 1;
task[i] = tache;
}
else if ( trouvePremiere = 1 )
{
task[i] = taches[i-1];
}
else if ( i<= *tab_size){
task[i] = taches[i];
}
}
return task;
}
void afficher(Task** target, int n) {
int i;
for (i = 0; i<n; i++) {
printf("\n%s, %d, %c", target[i]->name, target[i]->nbr_days, target[i]->status);
}
}
void free_ToDo(Task** ToDo, int n) {
int i;
for (i = 0; i<n; i++) {
free(ToDo[i]);
}
free(ToDo);
}
int main()
{
//Task * task = create_Task();
int n = 2;
Task** example = create_ToDo(n);
example = append_before_first_finished(example, &n, create_Task());
afficher(example, n+1);
free_ToDo(example, n);
return 0;
}
#include <stdio.h>
typedef struct Task{
char name[50];
int nbr_days;
char status;
}Task;
Task* create_Task(){
Task* task = malloc(sizeof(Task));
printf("nombre");
scanf("%d", &task->nbr_days);
printf("%d\n", task->nbr_days);
printf("nom");
scanf("%s", task->name);
printf("%s\n", task->name);
printf("status");
scanf(" %c", &task->status);
printf("%c\n", task->status);
//printf("%d, %c, %s\n\n", task->nbr_days, task->status, task->name);
return task;
free(task);
}
Task** create_ToDo(int n)
{
Task** task = malloc(sizeof(Task*)*n);
for(int i =0; i<n; i++)
{
printf("La tache %d :", i+1);
task[i] = create_Task();
printf("%d, %c, %s\n\n", task[i]->nbr_days, task[i]->status, task[i]->name);
}
return task;
}
Task** append_before_first_finished(Task** taches, int* tab_size, Task* tache)
{
Task ** task = malloc (sizeof(Task)* (*tab_size +1));
int trouvePremiere = 0;
for (int i = 0; i<*tab_size+1; i++)//+1 car on veut ajouter une case
{
if (trouvePremiere == 0 && taches[i]->status == 'T')
{
trouvePremiere = 1;
task[i] = tache;
}
else if ( trouvePremiere = 1 )
{
task[i] = taches[i-1];
}
else if ( i<= *tab_size){
task[i] = taches[i];
}
}
return task;
}
void afficher(Task** target, int n) {
int i;
for (i = 0; i<n; i++) {
printf("\n%s, %d, %c", target[i]->name, target[i]->nbr_days, target[i]->status);
}
}
void free_ToDo(Task** ToDo, int n) {
int i;
for (i = 0; i<n; i++) {
free(ToDo[i]);
}
free(ToDo);
}
int main()
{
//Task * task = create_Task();
int n = 2;
Task** example = create_ToDo(n);
example = append_before_first_finished(example, &n, create_Task());
afficher(example, n+1);
free_ToDo(example, n);
return 0;
}