Mostrando solo un resultado

Curso de robótica con Edison

(0 comentario)
29
students
0
30.00€

Bienvenidos al curso de programación con Edison robot, una herramienta estupenda para aprender fundamentos de programación y robótica educativa. En este curso darás tus…

30.00€

    0 Comentarios

  1. agosto 31, 2020
    Responder

    Hola a todos!

  2. DeniseLarocca
    febrero 18, 2021
    Responder

    Excelente propuesta de Iniciativa Europea.
    lastima que sólo sea hasta los 30 años…
    Plataforma de muy fácil acceso para incorporarse.
    Adjunto capturas de pantalla hasta sin inscripción, previo acuerdo con María, ya que tengo 44 años.

  3. El video esta bien explicado como elaborar nuestro CV y las herramientas con las que disponemos. Gracias, no conocía CANVA y lo que ofrece, ya he descargado la aplicación.

  4. marzo 29, 2021
    Responder

    Hola María, no me deja entrar al enlace del portal de empleo “EMPLEATE” https://www.empleate.gob.es/empleo/
    ¿Se puede hacer el ejercicio con otro de los portales mencionados al principio?

  5. marzo 29, 2021
    Responder

    Hola María, la página de Garantía Juvenil también tiene algún problema y no permite el acceso. Lo intentaré otro día.

  6. marzo 30, 2021
    Responder

    Hola Jorge, he conseguido programar la ráfaga, pero no consigo se repita, al acabar se queda parado en el ultimo led encendido, creo es problema de los corchetes ({ }), se llaman así?, eliminándolos creo la ráfaga con los 4 últimos pero sin parar, puedes ayudarme? Gracias, te mando el programa que yo he hecho:
    const int led1=12;
    const int led2=11;
    const int led3=9;
    const int led4=7;
    const int led5=5;

    const int pulsador=3;

    void setup() {
    pinMode(led1,OUTPUT);
    pinMode(led2,OUTPUT);
    pinMode(led3,OUTPUT);
    pinMode(led4,OUTPUT);
    pinMode(led5,OUTPUT);

    // put your setup code here, to run once:

    }

    void loop() {

    int valorPulsador=digitalRead(pulsador);
    if(valorPulsador==1){
    digitalWrite(led1,HIGH);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
    digitalWrite(led4,LOW);
    digitalWrite(led5,LOW);
    //enciende led1
    delay(500);
    digitalWrite(led1,0);
    digitalWrite(led2,1);
    digitalWrite(led3,LOW);
    digitalWrite(led4,LOW);
    digitalWrite(led5,LOW);
    //enciende led2
    delay(500);
    digitalWrite(led1,0);
    digitalWrite(led2,0);
    digitalWrite(led3,1);
    digitalWrite(led4,LOW);
    digitalWrite(led5,LOW);
    delay(500);
    //enciende led3
    digitalWrite(led1,0);
    digitalWrite(led2,0);
    digitalWrite(led3,0);
    digitalWrite(led4,1);
    digitalWrite(led5,LOW);
    delay(500);
    //enciende led4
    digitalWrite(led1,0);
    digitalWrite(led2,0);
    digitalWrite(led3,0);
    digitalWrite(led4,0);
    digitalWrite(led5,1);
    delay(500);}}
    //enciende led5

  7. marzo 30, 2021
    Responder

    Hola Rafa,

    En principio no veo ningún problema con las llaves ({ }), ya que están cerradas todas las llaves que hs abierto. Además, en caso de no cerrar una llave abierta generaría un error de compilación y no sería posible ejecutar el código.

    En tu caso, el código que has creado al ejecutar el pulsador enciende cada led durante medio segundo y a continuación lo apaga, quedándose el led5 encendido.

    Para solucionar esto, deberías apagar el led5 tras el delay:

    delay(500);
    digitalWrite(led5, 0);
    }
    }

    Ahora, si quieres que se repita un número de veces la secuencia, habría que meter todo el código que hay dentro de la condición if() del bucle loop() en otro bucle, sólo que esto lo verás en la lección 5, aunque puedes probarlo si quieres aunque no lo entiendas!! Para ello y como comento, puedes meter el código que engloba la condición del pulsador dentro de la siguiente sentencia for():

    for(int i = 0; i < 10; i++){ //aquí el encendido y apagado de los leds } En este caso se repetirá la secuencia durante 10 veces. Espero haberte ayudado!

  8. marzo 31, 2021
    Responder

    Muchas gracias, ahora si.

  9. abril 6, 2021
    Responder

    Hola Jorge, para realizar la actividad, en el segundo caso, >que y <que, no sabia como hacerlo, investigando en arduino he visto el comando que he aplicado, &&, me dice cumple las dos condiciones, ¿habia otra manera?, gracias. Te mando el ejercicio, lo he realizado aplicando "delay" y sin ello, lo he dejado anulado, pues en función del tiempo en algún caso se mantienen encendidos dos, hasta que realizaba el cambio, saludos

  10. abril 6, 2021
    Responder

    Hola Rafa,

    Tras ver la actividad, lo correcto sería estructurar las condiciones de este modo:
    //Si se cumple que el valor es menor de 300:
    if (valorSensor < 300) { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led3, LOW); //Pero si se cumple que el valor es mayor de 300 y menor de 700: } else if (valorSensor > 300 && valorSensor < 700) { digitalWrite(led1, LOW); digitalWrite(led2, HIGH); digitalWrite(led3, LOW); //Pero si se cumple que el valor es mayor de 700: }else if ((valorSensor > 700) {
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, HIGH);
    }

    Así controlamos en cada condición que leds están encendidos o apagados con un if – else-if. Si analizas el programa, el último else if sería posible sustituirlo por un else, ya que si n o se cumple ninguna de las dos anteriores condiciones sólo quedaría un valor superior a 700.

    Adjunto el programa en la respuesta de la actividad para que lo pruebes si quieres!!

    Un saludo!

  11. abril 23, 2021
    Responder

    El modulo bluetooth el el HC 05 o 06?, con 4 pines solo veo el 06, es indiferente?, seria la conexión igual?, para mandar datos como seria? con la APP inventor?. Gracias.

    • abril 24, 2021
      Responder

      Hola Rafa,

      Si, cualquiera de los dos modelos puede ser. La diferencia es que el 05 sólo trabaja como esclavo y el 06 como esclavo y maestro. En nuestro caso es indiferente. La conexión es igual:
      vcc: a 5v
      Gnd: a gnd
      Rx: al Tx de arduino
      Tx: al Rx de arduino

      Para mandar datos es lo mismo que si utilizamos la comunicación serie por cable. Te envío por email un ejemplo sencillo para appinventor, tendrás que cargar el archivo en https://appinventor.mit.edu/

      Un saludo

  12. abril 24, 2021
    Responder

    const int led1 = 2;
    const int led2 = 4;
    const int led3 = 5;

    void setup() {
    // put your setup code here, to run once:
    pinMode (led1, OUTPUT);
    pinMode (led2, OUTPUT);
    pinMode (led3, OUTPUT);

    Serial.begin (9600);

    }

    void loop() {
    // put your main code here, to run repeatedly:
    if (Serial.available()){
    char dato = Serial.read();
    if (dato == ‘a’){
    digitalWrite (led1, true);}
    else{
    digitalWrite (led1, false);
    }if (dato == ‘b’){
    digitalWrite (led2, true);}
    else{
    digitalWrite (led2, false);
    }if (dato == ‘c’){
    digitalWrite (led3, true);}
    else{
    digitalWrite (led3, false);

    }if (dato == ‘r’){
    digitalWrite (led1, false);
    digitalWrite (led2, false);
    digitalWrite (led3, false); }

    }
    }

    Hola Jorge, te mando el resultado, pero creo el dato de la r, para borrar no seria necesario, pues cualquier dato que no fuera a,b,c apagaria todos los datos, no seria asi?.
    Gracias

    • abril 26, 2021
      Responder

      Hola Rafa,

      Si enviamos un dato que no está contemplado en ninguna condición no sucederá nada, se quedarán los leds en el estado actual de ese momento, por lo que si queremos apagar los leds si que haría falta la instrucción “r”.

      Un saludo

  13. abril 24, 2021
    Responder

    Hola Jorge, respecto al ejercicio anterior, podría modificarse la respuesta de manera que “a,b y c”, fueran números, ej 2,3,4, y “r” la combinación de estos, 234, encendiera los tres leds, ponendo el digitalWrite como true. Y ya afinando podrían generarse estos aleatorios del uno al 10?, como se podría y como pondríamos el numero combinación?. Gracias y si es mucho jaleo dejalo.

    • abril 26, 2021
      Responder

      Hola Rafa,

      Se puede utilizar cualquiera de los catacteres contenidos en la tabla ASCII, que podemos decir que es el abecedario del lenguaje informático, por lo que si, podemos utilizar los números.

      Lo que no podemos hacer es enviar una cadena por el puerto serie, ya que se interpretaría el último caracter (a la placa le llegan en orden de uno en uno), es decir, si enviamos “234” obtendremos por un lado que no es de tipo char, si no de tipo string (cadena de caracteres), y por otro el último dato en procesarse sería el 4. Esto responde tu siguiente pregunta.

      Para generar el aleatorio podemos hacerlo así como ejemplo, lo único es que no necesitaríamos el puerto serie:

      void loop() {

      //Genera un numero aleatorio entre 1 y 10
      int randomNumber = random(1,10);

      if(randomNumber == 1){
      digitalWrite(led1, true);
      }
      }

      Un saludo

  14. abril 24, 2021
    Responder

    Perdón de nuevo, sabiendo los dígitos, al mandar la combinación de 3 cifras, 234, me dice demasiado largo el carácter

  15. abril 27, 2021
    Responder

    Mando el ejercicio corregido, tenias razón, sobraba la condición else y así con la siguiente orden no se borraba el anterior. gracias

  16. mayo 11, 2021
    Responder

    Hola Jorge te he mandado las actividades de esta unidad.
    Tan solo una consulta, ¿podrían mandarse varias ordenes en un solo programa, esto es encender un led, arrancar un motor…; quiero decir instrucciones independientes, gracias?.
    Ha sido superentretenido, un 10 para el curso.

  17. mayo 12, 2021
    Responder

    Hola Rafa, de acuerdo, les pego un vistazo!

    Se pueden mandar instrucciones independientes si cada una queda almacenada en una variable diferente, y siempre y cuando no se envíen en la misma instrucción. el puerto serie como su nombre indica envía o recibe los datos uno tras otro.

    Gracias Rafa, cualquier cosa me dices!
    Un saludo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *