Clase del 3/10: Informe

Algunas cosas sobre el informe.

  • Los que ya tienen listo el informe, pueden entregarlo impreso el miercoles 3/10 y mandarlo por mail con el subject: INFORME 1
  • Los que le falta medir, pueden tomarse parte del miercoles 3/10 para hacerlo.
    • Tengan en cuenta que esto les va a quitar parte de la clase asi que vengan con un plan concreto y el software andando.
    • La version digital pueden entregarla hasta el domingo 7/10, con el subject INFORME 1
    • La version impresa pueden entregarla el miercoles que viene 10/10.

 

Control

Durante octubre nos enfocaremos en sensores, actuadores y lazos de control. Ya han trabajado con 1 sensor (el microfono) y 1 actuador (el parlante). Les pido que piensen:

(0. Los que no saben que es un lazo de control, busquen información al respecto)

  1. ¿Cómo implementrarian un lazo de control con la placa de audio? Escriban un breve programa basado en lo que ya hicieron.
  2. Dado un lazo control cualquiera que parametros les parece relevante reportar al respecto.
  3. Para pensar en relación a la pregunta 1 y 2, ¿que diferencia tiene un lazo de control hecho con una RedPitaya (como la que usaron la clase pasada) y el propuesto con la placa de audio?
  4. Proximamente usaremos arduino, pero para los que ya la han utilizado: ¿que diferencia tiene un lazo de control hecho con una Arduino?

Pre Informe 1

Confirmo que recibi los siguientes archivos con su correspondiente sha-1

b002c1857b1cd3e1d61895824d47e2fab1a8ca55  CaracterizaciónDeComponentesDiscretosEIntegradoUsandoLaTarjetaDeSonidoDePC.pdf
4c61418afed9289cd673c749ae3b943d7a2e87b5  DopplerPavlovTichno-preinfomeTP1.pdf
dcdeb6770047d466345f7b68254ca855bbd8139a  FWP Electrónica Placa Audio.pdf
248f2ac8daf9499f09da6d5c8a2d921202ccde50  P1_ Petriella_Cusato.pdf
4ca106cf8f1167fc4c3f08100219a17097fd4d86  PreInforme_Daneri_Sallaberry_Quintana.pdf
58b429b87582a7f54f4fe9bfffc20f507a0227e3  Preinforme TP1.pdf
6582f5846ac52e9e249836f99ab09dfa460b9bdf  Preinforme_Burne_Zanini.pdf
c55eb8eba35f1b275a6588c9f94276a3f1b13848  preinforme1_fersamar.pdf
86488d169f969f977ea82026ec68e1f502bcac7b  Preinforme 1 Brinatti Toscani Lacapmesure.pdf

(si no saben lo que es sha-1, vuelvan a leer el material de git)

Sobre el pre-informe

Conforme se va acercando la fecha de entrega aprovecho para hacerles algunas observaciones:

  • El pre informe es una herramienta de diagnostico y de apoyo, no de evaluación. La idea es que su confección junto con los comentarios que les haremos les sirva para la versión final del informe.
  • Entreguen la version que tengan, como la tengan. Y donde no tienen nada pueden poner lo que piensan hacer.
  • Se entrega por mail a hgrecco@df.uba.ar con el subject. PREINFORME 1

Clase del 12 de septiembre

El 12 de septiembre no habrá clase en apoyo a la convocatoria impulsada por la facultad en Res. (CD) Nº 2366/18 de paro, clases públicas y movilización desde
el Ministerio de Educación, Cultura, Ciencia y Tecnología al Congreso de
la Nación el jueves 13 de septiembre a las 11 hs.

El calendario quedaría:

  • 12 de septiembre: No hay clase
  • 19 de septiembre: no hay clase por la AFA.
    Envío digital de pre-informe
  • 26 de septiembre: clase de FPGA.
    Discusión del pre-informe
  • 3 de octubre: clase de placas de adquisición
    Entrega del informe
El pre-informe consiste de una versión lo mas acabada posible del informe que presentarán el 3/10. La idea es poder ayudarlos a escribir una buena versión final con un feedback temprano.
El informe debe contener qué midieron, cómo midieron, que resultados obtuvieron y la confección de una mini hoja de datos. Deben hacerlo para, al menos, un componente discreto y otro integrado. No hace falta un introducción histórica ni una discusión grandilocuente.  Pueden poner referencias a codigo propio si está hosteado en un lugar público, a libros, papers, hojas de datos, etc.

(Por favor avisar a sus compañeros ya que el sistema muestra que hay sólo 12 suscriptos a la página)

Para pensar y programara

Les dejo en el siguiente link código Python (sin documentar) para que vean:

https://gist.github.com/hgrecco/141f6aedb00dd3d407fbd55f0027693c

Preguntas:

  1. ¿Qué hace cada una de las funciones y como lo hace (esto es trivial por el nombre)?
  2. ¿Para que son útiles en el contexto de lo que estuvimos trabajando?
  3. ¿Qué requerimientos hay sobre arr (implícitos y explícitos)
  4. Documenten las funciones
  5. ¿Que pasa si la función que llama a estas necesita que el chunk tenga siempre el mismo tamaño? ¿Que cambio harían?
  6. ¿Cómo harían algo parecido si arr fuera un generador?
  7. ¿Cómo harían algo parecido si arr fuera un archivo que no pueden cargar en memoria?

Documentación y estilo

A partir de preguntas de varios subi varios links a información adicional acerca de las reglas de estilo para código Python asi como también la documentación.

Brevemente, la sugerencia es atenerse a las reglas de estilo de código Python definidas en el PEP8. Estas reglas defining espacios, capitalización, etc. La única excepción valida es cuando contribuimos a un proyecto que tiene reglas propias (por ejemplo, PyQt sigue las reglas de su proyecto madre que esta en C++: Qt)

Respecto de la documentación, Python tiene strings de documentación dentro del código (llamados docstring). Nuevamente hay varios formatos para esta documentación. Yo sugiero la de NumPy que es sucinta pero completa (aunque algunos de mis proyectos todavía usan reStructuredText de Python)

Finalmente, hay programas que recorren un proyecto o modulo de Python y general una pagina web de documentación. Recomiendo para esto usar sphinx.

Tercera clase

Recuerden que durante la tercera clase seguiremos trabajando con componentes discretos y agregaremos integrados. Deben venir con un programa funcionando capaz de generar una señal y adquirir otra utilizando la placa de sonido; y con mayor gimnasia usando git. Les recomiendo el instructivo de la COMCOM que esta subido en Material Adicional.

Segunda clase

Mañana miércoles 22 de agosto tenemos la segunda clase. Empezamos puntual con un breve charla acerca de componentes electrónicos.

Los que vengan con sus propias laptops son bienvenidos. Recuerden tener instalado:

  • la distribución anaconda de Python (version 3.6 o superior)
  • git
  • NI-VISA (opcional)

es conveniente haber creado tambien una cuenta de github.