de l aide

bjr

je suis tous nouveau,en essayant de comprendre le micro contrôleur j ai acheter le bouquin
maitriser le microcontrôleur avec Arduino (Clemens Valens)

ya des trucs que je n arrive pas a comprendre ,prière éclairer ma lanterne

/*
*key matrix 2
*/

int row0 = 2;
int row1 = 3;
int row2 = 4;
int row3 = 5;
int col0 = 6;
int col1 = 7;
int col2 = 8;
int col3 = 9;

int key_read(int r,int c)
{
digitalWrite(c,LOW);
int key = digitalRead(r);
digitalWrite(c,HIGH);
return key;
}

void setup(void)
{
Serial.begin(115200);
for (int c=col0; c<=col3; c++)
{
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
}

for (int r=row0;r<=row3;r++)
{
pinMode(r,INPUT_PULLUP);
}
}

void loop(void)
{
for (int r=row0;r<=row3;r++)
{
for (int c=col0;c<=col3;c++)
{
if (key_read(r,c)==LOW)
{
Serial.print('s');
Serial.println(4*(r-row0)+(c-col0)+1);
}
}
}
delay(100);
}

c la prtie en vers que je ne comprend pas

merci

Placer les programmes entre des balises code

int key_read(int r,int c)
{
  digitalWrite(c,LOW);        // met la colonne c à l'état bas
  int key = digitalRead(r);   // lit l'état de la rangée r
  digitalWrite(c,HIGH);       // remet la colonne c à l'état haut
  return key;              // retourne l'état lu
}

En balayant r et c cela pernet de lire un clavier matricé

je te remerci

peux tu m aider sur cela aussi

/*

  • led matrix 1
    /
    const int ROW_MAX = 4;
    const int COLUMN_MAX = 4;
    int rows[ROW_MAX] = {2,3,4,5};
    int columns[COLUMN_MAX] = {10,11,12,13};
    int leds = 1;
    void led_write(int r,int c)
    {
    digitalWrite(c,LOW);
    digitalWrite(r,HIGH);
    delay(100);
    digitalWrite(r,LOW);
    digitalWrite(c,HIGH);
    }
    void setup(void)
    {
    int i;
    for (i=0; i<ROW_MAX; i++);
    {
    pinMode(rows
    ,OUTPUT);*
    _ digitalWrite(rows*,LOW);_
    _
    }*_

* for (i=0 ;i<COLUMN_MAX; i++)
_
{_
_ pinMode(columns,HIGH);
digitalWrite(columns,HIGH);
}
}
void loop(void)
{_

for (int r=0; r<ROW_MAX; r++)
_ {_
for (int c=0; c<COLUMN_MAX; c++)
_ {_
if (bitRead(leds,rROW_MAX+c)!=0)

* {*

* led_write(rows[r],columns*
c*_</em></em> <em><em><em>*);       }     }   } leds *=2; if (leds==0) leds = 1; }*</em></em></em> <em><em>_*

Bien que pas assez rapide( -> grillé par fdufnews) je commente sur la forme.
Comme beaucoup tu n'as pas du lire la charte du forum :

  1. les titres comme "à l'aide", "help" etc sont interdits. --> ici on ne pense pas qu'à sa petite personne, les réponses doivent servir à d'autres, c'est pourquoi les titres doivent être clairs et explicites.

  2. le code doit être placé entre balise codes, icone parchemin avec "<>".
    C'est plus facile à lire. C'est à toi de voir si tu veux des réponses il est peut-être préférable de faciliter la tâche des aidants.

En attendant des réponses tu peut lire :

  • la charte du forum
  • le sujet intitulé : "Le guide Arduino"
  • le très bon tutoriel d'Eskimon ( lien -> voir avec gogole)
  • des tuto de C parce qu'il n'existe pas de "langage arduino".
    Pour te faciliter la programmation Arduino fourni simplement des fonctions en C et des classes en C++ toutes prêtes à l'emploi.

A bientôt.

68tjs:
Comme beaucoup tu n'as pas du lire la charte du forum :[/b]

  1. les titres comme "à l'aide", "help" etc sont interdits. --> ici on ne pense pas qu'à sa petite personne, les réponses doivent servir à d'autres, c'est pourquoi les titres doivent être clairs et explicites.

  2. le code doit être placé entre balise codes, icone parchemin avec "<>".
    C'est plus facile à lire. C'est à toi de voir si tu veux des réponses il est peut-être préférable de faciliter la tâche des aidants.

En attendant des réponses tu peut lire :

  • la charte du forum
  • le sujet intitulé : "Le guide Arduino"
  • le très bon tutoriel d'Eskimon ( lien -> voir avec gogole)
  • des tuto de C parce qu'il n'existe pas de "langage arduino".
    Pour te faciliter la programmation Arduino fourni simplement des fonctions en C et des classes en C++ toutes prêtes à l'emploi.

+1

avec plaisir

et merci

Pour la réponse voir là: digitalWrite()