For today’s new learners Arduino is very good to start learning how to run and write simple code that interacts with the world. we are sharing a very simple circuit diagram for Arduino shield.

we found a  “multifunction shield” for the Arduino Uno platform available at a less price from most internet suppliers.

 

Multifunction Arduino Shield Simple Circuit Schematic with details

 

A Feature-Rich Shield

some most useful electronics divided into segments:

  • Three pushbuttons
  • Four LEDs
  • A piezo-buzzer
  • A reset button
  • A multi-turn trimpot (10K)
  • A port for DS18B20 temperature sensor
  • An LED display module (four-digit, seven-segment)
  • A port for TSOP1838 infrared receiver module
  • Two serial LED display driver ICs(74HC595)
  • A APC220 wireless module interface (serial/UART interface)

 

Here is a simple circuit diagram of the multifunction shield. Looking up the schematic will save you a lot of time on future experiments.

 

 

As you can see, the four LEDs are bonded with digital pins D10–D13 while the three pushbuttons are routed to analog pins A1–A3. Digital (pwm) pin D3 drives the piezo-buzzer through a PNP transistor, and the analog pin A0 takes care of the 10K trimpot. Analog pin A4 is for the temperature sensor, digital pin D2 is for the infrared receiver module, and digital pins D4, D7, and D8 handle the LED display.

 

Looking at the simple circuit diagram, it looks like using the DS18B20 temperature sensor (and the infrared receiver module) requires a bit of research. As indicated in the top silkscreen layout, the flat (labeled) side of the temperature sensor must face the bottom side of the multifunction shield fronting the three pushbuttons. Also, the legend “U5-18b20-LM35-A4” has an arrow pointing up toward the middle pin (A4) of the temperature sensor header (GND on the left, DQ in the middle, and 5 V on the right). The jumper J1 feeds 5 V to the middle pin DQ through a 10K resistor. Similarly, pin notation for the infrared receiver module is OUT(D2)-GND-5V. I think that we can use the type TSOP1838/AH1838/VS1838 infrared receiver module here.

 

It’s noteworthy that the temperature sensor socket’s pin assignment is in the correct order for DS18B20 only. When using LM35, the sensor must be inserted correctly — i.e., in the inverse direction with its label side looking toward the top of the shield. Refer to the below image:

 

Multifunction Arduino Shield Simple Circuit Schematic with details

 

Truthfully, I’m not familiar with those APC220 wireless modules! As found in the datasheet (http://www.tinyosshop.com/datasheet/APC220_Datasheet.pdf), APC220 is a highly integrated semi-duplex low-power transceiver module with a high-speed MCU and a high-capability RF IC. The APC220 header feeds power to the module on pins 1 and 2 (GND and 5 V) and connects pins 4 and 5 (UART) to Arduino pins 0 and 1. The APC220 module (see next image) has a total of nine pins (only seven are in use), and its small size makes it an ideal solution for wireless data transfer applications. Likewise, the serial interface (UART) in the same header can also be used for interfacing other serial modules like Bluetooth, radio, voice, voice recognition, etc. But I couldn’t find more information about those wonderful add-ons so far.

 

Multifunction Arduino Shield Simple Circuit Schematic with details

 

 

Cautionary Advice

It seemed that most multifunction shields don’t have their pins of the seven-segment LED display module trimmed enough. They will likely come into contact with the top of Arduino’s USB connector. Sadly, I got such a hampered multifunction shield, but a slice of thin-film helped me to clear that issue.

 

First test: LED fade

This simple Arduino sketch can be used to test the multifunction shield. The code fades an onboard LED (D4) in the multifunction shield using the analogWrite() function:

 

int testLED = 10 // LED D4 in MF Shield

void setup() 
{
  // Nothing to do here
}

void loop() 
{
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
  {
    analogWrite(testLED, fadeValue);
    delay(30);
  }

  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
    analogWrite(testLED, fadeValue);
    delay(30);
  }
}

 

Second Test: Digits Display

The following Arduino Sketch tests the four-digit, seven-segment LED display. Needless to say, the LED controller is 74HC595 with its LATCH_DIO wired to D4, CLK_DIO to D7, and DATA_DIO to D8.

 

#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8

/* Segment byte maps for numbers 0 to 9 */
const byte SEGMENT_MAP[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90};
/* Byte maps to select digit 1 to 4 */
const byte SEGMENT_SELECT[] = {0xF1,0xF2,0xF4,0xF8};

void setup ()
{
  /* Set DIO pins to outputs */
  pinMode(LATCH_DIO,OUTPUT);
  pinMode(CLK_DIO,OUTPUT);
  pinMode(DATA_DIO,OUTPUT);
}

/* Main program */
void loop()
{
/* Update the display with the current counter value */
  WriteNumberToSegment(0 , 0);
  WriteNumberToSegment(1 , 1);
  WriteNumberToSegment(2 , 2);
  WriteNumberToSegment(3 , 3);
}

/* Write a decimal number between 0 and 9 to one of the 4 digits of the display */
void WriteNumberToSegment(byte Segment, byte Value)
{
  digitalWrite(LATCH_DIO,LOW);
  shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_MAP[Value]);
  shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_SELECT[Segment] );
  digitalWrite(LATCH_DIO,HIGH);
}

 

Multifunction Arduino Shield Simple Circuit Schematic with details

 

The above code is from the web (Arduino Learning). You can take as many examples as you like from the source: http://arduinolearning.com/code/multi-function-shield-examples.php

 

The Multifunction Shield Library

As usual, there’s a great library for the multifunction shield, which you can download from this link: http://files.cohesivecomputing.co.uk/MultiFuncShield-Library.zip

 

The next part demonstrates how the multifunction shield library can be used to run the shield’s onboard piezo-sounder. Take note, the code also calls for two other popular libraries — the “TimerOne” library and the “Wire” library. Because the beeper runs in the background (by interrupts), it will not disturb the main application in the loop.

 

#include <TimerOne.h>
#include <Wire.h>
#include <MultiFuncShield.h>

void setup() 
{
  Timer1.initialize();
  MFS.initialize(&Timer1);
  MFS.beep();
  delay(1000);
  MFS.beep(5,
           5,
           4,
           3,
           50);
}

void loop() 
{
  //main application - put your main code here, to run repeatedly
}

 

Now it’s your turn. Start fiddling with the multifunction shield buttons, trimpot, beeper, and display with or without using the multifunction shield library/libraries to make amazing projects. Try to read values from external sensors and command external transducers. Each of these has ambit to get off the ground. If, for any reason, you haven’t been successful experimenting with your multifunction shield, please post a comment and I’ll get back to you as soon as I can. Get to coding and have fun!

 

Multifunction Arduino Shield Simple Circuit Schematic with details

 

2 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here