Difference between revisions of "SmartCampus2014/TutoArduino"
Jump to navigation
Jump to search
Line 67: | Line 67: | ||
== Nombre de places disponibles dans un parking (capteurs de pression + afficheur 7 segments) == |
== Nombre de places disponibles dans un parking (capteurs de pression + afficheur 7 segments) == |
||
== Alerte de température (capteur de température + Speaker + LED) == |
== Alerte de température (capteur de température + Speaker + LED) == |
||
+ | [[File:montageAlarme.png | 200px| left | thumb | Montage pour une alerte de température]] |
||
+ | * Matériel : un capteur de température, un Speaker et une LED |
||
+ | * Connecter le matériel à la carte Arduino comme sur le schéma |
||
+ | * Télécharger le fichier [[Media:pitches.zip | pitches.h]] |
||
+ | * Créer un nouveau Sketch et mettre le fichier pitches.h dans le même dossier |
||
+ | * Copier le code suivant : |
||
+ | <big><source lang="c"> |
||
+ | |||
+ | /* Alarme led+speaker quand température au dessus d'un seuil |
||
+ | Modifié par Laurène Guelorget le 26 Fev 2014 */ |
||
+ | |||
+ | #include "pitches.h" |
||
+ | |||
+ | //Déclaration et initialisation des variables |
||
+ | int melody[] = {NOTE_C4,NOTE_G3,NOTE_C4,NOTE_G3,NOTE_C4,NOTE_G3}; |
||
+ | int noteDurations[] = {4,4,4,4,4,4}; |
||
+ | |||
+ | float mesure=0; //Variable pour le stockage mesure retournée par le capteur |
||
+ | float temperature=0; //Variable pour le stockage de la température |
||
+ | int pinTemp = 7; //Pin analogique sur lequel la température est mesurée |
||
+ | int pinSpeaker = 8; //Pin du speaker |
||
+ | const int ledPin = 13; //Pin de la led |
||
+ | |||
+ | // setup() |
||
+ | void setup() { |
||
+ | pinMode(ledPin, OUTPUT); |
||
+ | Serial.begin(9600); // Initialisation du port série |
||
+ | } |
||
+ | |||
+ | // loop() |
||
+ | void loop() { |
||
+ | mesure = analogRead(pinTemp); //Lecture de la valeur fournie par le capteur de température |
||
+ | temperature = mesure * 0.0625; //Conversion en température (en degré Celsius) |
||
+ | |||
+ | Serial.print("Temperature :"); |
||
+ | Serial.print (temperature); |
||
+ | Serial.println(); |
||
+ | delay(2000); |
||
+ | if(temperature>25) { |
||
+ | for (int thisNote = 0; thisNote < 6; thisNote++) { |
||
+ | int noteDuration = 1000/noteDurations[thisNote]; |
||
+ | tone(pinSpeaker, melody[thisNote],noteDuration); |
||
+ | int pauseBetweenNotes = noteDuration * 1.30; |
||
+ | delay(pauseBetweenNotes); |
||
+ | if(thisNote%2 == 0) { digitalWrite(ledPin, HIGH); } |
||
+ | else { digitalWrite(ledPin, LOW); } |
||
+ | noTone(pinSpeaker); |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | </source></big> |
Revision as of 12:41, 28 February 2014
Tutoriels de base
Capteur de température
Capteur de pression
Capteur d'humidité
Chenillard 5 LEDs
Applications
Thermomètre (capteur de température + afficheur 7 segments)
- Matériel : un capteur de température et un afficheur 7 segments
- Connecter le matériel à la carte Arduino comme sur le schéma
- Télécharger la librairie LedControl pour l'afficheur 7 segments
- Créer un nouveau Sketch et ajouter la librairie LedControl (Croquis > Importer Bibliothèque > Add librairy)
- Copier le code suivant :
/* capteur de température avec affichage 7 segments
Modifié par Laurène Guelorget le 26 Fev 2014
DataIn : pin 12 | CLK : pin 11 | LOAD/CL : pin 10 */
#include <LedControl.h>
//Déclaration et initialisation des variables
float mesure=0; //Variable pour le stockage mesure retournée par le capteur
float tension=0; //Variable pour le stockage de la tension
float temperature=0; //Variable pour le stockage de la température
int pinTemp = 7; //Pin Data du capteur de température
LedControl lc=LedControl(12,11,10,1); //DataIn : pin 12, CLK : pin 11, LOAD/CL : pin 10
int i = 0; int tbis = 0; boolean minus = false;
char t[] = "0000";
void setup() {
lc.shutdown(0,false);
lc.setIntensity(0,8);
lc.clearDisplay(0);
Serial.begin(9600); // Initialisation du port série
}
void loop() {
mesure = analogRead(pinTemp); //Lecture de la valeur fournie par le capteur de température
temperature = mesure * 0.0625; //Conversion en température (en degré Celsius)
Serial.print("Temperature :");
Serial.print (temperature);
Serial.println();
if(temperature<0) {
minus = true;
}
tbis = temperature * 100;
sprintf(t,"%d",tbis);
if(minus == true) {
lc.setChar(0,6,'-',false);
}
lc.setChar(0,5,t[0],false);
lc.setChar(0,4,t[1],true);
lc.setChar(0,3,t[2],false);
lc.setChar(0,2,t[3],false);
lc.setChar(0,1,' ',false);
lc.setChar(0,0,'C',false);
delay(5000);
}
Compteur (bouton-poussoir + afficheur 7 segments)
Nombre de places disponibles dans un parking (capteurs de pression + afficheur 7 segments)
Alerte de température (capteur de température + Speaker + LED)
- Matériel : un capteur de température, un Speaker et une LED
- Connecter le matériel à la carte Arduino comme sur le schéma
- Télécharger le fichier pitches.h
- Créer un nouveau Sketch et mettre le fichier pitches.h dans le même dossier
- Copier le code suivant :
/* Alarme led+speaker quand température au dessus d'un seuil
Modifié par Laurène Guelorget le 26 Fev 2014 */
#include "pitches.h"
//Déclaration et initialisation des variables
int melody[] = {NOTE_C4,NOTE_G3,NOTE_C4,NOTE_G3,NOTE_C4,NOTE_G3};
int noteDurations[] = {4,4,4,4,4,4};
float mesure=0; //Variable pour le stockage mesure retournée par le capteur
float temperature=0; //Variable pour le stockage de la température
int pinTemp = 7; //Pin analogique sur lequel la température est mesurée
int pinSpeaker = 8; //Pin du speaker
const int ledPin = 13; //Pin de la led
// setup()
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // Initialisation du port série
}
// loop()
void loop() {
mesure = analogRead(pinTemp); //Lecture de la valeur fournie par le capteur de température
temperature = mesure * 0.0625; //Conversion en température (en degré Celsius)
Serial.print("Temperature :");
Serial.print (temperature);
Serial.println();
delay(2000);
if(temperature>25) {
for (int thisNote = 0; thisNote < 6; thisNote++) {
int noteDuration = 1000/noteDurations[thisNote];
tone(pinSpeaker, melody[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
if(thisNote%2 == 0) { digitalWrite(ledPin, HIGH); }
else { digitalWrite(ledPin, LOW); }
noTone(pinSpeaker);
}
}
}