Informations sur le microcontrôleur:
Bien que Netduino utilise C #, la plupart des autres microcontrôleurs sont programmés en C - ce sont deux langages de programmation totalement différents. En plus de cela, Arduino utilise une version de C ++, qui est encore différente.
Les microcontrôleurs sont généralement programmés en C ou en assemblage (ASM). Si vous êtes nouveau, je recommanderais C.Arduino n'est pas un microcontrôleur, c'est une carte de développement (généralement) basée sur un microcontrôleur AVR, bien qu'il y ait d'autres MCU en cours d'utilisation. Les MCU embarqués (unités de microcontrôleur) auront un bootloader installé. Il s'agit d'une section spéciale de code qui modifie le fonctionnement du MCU. Dans le cas d'Arduino, il permet la programmation via le port série par opposition aux méthodes de programmation standard ainsi que l'accès aux fonctions spéciales de la bibliothèque. Il y aura également (généralement) un convertisseur USB vers série car de nombreuses puces plus petites n'ont pas de matériel USB interne, donc l'USB doit être converti pour une communication correcte.
Question 1:
Un MCU aura un nombre spécifique de broches d'E / S. Ce sont des broches qui peuvent être des entrées ou des sorties. Vous pouvez connecter directement autant de capteurs numériques que de broches d'E / S, mais les capteurs analogiques sont limités au nombre de broches ADC (convertisseur analogique-numérique) disponibles. Tous les microcontrôleurs ne disposent pas d'une unité ADC. Vous pouvez également connecter de nombreux autres capteurs en utilisant des extensions GPIO externes ou des registres d'entrée en parallèle et de sortie série. Ceux-ci peuvent être contrôlés à l'aide de quelques broches MCU et peuvent considérablement augmenter le nombre de broches d'E / S disponibles.
Question 2:
Vous allez écrire un programme sur l'ordinateur qui est installé sur le MCU. Si le code vous permet d'avoir des communications externes (via USB, série, SPI, I2C, etc.), vous pouvez communiquer avec la puce pendant son fonctionnement. Mais cette capacité dépend du code que vous écrivez. Le langage que vous utilisez pour communiquer avec le MCU est à peu près ouvert à tout ce que vous voulez, car la communication est réellement effectuée par le matériel, pas par le langage de programmation. C'est peut-être ce que vous vouliez dire avec la mention "C #".
Votre projet:
En réalité, votre projet ne semble pas si compliqué: lisez un capteur de température (sonne comme analogique) et entraîner un moteur pour ouvrir / fermer une fenêtre en fonction de la lecture de ce capteur. Quand arrêter le moteur sera probablement basé sur un autre capteur attaché à la fenêtre. Cela peut être fait avec un très petit MCU avec peu de broches et peu d'espace de programme (comme ATtiny24 ou ATtiny25). Mais je pense que vous rencontrerez beaucoup de problèmes si vous ne travaillez pas d'abord sur quelque chose d'un peu plus petit. Le "bonjour le monde" standard des MCU est de faire clignoter une LED. Ensuite, construisez sur cela en essayant de contrôler la vitesse de clignotement avec un bouton, puis conduisez un moteur, etc.
Opinion personnelle ...
Je ne veux pas et je n'ai aucune envie d'utiliser Arduino. Je construis tous mes propres circuits, généralement avec des MCU AVR, mais je comprends la raison pour laquelle les gens les utilisent. Personnellement, je pense qu'il est de loin préférable d'apprendre à concevoir votre propre circuit et à le programmer que de copier le code d'autres personnes et de reconstituer des choses aléatoires - c'est ce que je vois faire la plupart des utilisateurs d'Arduino. Il existe BEAUCOUP de tutoriels en ligne pour démarrer avec des microcontrôleurs qui n'impliquent pas Arduino, c'est ce que je vous suggérerais de regarder si vous envisagez de concevoir votre propre circuit à l'avenir. Si vous n'avez aucun désir d'apprendre quoi que ce soit, alors, par tous les moyens, copiez, mais sachez qu'il existe souvent des moyens beaucoup plus simples et plus efficaces de faire les choses que vous ne comprendrez jamais si vous ne savez pas ce qui se passe.