Diferència entre revisions de la pàgina «Detalls sobre la programació d'Arduino»

De binefa.com
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «* Programació a nivell de bit * Detecció de flancs * Visualització de nombres en diferents bases: void loop() { static int n = 0; Serial.print("dec: "); Se...».)
 
m
 
(Hi ha 2 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
* Programació a nivell de bit
+
* [[Programació a nivell de bit a Arduino]]
* Detecció de flancs
+
* [[Rebots i detecció de flancs a Arduino]]
 
* Visualització de nombres en diferents bases:
 
* Visualització de nombres en diferents bases:
 
  void loop() {
 
  void loop() {
Línia 48: Línia 48:
 
       digitalWrite(LED_G, LOW);   
 
       digitalWrite(LED_G, LOW);   
 
  ...
 
  ...
 +
* [[Comunicació entre Arduino i Python fent servir el port sèrie]]
 
* [https://github.com/ivanseidel/ArduinoThread Pseudofils a Arduino] (com posar en paral·lel diferents processos).
 
* [https://github.com/ivanseidel/ArduinoThread Pseudofils a Arduino] (com posar en paral·lel diferents processos).

Revisió de 17:37, 9 març 2026

void loop() {
 static int n = 0;

 Serial.print("dec: ");
 Serial.print(n);
 Serial.print(", hex: ");
 Serial.print(n,16);
 Serial.print(", oct: ");
 Serial.print(n,8);
 Serial.print(", bin: ");
 Serial.println(n,2);
 n++;
 delay(50);
}
  • Nou delay():
bool bNouDelay(int nMs){
 int nEspera = nMs/10, i;

 for (i = 0; i < 10; i++){
   if (bBotoPremut(BOTO_3)) {
     return true;
   }
   delay(nEspera);
 }
 return false;
}

void loop() {
 bool bSurt = false;

 if (bBotoPremut(BOTO_2)) {
   digitalWrite(LED_W, LOW);
   digitalWrite(LED_G, LOW);
   digitalWrite(LED_Y, LOW);
   digitalWrite(LED_R, LOW);
   while (true) { 
     digitalWrite(LED_W, HIGH); 
     bSurt = bNouDelay(1000);
     if (bSurt) break;
     digitalWrite(LED_W, LOW);

     digitalWrite(LED_G, HIGH); 
     bSurt = bNouDelay(1000);
     if (bSurt) break;
     digitalWrite(LED_G, LOW);  
...