Arduino et le Kit Kuman K5

Il est possible de se procurer le kit fabriqué par Kuman contenant toute une série de capteurs analogiques qui permettent d’expériementer la programmation avec des résultats tangibles, le tout branché sur une carte Arduino. Les tutoriels étaient faits pour le Uno R3, mais la carte Uno R4 Wifi permet d’en faire autant, voire mieux, avec une pluis grande capacité de mémoire, de vitesse de processeur, bref, plein d’avenir!


Le Laser

La programmation pour tous les accessoires du kit Kuman reste semblable: c’est celle retrouvée dans les exemples fournis dans l’IDE d’Arduino dans la catégorie: Analog… AnalogInOutSignal.

De plus, on obtient des résultats dans la fenêtre de sortie Moniteur!

/*
Analog input, analog output, serial output

Reads an analog input pin, maps the result to a range from 0 to 255 and uses
the result to set the pulse width modulation (PWM) of an output pin.
Also prints the results to the Serial Monitor.

The circuit:

  • potentiometer connected to analog pin 0.
    Center pin of the potentiometer goes to the analog pin.
    side pins of the potentiometer go to +5V and ground
  • LED connected from digital pin 9 to ground through 220 ohm resistor created 29 Dec. 2008
    modified 9 Apr 2012
    by Tom Igoe This example code is in the public domain. https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogInOutSerial
    */

// These constants won’t change. They’re used to give names to the pins used:
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to

int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)

void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}

void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin, outputValue);

// print the results to the Serial Monitor:
Serial.print(« sensor = « );
Serial.print(sensorValue);
Serial.print(« \t output = « );
Serial.println(outputValue);

// wait 2 milliseconds before the next loop for the analog-to-digital
// converter to settle after the last reading:
delay(2);
}


Le détecteur de température


Il est important de toujours identifier le S sur la carte, qui correspond à la pin du Signal, celle du milieu, la 5V et à l’autre extrémité, le Ground GND. Souvent on retrouve un LED qui s’allume au branchement. Ce code allume la Led #13, et à la détection d’un aimant, c’est la Led rouge sur la carte qui s’allume!



int LedPin=13;
int SensorPin=9;
int inputVal;
void setup()
{
pinMode(LedPin,OUTPUT);
pinMode (SensorPin,INPUT);
}
void loop()
{
inputVal=digitalRead(SensorPin);
if(inputVal==HIGH)
{
digitalWrite(LedPin, HIGH); //if no magnetic field is detected, D9 LED is off
}
else
{
digitalWrite(LedPin, LOW); //if magnetic field is detected, D9 LED turns on
}
}

//Set pin control all digital IO
int a=7;//Definition of digital interface 7 connected a segment digital tube
int b=6;// Definition of digital interface 6 connected B segment digital tube
int c=5;// Definition of digital interface 5 connected C segment digital tube
int d=10;// Definition of digital interface 10 connected D segment digital tube
int e=11;// Definition of digital interface 11 connected e segment digital tube
int f=8;// Definition of digital interface 8 connected f segment digital tube
int g=9;// Definition of digital interface 9 connected g segment digital tube
int dp=4;// Definition of digital interface 4 connected DP segment digital tube
void digital_0(void) //Display number 5
{
unsigned char j;
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(dp,LOW);
}
void digital_1(void) //Display number 1
{
unsigned char j;
digitalWrite(c,HIGH);//Digital interface to the 5 pin high, lit C segment
digitalWrite(b,HIGH);//Light B segment
for(j=7;j<=11;j++)//Extinguish the rest
digitalWrite(j,LOW);
digitalWrite(dp,LOW);//Put out the DP segment of the decimal point
}
void digital_2(void) //Display number 2
{
unsigned char j;
digitalWrite(b,HIGH);
digitalWrite(a,HIGH);
for(j=9;j<=11;j++)
digitalWrite(j,HIGH);
digitalWrite(dp,LOW);
digitalWrite(c,LOW);
digitalWrite(f,LOW);
}
void digital_3(void) //Display number3
{
digitalWrite(g,HIGH);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(dp,LOW);
digitalWrite(f,LOW);
digitalWrite(e,LOW);
}
void digital_4(void) //Display number 4
{
digitalWrite(c,HIGH);
digitalWrite(b,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,LOW);
digitalWrite(a,LOW);
digitalWrite(e,LOW);
digitalWrite(d,LOW);
}
void digital_5(void) //Display number 5
{
unsigned char j;
digitalWrite(a,HIGH);
digitalWrite(b, LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e, LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,LOW);
}
void digital_6(void) //Display number 6
{
unsigned char j;
for(j=7;j<=11;j++)
digitalWrite(j,HIGH);
digitalWrite(c,HIGH);
digitalWrite(dp,LOW);
digitalWrite(b,LOW);
}
void digital_7(void) //Display number7
{
unsigned char j;
for(j=5;j<=7;j++)
digitalWrite(j,HIGH);
digitalWrite(dp,LOW);
for(j=8;j<=11;j++)
digitalWrite(j,LOW);
}
void digital_8(void) //Display number 8
{
unsigned char j;
for(j=5;j<=11;j++)
digitalWrite(j,HIGH);
digitalWrite(dp,LOW);
}
void digital_9(void) //Display number 5
{
unsigned char j;
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e, LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,LOW);
}
void setup()
{
int i;//defined variable
for(i=4;i<=11;i++)
pinMode(i,OUTPUT);//Set the 11 to 4 pin for the output mode
}
void loop()
{
while(1)
{
digital_0();//Display number 1
delay(1000);//delay 1s
digital_1();//Display number 1
delay(1000);//delay 1s
digital_2();//Display number2
delay(1000); //delay 1s
digital_3();//Display number3
delay(1000); //delay 1s
digital_4();//Display number 4
delay(1000); //delay 1s
digital_5();//Display number 5
delay(1000); //delay 1s
digital_6();//Display number 6
delay(1000); //delay 1s
digital_7();//Display number7
delay(1000); //delay 1s
digital_8();//Display number 8
delay(1000); //delay 1s
digital_9();//Display number 9
delay(1000); //delay 1s
}
}

int redpin = 11;    // select the pin for the red LED
int bluepin =10; // select the pin for the blueLED
int val;

void setup() {
pinMode(redpin, OUTPUT);
pinMode(bluepin, OUTPUT);
Serial.begin(9600);
}

void loop()
{
for(val=255; val>0; val--)
{
analogWrite(10, val);
analogWrite(10, 255-val);
delay(15);
}
for(val=0; val<255; val++)
{
analogWrite(11, val);
analogWrite(11, 255-val);
delay(15);
}
Serial.println(val, DEC);
}

/*
Blink
Turns on an LED on for two second, then off for two second, repeatedly.

This example code is in the public domain.
*/

void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(2000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(2000); // wait for a second
}




Published by:

Avatar de Inconnu

jasmin.tremblay

"Si tu veux construire un bateau, ne rassemble pas tes hommes et femmes pour leur donner des ordres, pour expliquer chaque détail, pour leur dire où trouver chaque chose... Si tu veux construire un bateau, fais naître dans le cœur de tes hommes et femmes le désir de la mer." Antoine de Saint-Exupéry

Laisser un commentaire

Laisser un commentaire