Différences entre les versions de « LilyPad ProtoSnap Plus »

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 179 : Ligne 179 :
 
==Boutons et commutateurs==
 
==Boutons et commutateurs==
 
L'exemple suivant montre comment utiliser un bouton et un commutateur. Encore une fois, nous venons de le copier à partir du [https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide#6-buttons-and-switches didacticiel] et nous n'avons apporté que de petites modifications dans les commentaires.
 
L'exemple suivant montre comment utiliser un bouton et un commutateur. Encore une fois, nous venons de le copier à partir du [https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide#6-buttons-and-switches didacticiel] et nous n'avons apporté que de petites modifications dans les commentaires.
 +
 +
<source lang="C">
 +
/*
 +
LilyPad ProtoSnap Plus Activity 6: Buttons and Switches
 +
SparkFun Electronics
 +
https://www.sparkfun.com/products/14346
 +
 +
Explore digital input and program flow control using the button and switch
 +
 +
Follow the tutorial at: https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide#6-buttons-and-switches
 +
 +
This code is released under the MIT License (http://opensource.org/licenses/MIT)
 +
 +
******************************************************************************/
 +
 +
// Create integer variables for the pins we'll be using
 +
 +
int buttonPin = A4; // the button component is connected to A4
 +
int switchPin = A9; // the switch is connected to A9
 +
 +
int buttonLED = A5; // yellow LEDs
 +
int switchLED = A8; // blue LEDs
 +
 +
void setup()
 +
{
 +
  // Initialize the button and switch pins as inputs with pullups.
 +
  // Pullups keep the inputs from "floating" when a switch or button is open / unpressed.
 +
 +
  pinMode(buttonPin, INPUT_PULLUP);
 +
  pinMode(switchPin, INPUT_PULLUP);
 +
 +
  // Initialize the LED pins as outputs:
 +
 +
  pinMode(buttonLED, OUTPUT);
 +
  pinMode(switchLED, OUTPUT);
 +
}
 +
 +
void loop()
 +
{
 +
  // This code will read the positions of the button and switch,
 +
  // then use the "if" command to make LEDs follow these states.
 +
 
 +
  // Create variables to store the button and switch input values:
 +
 +
  int buttonState;
 +
  int switchState;
 +
 +
  // Read and save the states of the button and switch:
 +
 +
  buttonState = digitalRead(buttonPin);
 +
  switchState = digitalRead(switchPin);
 +
 +
  // The if-else statement lets you do different things based on different inputs:
 +
 +
  // The button will read as LOW when it's pressed
 +
 +
  if (buttonState == LOW) // Check to see if buttonState is LOW (pressed)
 +
  {
 +
    digitalWrite(buttonLED,HIGH); // If buttonState is LOW (pressed), turn on the yellow LED
 +
  }
 +
  else
 +
  {
 +
    digitalWrite(buttonLED,LOW); // If buttonState is HIGH (unpressed), turn off the yellow LED
 +
  }
 +
 +
  if (switchState == LOW) // Check to see if switchState is LOW (switch is on)
 +
  {
 +
    digitalWrite(switchLED,HIGH); // If switchState is LOW (on), turn on the blue LED
 +
  }
 +
  else
 +
  {
 +
    digitalWrite(switchLED,LOW); // If switchState is HIGH (off), turn off the blue LED
 +
  }
 +
}
 +
</source>
  
 
=Liens=
 
=Liens=

Version du 17 juin 2022 à 15:43

1 Introduction

Le LilyPad ProtoSnap Plus est une carte de prototypage électronique à coudre (e-textile) que vous pouvez utiliser pour explorer les circuits et la programmation, puis décomposer pour créer un tissu interactif ou un projet portable.

Le LilyPad ProtoSnap Plus peut être acheté seul ou dans un kit comprenant des fils, un câble USB B, des aiguilles et une batterie.

2 La carte

2.1 Aperçu

"Au centre du LilyPad ProtoSnap Plus se trouve un microcontrôleur LilyPad USB Plus, pré-câblé aux pièces LilyPad, y compris un capteur de lumière LilyPad, un buzzer LilyPad, une carte de boutons LilyPad, quatre paires de LED LilyPad colorées et un interrupteur à glissière LilyPad. Étant donné que ces composants sont connectés ensemble sur la carte ProtoSnap, vous pouvez tester vos idées de projet avant de coudre. Le ProtoSnap Plus comprend également des ports d'extension ; ceux-ci vous permettent d'utiliser des pinces crocodile pour connecter facilement des capteurs et des composants externes à la carte. Après avoir testé vos idées de codage à l'aide des pièces LilyPad [...], vous pouvez séparer le tableau et les coudre dans votre projet" (Guide LilyPad ProtoSnap Plus Hookup, récupéré le 17 juin 2022).

2.2 Le LilyPad USB Plus

"Le LilyPad USB Plus est un microcontrôleur compatible Arduino similaire à la carte LilyPad Arduino USB - ATmega32U4 mais avec quelques fonctionnalités supplémentaires et trois onglets de couture supplémentaires. Il n'est actuellement disponible que sur le LilyPad ProtoSnap Plus" (Guide LilyPad ProtoSnap Plus Hookup, récupéré le 17 juin 2022).

Ce microcontrôleur comprend les éléments suivants :

  • Port USB B pour connexion à un ordinateur.
  • Deux ensembles de pattes de couture électriques (+) et au sol (-).
  • LED RVB intégrée fixée aux broches 12 (R), 13 (G) et 14 (B).
  • Une rangée de six petites LED blanches attachées aux broches 15-20.
  • Circuit de charge pour batteries lithium-polymère à cellule unique (3,7 V).

Les différentes pattes de couture et leurs connexions câblées aux composants encliquetables sont documentées en détail dans un tableau du guide de raccordement LilyPad ProtoSnap Plus (récupéré en juin 2022) que nous avons produit ci-dessous sous une forme légèrement modifiée.

Composant LilyPad Connecté à LilyPad USB Plus Sew Tab Description
Capteur de lumière LilyPad (S) A2 LilyPad USB Plus reçoit le niveau de lumière ambiante depuis le capteur de lumière.
Buzzer LilyPad (+) A3 Un buzzer qui crée des tonalités, contrôlé par LilyPad USB Plus.
Bouton LilyPad A4 LilyPad USB Plus reçoit une entrée de pression de bouton.
2x LilyPad LED jaunes (+) A5 Une paire de LED jaunes contrôlées par LilyPad USB Plus.
2x LilyPad LED rouges (+) ~6 Une paire de LED rouges contrôlées par LilyPad USB Plus.
2x LilyPad LED verts (+) ~A7 Une paire de LED vertes contrôlées par LilyPad USB Plus.
2x LilyPad LED bleus (+) ~A8 Une paire de LED bleues contrôlées par LilyPad USB Plus.
Commutateur LilyPad A9 LilyPad USB Plus reçoit une entrée d'état de commutation (marche/arrêt) pour changer de mode.
Port d'extension A9 A9 Pads clipsables pour connecter une autre pièce LilyPad. Partage la connexion avec le commutateur LilyPad.
Port d'extension (+) (+) Pads clipsables connectés à la languette de couture d'alimentation (+) de LilyPad USB Plus.
Port d'extension ~10/SCL ~10/SCL Pads clipsables connectés à la patte de couture 10 de LilyPad USB Plus. Cela peut être utilisé pour se connecter à une broche d'horloge I2C.
Port d'extension 11/SDA 11/SDA Pads clipsables connectés à la languette de couture 11 de LilyPad USB Plus. Cela peut être utilisé pour se connecter à une broche de données I2C.
Port d'extension (-) (-) Pads clipsables connectés à la patte de couture de masse (-) de LilyPad USB Plus.
Tous les composants (-) (-) Tous les composants partagent une connexion de masse commune vers le LilyPad USB Plus.

2.3 Alimentation / Chargement

La carte LilyPad USB Plus pourra puiser dans le câble USB B et rechargera la petite batterie au lithium. Lire les détails

3 Programmation du LilyPad USB Plus

Il faut soit installer l'IDE Arduino, version 1.8.9 soit utiliser l'éditeur en ligne Arduino, mais nous n'avons pas compris comment ajouter cette carte à ce dernier (ou si c'est possible dans la version gratuite)

3.1 Installation du logiciel Arduino IDE sur votre ordinateur de bureau

Pour Windows 10 :

  • Téléchargez le logiciel Arduino : https://www.arduino.cc/en/Main/Software
  • Installez-le.
  • Windows 7 peut nécessiter un travail supplémentaire pour installer les pilotes (lisez le manuel ci-dessus)

3.2 Configurer l'éditeur

Vous devrez configurer votre carte dans l'éditeur.

Étape 1 - Ajouter l'URL de Sparkfun

  • Dans le menu Fichier -> Préférences, ajoutez l'URL suivante en bas de la page.

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

Étape 2 - Ajouter des informations sur la carte

(lisez le texte officiel si ce qui suit est trop court pour vous):

  • Dans Menu Outils -> Carte-> Gestionnaire de cartes, sélectionnez Gestionnaire de cartes.
  • Dans les fenêtres du gestionnaire de cartes qui s'ouvriront, recherchez "Sparkfun"
  • Sélectionnez les cartes AVR SparkFun de SparkFun Electronics
  • Cliquez sur Installer, en sélectionnant la dernière version
  • En cas de succès, le mot "INSTALL" devrait apparaître à côté.

Étape 3 - Connectez la carte et sélectionnez à la fois la carte et le port USB

  • (re)connecter la carte. Éteignez-la avant de vous déconnecter et rallumez-la après la connexion
  • Sélectionnez Outils -> Carte, puis en bas du menu sélectionnez LilyPad USB Plus
  • Sélectionnez Outils -> Port, puis sélectionnez "... LilyPad USB Plus".

Ces trois étapes doivent être effectuées à chaque fois.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Avant de commencer à explorer cela, assurez-vous que vous avez correctement configuré l'IDE Arduino comme décrit ci-dessus, par exemple, le LilyPad USB Plus apparaît dans les menus Fichier -> Carte et Port.

Vous pouvez maintenant utiliser l'exemple de code fourni à cet emplacement :

  • Menu Fichier -> Exemples -> LilyPadProtoSnapPlus

3.3 LED clignotante

Ce code est assez simple et comprend deux parties

  • La fonction setup() sera appelée en premier et est utilisée pour initialiser les choses. Dans notre cas, nous définissons la broche A5 pour la sortie.
  • La boucle suivante fera clignoter la LED.

Le code ci-dessous est documenté, lisez-le.

Étape 1

Ouvrez le menu Fichier> Exemples> LilyPadProtoSnapPlus> LPP_01_Blink

/*
LilyPad ProtoSnap Plus Activity 1: Blinking LEDs
SparkFun Electronics
https://www.sparkfun.com/products/14346

Blink the pair of yellow LEDs attached to sew tab A5 on the LilyPad USB Plus

Follow the tutorial at:        
https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide#1-blinking-leds

This example is based on: Blink by Scott Fitzgerald
https://www.arduino.cc/en/Tutorial/Blink

This code is released under the MIT License (http://opensource.org/licenses/MIT)

******************************************************************************/

// The setup function runs once when the microcontroller starts up or resets:

void setup()
{
  // Before you use a sew tab (pin), you must set it to be either an input or output:

  pinMode(A5, OUTPUT);    // Set pin A5 to be an output
}

// After the setup function runs, the loop function runs over and over forever:

void loop()
{
  digitalWrite(A5, HIGH); // Give pin A5 a HIGH voltage level (on), which lights up the LED
  delay(1000);            // Pause for 1000 milliseconds (one second), the LED stays on
  digitalWrite(A5, LOW);  // Give pin A5 a LOW voltage level (off), which turns off the LED
  delay(1000);            // Pause for 1000 milliseconds (one second), the LED stays off
}

Étape 2

Compiler et télécharger sur le tableau

  • Cliquez sur le bouton avec la flèche ->

La LED jaune accrochée à A5 devrait maintenant clignoter.

3.4 Boutons et commutateurs

L'exemple suivant montre comment utiliser un bouton et un commutateur. Encore une fois, nous venons de le copier à partir du didacticiel et nous n'avons apporté que de petites modifications dans les commentaires.

/*
LilyPad ProtoSnap Plus Activity 6: Buttons and Switches
SparkFun Electronics
https://www.sparkfun.com/products/14346

Explore digital input and program flow control using the button and switch

Follow the tutorial at: https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide#6-buttons-and-switches

This code is released under the MIT License (http://opensource.org/licenses/MIT)

******************************************************************************/

// Create integer variables for the pins we'll be using

int buttonPin = A4; // the button component is connected to A4
int switchPin = A9; // the switch is connected to A9

int buttonLED = A5; // yellow LEDs
int switchLED = A8; // blue LEDs

void setup()
{
  // Initialize the button and switch pins as inputs with pullups.
  // Pullups keep the inputs from "floating" when a switch or button is open / unpressed.

  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(switchPin, INPUT_PULLUP);

  // Initialize the LED pins as outputs:

  pinMode(buttonLED, OUTPUT);
  pinMode(switchLED, OUTPUT);
}

void loop()
{
  // This code will read the positions of the button and switch,
  // then use the "if" command to make LEDs follow these states.
  
  // Create variables to store the button and switch input values:

  int buttonState;
  int switchState;

  // Read and save the states of the button and switch:

  buttonState = digitalRead(buttonPin);
  switchState = digitalRead(switchPin);

  // The if-else statement lets you do different things based on different inputs:

  // The button will read as LOW when it's pressed

  if (buttonState == LOW) // Check to see if buttonState is LOW (pressed) 
  {
    digitalWrite(buttonLED,HIGH); // If buttonState is LOW (pressed), turn on the yellow LED
  }
  else
  {
    digitalWrite(buttonLED,LOW); // If buttonState is HIGH (unpressed), turn off the yellow LED
  }

  if (switchState == LOW) // Check to see if switchState is LOW (switch is on)
  {
    digitalWrite(switchLED,HIGH); // If switchState is LOW (on), turn on the blue LED
  }
  else
  {
    digitalWrite(switchLED,LOW); // If switchState is HIGH (off), turn off the blue LED
  }
}

4 Liens

5 Sources et modification du droit d'auteur

  • Ce texte réutilise certains contenus et images (partiellement modifiés) du Guide de branchement LilyPad ProtoSnap Plus et du Guide d'activité LilyPad ProtoSnap Plus.
  • Par conséquent, le contenu de cette page (y compris les images) est également disponible sous une licence CC BY-SA 4.0. En bref, vous pouvez copier et redistribuer le matériel sur n'importe quel support ou format, remixer, transformer et développer le matériel à n'importe quelle fin, même commercialement. dans les conditions suivantes : vous devez donner le crédit approprié, fournir un lien vers la licence et indiquer si des modifications ont été apportées. Si vous remixez, transformez ou construisez sur le matériel, vous devez distribuer vos contributions sous la même licence que l'original.