Home Hardware A look at the OPEN-SMART Rich UNO R3 Atmega328P Development kit

A look at the OPEN-SMART Rich UNO R3 Atmega328P Development kit

by shedboy71
[lebox id="1"]

Compatible with Arduino UNO R3, OPEN-SMART Rich UNO R3 is an ATMEGA328P development board with peripherals such as a 4 digit display, DS1307 clock, LM75 temperature sensor, infrared receiver, serial MP3 player, rotation angle sensor, 4-channel touch sensor.

There are various additional features on the board meaning you don't need to add a shield or extra components to get started

OPEN-SMART Rich UNO R3

OPEN-SMART Rich UNO R3

The kit contains TF card, speaker, CR1220 battery, infrared remote control, and these are the necessary accessories for MP3, DS1307, infrared receiver.

4 digit display: 4 digit tube (0.36 inches) which can display the clock point, it needs D10/D11 pins to control and display the integer, clock, stopwatch, score and so on.
DS1307 clock: based on DS1307 high-precision real-time clock module, I2C interface, the address is 0x68.
LM75 temperature sensor: I2C interface temperature sensor, not only can measure the temperature, it can also set the temperature protection temperature, the address is 0x48.
Infrared receiver: use D2 pin, It can receive the modulated infrared signal of 38KHz that is sent by the IR transmitter module and demodulate it into logic level, and it can complete the infrared remote control with the codec program.
Serial MP3: MP3 music player module is based on high-quality MP3 music chip, use D7 / D8 pins to be software serial port, you can send commands to switch songs, change the volume and play mode and other operations.
Rotation angle sensor: 10K ohm adjustable potentiometer knob angle sensor, use A0 pin, can be used for MP3 volume adjustment, 4-digit display brightness adjustment.
4-CH touch sensor: capacitive touch switch, only when you touch the corresponding position with your fingers, the module corresponding pin (D3 / D4 / D5 / D6) will output high level, otherwise it outputs low.

Features:
– Use Arduino UNO bootloader
– It is 100% compatible with Arduino UNO R3 program, expansion shields, IDE.
– Use Through Hole Mount type B USB connector, consistent with Arduino UNO R3, ruggedness and long service life.
– Onboard 500mA resettable fuse to protect power supply from the USB port and the DC jack at the same time.
– USB interface driver chip: CH340G, compatible with win7, win8, linux, MAC OS.
– Microcontroller: Atmel ATmega328P
– Working voltage: 5V
– IO logic voltage: 5V
– Working current: 500mA (Max)
– Onboard DIP switch, you can disconnect the connection between the peripheral module on the board and the Atmega328P.
– Onboard Arduino Shield interface, can plug the compatible expansion shield.

 

Code

The link below has various resources including schematics, there are a lot of examples which use a library that has been written for it

This example uses the Lm75 and displays the temperature on the display

Arduino libraries for Rich UNO R3

[codesyntax lang=”cpp”]

#include <Wire.h>
#include <SoftwareSerial.h>

#include "RichUNOTM1637.h"
#include "RichUNOLM75.h"

LM75 temper;  // initialize an LM75 object "temper" for temperature

#define CLK 10//CLK of the TM1637 IC connect to D10 of Arduino
#define DIO 11//DIO of the TM1637 IC connect to D11 of Arduino
TM1637 disp(CLK,DIO);

void setup()
{
  Wire.begin();//you should run this function first, so that I2C device can use the I2C bus
  disp.init();//The initialization of the display
  delay(1000);//
}

void loop()
{
  float celsius;
  celsius = temper.getTemperatue();//get temperature
  displayTemperature((int8_t)celsius);//
  delay(1000);//delay 1000ms
}
/************************************************* *********************/
/* Function: Display temperature on 4-digit digital tube */
/* Parameter: -int8_t temperature, temperature range is -40 ~ 125 degrees celsius */
/* Return Value: void */

void displayTemperature(int8_t temperature)
{
  int8_t temp[4];
  if(temperature < 0)
	{
		temp[0] = INDEX_NEGATIVE_SIGN;
		temperature = abs(temperature);
	}
	else if(temperature < 100)temp[0] = INDEX_BLANK;
	else temp[0] = temperature/100;
	temperature %= 100;
	temp[1] = temperature / 10;
	temp[2] = temperature % 10;
	temp[3] = 12;	          //index of 'C' for celsius degree symbol.
	disp.display(temp);
}

[/codesyntax]

 

Links

https://drive.google.com/drive/folders/0B6uNNXJ2z4CxWjcybmpFOUprRWc?usp=sharing

 

The board comes in about $22
AliExpress.com Product – Rich Multifunction UNO R3 Atmega328P Development Board Kit for Arduino with MP3 /DS1307 RTC /Temperature /Touch Sensor module

Share
[lebox id="2"]

You may also like

Leave a Comment