Descripción general del curso: construcción de robots y otros dispositivos Arduino (semana 1)


"El poder no está en el hierro, sino en el conocimiento", podemos decir en estos días.


Ahora la electrónica y la robótica se han vuelto mucho más accesibles que antes: había una opción, el umbral de entrada ha disminuido. Pero sin saber cómo funciona y cómo trabajar con él, esta electrónica seguirá siendo solo "hardware" (y cómo sucede: los conjuntos a veces están inactivos). El conocimiento es mucho más difícil de obtener en base a la experiencia personal y la práctica.


Por lo tanto, los cursos para principiantes son muy apreciados. Hay cursos gratuitos y de pago, pero para garantizar la relevancia, el soporte del curso, la compatibilidad de hardware y los comentarios, esto no es solo una cuestión, sobre todo en ruso.


Queremos informarle sobre uno de estos cursos en línea: " Construimos robots y otros dispositivos en Arduino. Desde un semáforo hasta una impresora 3D ". El curso fue desarrollado conjuntamente por Cyberphysics y MIPT (Instituto de Física y Tecnología de Moscú). Los materiales de texto y video de capacitación están disponibles de forma gratuita en Coursera. El curso se divide en 6 partes (cada semana), y para cada parte, se envía el hierro correspondiente.


Siempre es mejor contar sobre la base de nuestra experiencia, por lo tanto, hablaremos sobre el curso y las impresiones "en tiempo real" a medida que avanzamos. Compartir impresiones será uno de los participantes en nuestro hackspace.



Semana 1


Hola a todos! Mi nombre es Anton, y quiero contarles en una serie de publicaciones de seis semanas sobre la experiencia de participar en un curso en línea de MIPT.


Una pequeña introducción Mi educación y mi trabajo continuo están relacionados con TI. El conocimiento en electrónica y circuitos termina con un curso universitario en electrónica. Ocasionalmente uso un soldador, puedo hacer cálculos simples para cualquier circuito.


No hay experiencia de programación para Arduino como tal. Escribo scripts principalmente en Python y Bash, con una sintaxis similar a C familiar en los lenguajes PHP y JavaScript. C en sí no tenía experiencia en programación.


Después de que mi hermano y yo escribimos una revisión de tres juegos de electrónica para niños , un representante del proyecto Cyberphysics sugirió tomar el curso en línea "Construyendo robots y otros dispositivos en Arduino" en el sitio web de Coursera. Como anteriormente tomé varios cursos (no relacionados con TI) en la plataforma, supuse que el material sería trivial y simple, como en la mayoría de los cursos introductorios en la plataforma Coursera, o al nivel de tareas de manuales de conjuntos electrónicos similares. Pero, como resultó, esto fue una falacia. Los creadores mismos posicionan el curso como una introducción a la robótica para estudiantes y estudiantes de secundaria, donde los estudiantes aprenden qué son los robots y otros dispositivos "inteligentes", cómo interactúan con el mundo exterior, cómo interactúan con los humanos y, lo más importante, cómo aprender a crear tales dispositivos usted mismo.


Es interesante observar que, según los autores del curso, ¡dos tercios de la audiencia, que son 13.5 mil personas, personas de 25 a 45 años! Y puede entender por qué: la lista de temas es bastante amplia, desde los sensores más simples y las "luces intermitentes" hasta el dispositivo de una impresora 3D, y todo esto está respaldado por la teoría necesaria, por ejemplo, el dispositivo y los parámetros de los circuitos eléctricos, los tipos y parámetros de señales, etc. ... al mismo tiempo El material se presenta en un lenguaje simple y accesible. Después de pasar la primera semana, tampoco fue una novedad para mí que la tasa promedio del curso sea 4.9 de 5 puntos.


Dado que la capacitación está dirigida principalmente a la solución práctica de problemas, durante las primeras semanas los autores del curso me proporcionaron un conjunto de Robots y dispositivos de "Ciberfísica" . Inicio + .




En el interior, nos saludan con un folleto que describe el kit y el tablero de Neutrino.





Inmediatamente después del folleto, se encuentra la placa Neutrino, que es un análogo del Arduino Uno, pero una cosa llama inmediatamente la atención: hay 20 pines de tres clavijas en la placa para conectar una variedad de sensores. Esto me gustó sinceramente, ya que para otras placas que vi anteriormente, era necesario instalar un escudo adicional para conectar periféricos.




En el interior, todo está organizado en pequeñas cajas. Todas las bolsas de contenido están firmadas.





También se colocó un extraño dispositivo con un tubo en el kit. Después de una búsqueda rápida en Internet, resultó ser una bomba sumergible, que, aparentemente, se utilizará en las próximas semanas de clases.


Además, como me sugirieron los autores del curso (y lo que está escrito en el folleto :)), también puede usar la bandeja debajo del tablero: recopile esquemas y guárdelo "suelto" para que los detalles no se escapen entre clases. Aprendí sobre esto después del final de la primera semana, pero espero que en el futuro aprecie el beneficio de la bandeja.




Ahora hablemos del curso en sí. Dura seis semanas. Las primeras tres semanas se evalúan mediante pruebas, y en la cuarta y siguientes semanas, puede completar una tarea adicional y enviar a otros estudiantes para su evaluación.


En las lecciones de la primera semana, el maestro primero contó los conceptos básicos de los circuitos, luego gradualmente ensambló y modificó el modelo de semáforo, tanto en el entorno gráfico Fritzing como en un tablero real. Al principio, se montó un semáforo manual y se convirtió gradualmente en automático usando el Arduino. En el camino, se contaron los conceptos básicos del lenguaje de programación para el entorno Arduino.


Vale la pena señalar que, a pesar del pequeño tamaño, las conferencias en video son muy informativas, lo que ciertamente agrada. Aquí hay una lista aproximada de los temas de la primera semana que noté por mí mismo:


  • El principio de funcionamiento y la placa del dispositivo.
  • El dispositivo es el circuito eléctrico más simple. Corriente electrica. LEDs
  • Formas de presentar circuitos electrónicos. Diagramas esquemáticos, circuitos gráficos en el entorno Fritzing
  • Medición de parámetros de circuitos eléctricos. Corriente, voltaje, resistencia
  • Tablas y variedades Arduino. IDE Arduino
  • Fundamentos de programación en Arduino IDE. Variables, macros, bucles

En la conclusión de la primera semana, honestamente pasé la prueba la primera vez con el 80% de respuestas correctas, cometiendo 4 errores, uno de los cuales se debió a la ignorancia del material (salidas de LED y la regla de conectarlo al circuito), el resto se realizó debido a la falta de atención. En el segundo intento, logré pasar la prueba con solo un error :)




Como práctica, también decidí tratar de recoger un semáforo. Como repetir el ejercicio uno a uno me pareció un poco aburrido, inmediatamente decidí recoger dos semáforos que simularan la intersección.




Escribí el programa aproximadamente y "en la frente", pero funciona exactamente como lo pretendía. Honestamente traté de reescribir el código y hacerlo maravillosamente, con matrices y funciones, pero mi ignorancia del lenguaje C me afectó de inmediato; por ejemplo, no pude descubrir durante varios minutos cómo crear matrices multidimensionales y llenarlas con valores en C. A juzgar por el plan de estudios, estos temas serán discutidos en la tercera semana, así que decidí no adelantarme y continuar estudiando con calma en el plan de estudios.


Código del programa
#define PIN_1_G 1 #define PIN_1_Y 2 #define PIN_1_R 3 #define PIN_2_G 4 #define PIN_2_Y 5 #define PIN_2_R 6 int green_on = 5000; int red_on = 5000; void setup() { pinMode(PIN_1_G, OUTPUT); pinMode(PIN_1_Y, OUTPUT); pinMode(PIN_1_R, OUTPUT); pinMode(PIN_2_G, OUTPUT); pinMode(PIN_2_Y, OUTPUT); pinMode(PIN_2_R, OUTPUT); digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); digitalWrite(PIN_2_G, HIGH); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); } void loop() { delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_2_G, LOW); delay(500); digitalWrite(PIN_2_G, HIGH); delay(500); } digitalWrite(PIN_2_G, LOW); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, HIGH); delay(1500); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, LOW); digitalWrite(PIN_1_G, HIGH); delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_1_G, LOW); delay(500); digitalWrite(PIN_1_G, HIGH); delay(500); } digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); delay(1500); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); digitalWrite(PIN_2_G, HIGH); } 

Inscripción al curso


A partir del 27 de marzo, la entrada al curso está abierta: construcción de robots y otros dispositivos en Arduino. Del semáforo a la impresora 3D

Source: https://habr.com/ru/post/es402677/


All Articles