Información sobre el microcontrolador:
Mientras que Netduino usa C #, la mayoría de los otros microcontroladores están programados en C, esos son dos lenguajes de programación totalmente diferentes. Además de eso, Arduino usa una versión de C ++, que aún es diferente.
Los microcontroladores suelen programarse en C o en ensamblaje (ASM). Si eres nuevo, recomendaría C. Arduino no es un microcontrolador, es una placa de desarrollo (generalmente) basada en un microcontrolador AVR, aunque hay otros MCU en uso. Las MCU (unidades de microcontrolador) a bordo tendrán un cargador de arranque instalado. Esta es una sección especial de código que altera cómo funciona la MCU. En el caso de Arduino, permite la programación a través del puerto serie en lugar de los métodos de programación estándar, así como el acceso a funciones de biblioteca especiales. También en la placa (normalmente) habrá un convertidor de USB a serie porque muchos chips más pequeños no tienen hardware USB interno, por lo que el USB debe convertirse para una comunicación adecuada.
Pregunta 1:
Una MCU tendrá un número específico de pines de E / S. Estos son los pines que pueden ser entradas o salidas. Puede conectar directamente tantos sensores digitales como pines de E / S, pero los sensores analógicos están limitados al número de pines ADC (convertidor analógico a digital) disponibles. No todas las MCU tienen una unidad ADC. También puede conectar muchos, muchos más sensores utilizando expansores GPIO externos o registros de entrada en paralelo, salida en serie. Estos pueden controlarse utilizando unos pocos pines MCU y pueden ampliar considerablemente la cantidad de pines de E / S disponibles.
Pregunta 2:
Escribirá un programa en la computadora que está instalada en la MCU. Si el código le permite tener comunicaciones externas (a través de USB, serie, SPI, I2C, etc.), entonces puede comunicarse con el chip mientras se está ejecutando. Pero esa habilidad depende del código que escribas. El lenguaje que utiliza para comunicarse con la MCU es bastante abierto a lo que quiera, ya que la comunicación en realidad la realiza el hardware, no el lenguaje de programación. Tal vez eso es lo que quisiste decir con la mención de "C #".
Su proyecto:
De manera realista, su proyecto no suena tan complicado: lea un sensor de temperatura (suena como analógico) y active un motor para abrir / cerrar una ventana según la lectura de ese sensor. Cuando parar el motor probablemente se basará en otro sensor conectado a la ventana. Esto se puede hacer con una MCU muy pequeña con pocos pines y poco espacio para programas (como el ATtiny24 o ATtiny25). Pero creo que primero tendrás muchos problemas si no trabajas en algo un poco más pequeño. El "hola mundo" estándar de las MCU es hacer parpadear un LED. Luego construya sobre eso tratando de controlar la velocidad de parpadeo con un botón, luego maneje un motor, etc.
Opinión personal ...
No, ni tengo ningún deseo de utilizar Arduino. Construyo todos mis propios circuitos, normalmente con MCU AVR, pero entiendo la razón por la cual la gente los usa. Personalmente, creo que es mucho mejor aprender a diseñar su propio circuito y programarlo que a copiar el código de otras personas y armar cosas al azar, que es lo que veo que la mayoría de los usuarios de Arduino están haciendo. Hay MUCHOS tutoriales en línea para comenzar con microcontroladores que no involucran a Arduino, que es lo que sugeriría que analice si tiene planes de diseñar sus propios circuitos en el futuro. Si no tiene ningún deseo de aprender nada, entonces por todos los medios, copie, pero tenga en cuenta que a menudo hay formas mucho más simples y efectivas de hacer las cosas que nunca comprenderá si no sabe lo que está pasando.