Nuevo libro en español sobre Arduino de la editorial RCLibros

Hola, me uno por aquí :wink:

Enhorabuena Oscar por el libro.

Yo a la idea de mas ejemplos me apunto, sobre todo a añadir a ejemplos en los que se muestren varias instrucciones a la vez o códigos un poco mas complejos. No solo a ejemplos de la misma instrucción que se explica, ya que por ejemplo (en mi caso) puedo tener clara una función pero no saber combinarla con otra. No se si me explico...

Tal vez seria posible añadir al final del libro como un anexo estos ejemplos mas complejos a modo de "mini proyectos" o algo asi.

Y sobre todo la instrucción millis, como hacer interrupciones sin usar la función delay y que te tome como referencia el momento en el que pulso un botón por ejemplo. Ya que es una instruccion bastante importante y personalmente es una cosa que me ha costado bastante conseguir (he tenido que buscar bastante informacion al respecto) y creo que estaría bien dedicarle un poco mas de espacio ya que a la gente nueva nos suele costar terminar de cogerle el punto a esta instrucción

Por otro lado aprovechando el comentario quería comentarte (no se si lo habrán hecho ya) que los ejemplos 7.11 y 7.12 no funcionan correctamente (al menos a mi), da error al compilar y el fallo, esta en que defines la variable especial "decode_results resultados" y luego dentro del if pones results en vez de resultados

void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn(); 
}

void loop() {
if (irrecv.decode(&resultados) !=0) {
        if (results.decode_type == NEC) {
                     Serial.print("NEC: ");
        } else if (results.decode_type == SONY) {
                     Serial.print("SONY: ");
        } else if (results.decode_type == RC5) {
                     Serial.print("RC5: ");
        } else if (results.decode_type == RC6) {
                     Serial.print("RC6: ");
          } else if (results.decode_type == UNKNOWN) {
                       Serial.print("Desconocido: ");
          }
       Serial.println(resultados.value, HEX);
       irrecv.resume();
  }
}

Yo lo solucione asi:

void loop() {
  if (irrecv.decode(&resultados) !=0) {
        if (resultados.decode_type == NEC) {
                     Serial.print("NEC: ");
        } else if (resultados.decode_type == SONY) {
                     Serial.print("SONY: ");
        } else if (resultados.decode_type == RC5) {
                     Serial.print("RC5: ");
        } else if (resultados.decode_type == RC6) {
                     Serial.print("RC6: ");
          } else if (resultados.decode_type == UNKNOWN) {
                       Serial.print("Desconocido: ");
          }
       Serial.println(resultados.value, HEX);
       irrecv.resume();
  }
}

Cambiando donde pone results por resultados.

Me quedo a la espera de la segunda parte :wink:

Un saludo