ST NUCLEO Development Board and Easy Module Shield v1 examples

The Easy Module Shield V1 is a basic shield for the Arduino which has several useful components fitted that can be used for beginners learning, here is a list of these components

  • A DHT11 temperature and humidity sensor
  • An LM35 temperature sensor
  • A piezo buzzer
  • An RGB LED
  • A blue LED and a red LED
  • An IR receiver
  • A photoresistor
  • A rotary potentiometer
  • Two pushbuttons

I wanted to see if these could be used with one of the Nucleo boards, the good news is that using the Mbed compiler I was able to use all of the devices on the board.

Lets look at some examples using this shield

 

Code

Flash the D12 LED

[codesyntax lang=”cpp”]

#include "mbed.h"

DigitalOut myled(D12);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

[/codesyntax]

 

RGB LED example

[codesyntax lang=”cpp”]

#include "mbed.h"

DigitalOut redled(D9);
DigitalOut greenled(D10);
DigitalOut blueled(D11);

int main() {
    while(1)
    {
        redled = 1; // LED is ON
        wait(0.2); // 200 ms
        redled = 0; // LED is OFF
        wait(1.0); // 1 sec
        greenled = 1; // LED is ON
        wait(0.2); // 200 ms
        greenled = 0; // LED is OFF
        wait(1.0); // 1 sec
        blueled = 1; // LED is ON
        wait(0.2); // 200 ms
        blueled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

[/codesyntax]

 

Pot , LED and terminal output example

[codesyntax lang=”cpp”]

#include "mbed.h"

Serial pc(USBTX, USBRX);

AnalogIn analog_value(A0);
 
DigitalOut led(LED1);
 
int main() {
    float meas;
    
    pc.printf("\nPot example\n");
    
    while(1) {
        meas = analog_value.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
        meas = meas * 3300; // Change the value to be in the 0 to 3300 range
        pc.printf("measure = %.0f mV\n", meas);
        if (meas > 2000) { // If the value is greater than 2V then switch the LED on
          led = 1;
        }
        else {
          led = 0;
        }
        wait(0.2); // 200 ms
    }
}

[/codesyntax]

 

LDR, LED and terminal out example

[codesyntax lang=”cpp”]

#include "mbed.h"

Serial pc(USBTX, USBRX);

AnalogIn analog_value(A1);
 
DigitalOut led(D12);
 
int main() {
    float meas;
    
    pc.printf("\nLDR example\n");
    
    while(1) {
        meas = analog_value.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
        meas = meas * 3300; // Change the value to be in the 0 to 3300 range
        pc.printf("measure = %.0f mV\n", meas);
        if (meas > 2000) { // If the value is greater than 2V then switch the LED on
          led = 1;
        }
        else {
          led = 0;
        }
        wait(0.2); // 200 ms
    }
}

[/codesyntax]

 

So good news it can be used with a Nucleo

 

 

Links

 


Keyes V1 FR4 Multi-Purpose Shield Learning Module for Arduino – Red – $7.34

from: DealExtreme


ST NUCLEO-F401RE STM32F401RE Development Board for Arduino – White + Multicolored

from: DealExtreme

Share
This div height required for enabling the sticky sidebar
Ad Clicks : Ad Views : Ad Clicks : Ad Views :