WeMos D1 mini 0.66 inch 64x48 OLED Shield [D056]



https://www.youtube.com/watch?v=gJ4DnVyD8xU


* GitHubhttps://github.com/rdiot/rdiot-d056.git


* Specs

OLED Shield for WeMos D1 mini 0.66" inch 64X48 IIC I2C


* Contents

- Library : https://github.com/sparkfun/SparkFun_Micro_OLED_Arduino_Library/tree/V_1.1.2

- Tested Example : https://github.com/wemos/D1_mini_Examples/archive/master.zip

 : D1_mini_Examples-master\04.Shields\OLED_Shield\Use_SparkFun_Library

Posted by RD IoT RDIoT

댓글을 달아 주세요

65K Color OLED 0.95 SPI 96x64 (SSD1331) [D058]





https://www.youtube.com/watch?v=7Vf7K8ApiUw


*GitHubhttps://github.com/rdiot/rdiot-d058.git


* Specs

Driver Chip SSD1331 

Interface SPI 

Resolution 96×64 

Display Size 0.95inch 

Colors 65K colorful 

Visible Angle >160° 

Operating Temp. (℃) -20~70 

Storage Temp. (℃) -30~80 

Operating Voltage 3.3V / 5V 


* Contents

- Connect

GND: Power ground ----- GND

VCC:2.8-5.5V power supply ----- 5V

D0: CLK clock ----- D13

D1: MOSI data ----- D11

RST: Reset ----- D9

DC: data / command ----- D8

CS: chip-select signal ----- D10


- Library :  https://github.com/adafruit/Adafruit-SSD1331-OLED-Driver-Library-for-Arduino


Posted by RD IoT RDIoT

댓글을 달아 주세요

OLED 0.96 I2C 128x64 White (SSD1306) [D044]



https://www.youtube.com/watch?v=hdcyJQNt0E0


*GitHub : https://github.com/rdiot/rdiot-d044.git


* Specs

128X64 OLED LCD LED Display Module white For Arduino 0.96" I2C IIC SPI Serial new original



* Contents

- Library : https://bintray.com/olikraus/u8glib/Arduino

- Library Desc : http://code.google.com/p/u8glib/wiki/u8glib


- Key Code

#include "U8glib.h"


U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);


void loop(void) {

  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );


  // rebuild the picture after some delay

  delay(500);

}


void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("OLED 0.96 ");


  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,40);

  u8g.println("I2C 128x64");


  u8g.setPrintPos(0,60); 

  u8g.print("Blue"); // Actually White

}

Posted by RD IoT RDIoT

댓글을 달아 주세요

OLED 0.96 I2C 128x64 (SSD1306) [D003]



https://www.youtube.com/watch?v=GEWRMnRhHhE


* GitHubhttps://github.com/rdiot/rdiot-d003.git


* Specs

0.96" Inch Yellow and Blue I2C IIC OLED LCD Module Serial 128X64 LED Display for Arduino 51 MSP420 STIM32 SCR lcd display

Support wide voltage: 3.3V-5V DC

Driver IC: SSD1306

Communication: IIC, only two I / O ports

Viewing angle: greater than 160 degrees

Size: 0.96


* Contents

- Library : https://bintray.com/olikraus/u8glib/Arduino

- Library Desc : http://code.google.com/p/u8glib/wiki/u8glib


- Key Code

#include "U8glib.h"


U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);


void loop(void) {

  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );


  // rebuild the picture after some delay

  delay(500);

}


void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("HC-SR04");


  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,40);


  int var = 0;

  u8g.print("Dist.="+(String)var+"mm");

}

Posted by RD IoT RDIoT

댓글을 달아 주세요

OLED 0.91 I2C 128x32 White (SSD1306) [D054]



https://www.youtube.com/watch?v=tj0cw7PF3as


*GitHubhttps://github.com/rdiot/rdiot-d054.git


* Specs

0.91 Inch OLED LCD Module SPI/IIC Interface 128*32 Dot Matrix  new original


* Contents

- DataSheet : http://www.buydisplay.com/download/manual/ER-OLED0.91-1_Series_Datasheet.pdf


- Connect

GND ----- GND

VCC ----- 3.3~5V

SCK ---- SCL

SDA ---- SDA


- Key Code


#include "U8glib.h"

U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); 


void loop(void) {


  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );

  // rebuild the picture after some delay


  delay(500);

}


void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("OLED 0.91");

  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,30);

  int var = 0;

  u8g.print("128x32");

}

Posted by RD IoT RDIoT

댓글을 달아 주세요

650nm Laser Diode Module (KY-008) [D004]



https://www.youtube.com/watch?v=7h7lJ4rDAcQ


* GitHub : https://github.com/rdiot/rdiot-d004.git


* Specs

High Quality 650nm Laser sensor Module 6mm 5V 5mW Red Laser Dot Diode Copper Head KY-008

Product Details:

Laser sensor Module

Condition: New

Operating voltage 5V

Output wavelength 650 nm

3 pins module

With fixed bolt hole for easy installation

Color: show as pictures

PLS NOTE that due to lighting effects, monitor's brightness / contrast settings etc, there could be some slight differences in the color tone of the pictures and the actual item!


* Contents

- Key Code

#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

 

int laserPin = 10;

int btnPin = 2;

 

void setup() {

  // put your setup code here, to run once:

   pinMode (laserPin, OUTPUT); // laser

   pinMode (btnPin, INPUT); // button

}

 

void loop(void) {

  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );

  

  // rebuild the picture after some delay

  delay(500);

}

 

void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("Laser Emit");

 

  u8g.setFont(u8g_font_fub17);

  u8g.setPrintPos(0,40);

 

  int btn = digitalRead(btnPin);

  u8g.print("btn="+(String)btn);

 

  if(btn == 1)

  {

    digitalWrite (laserPin, HIGH);

  }

  else

  {

    digitalWrite (laserPin, LOW);

  }

 

/*

   digitalWrite (laserPin, HIGH); // Turn Laser On

   delay (1000); // On For Half a Second

   digitalWrite (laserPin, LOW); // Turn Laser Off

   delay (500); // Off for half a second

*/

 

}

Posted by RD IoT RDIoT

댓글을 달아 주세요

HC Serial Bluetooth Module (HC-06) [S018]




HC Serial Bluetooth Module (HC-06) Phone to Slave [S018] 

https://www.youtube.com/watch?v=RuOHfPNCc4I


HC Serial Bluetooth Module (HC-06) Mster to Slave [S018]

https://www.youtube.com/watch?v=y8-W5BIm6xU


*GitHub : https://github.com/rdiot/rdiot-s018.git


* Specs

Serial port bluetooth, Drop-in replacement for wired serial connections, transparent usage. You can use it simply for a serial port replacement to establish connection between MCU and GPS, PC to your embedded project and etc.

And now, we provide HC-05 and HC-06. HC-05 could be setting to Master or Slave by user. HC-06 has be designed Master or Slave when the factory, user couldn't change the role.


Feature :

Bluetooth protocal:  Bluetooth Specification v2.0+EDR

Frequency:  2.4GHz ISM band

Modulation:  GFSK(Gaussian Frequency Shift Keying)

Emission power:  ≤4dBm, Class 2

Sensitivity:  ≤-84dBm at 0.1% BER

Speed: Asynchronous:  2.1Mbps(Max) / 160 kbps, Synchronous: 1Mbps/1Mbps

Security:  Authentication and encryption

Profiles:  Bluetooth serial port

Power supply: +3.3VDC 50mA

Working temperature: -20 ~ +75 Centigrade

Dimension: 26.9mm x 13mm x 2.2 mm


Default : Slave, 9600 baud rate, N, 8, 1. Pincode 1234


* Contents

- Connect

WAKEUP

VCC(3.6~6V) ----- 5V

GND ----- GND

TXD ----- RX

RXD ----- TX

STATE 


- Master Setup

AT

AT+ROLE=M

Arduino Reboot

AT+PIN1234

AT+BAUD4


- Slave Setup

AT

AT+ROLE=S

Arduino Reboot

AT+PIN1234

AT+BAUD4

AT+NAMEbtSlave


- Key Code

@Setup Master or Slave 

#include <SoftwareSerial.h>

 

SoftwareSerial BTSerial(2, 3);

 

void setup()  

{

  Serial.begin(9600);

  BTSerial.begin(9600);

}

void loop()

{

  if (BTSerial.available())

    Serial.write(BTSerial.read());

  if (Serial.available())

    BTSerial.write(Serial.read());

}  


@ Slave Test Source (Phone Master -> Slave)

#include "U8glib.h"

#include <SoftwareSerial.h>

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

SoftwareSerial BTSerial(2, 3);

 

char data=NULL;

String str="";

int ledPin = 9;

 

void setup() {

 pinMode(ledPin,OUTPUT);

  Serial.begin(9600);

  BTSerial.begin(9600);

}

 

void loop(void) {

 

  if (BTSerial.available()) 

  {

   //Serial.write(BTSerial.read()); 

    data = (char)BTSerial.read();

   

    if(data == '1') {

      digitalWrite(ledPin,HIGH);

      str = "ON";

    } else if(data == '0') {

      digitalWrite(ledPin,LOW);

      str = "OFF";

    }

   }

 

  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );

  

  // rebuild the picture after some delay

  delay(100);

 

}

 

void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("HC-06");

 

  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,40);

 

  u8g.print("data="+(String)data);

 

  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,60);

 

  u8g.print("cmd="+(String)str);

}

 


@ Master HC-06 <-> Slave HC-06 Test Source

#include <SoftwareSerial.h>

SoftwareSerial BT_Serial(2,3); //RX, TX

 

void setup()

{

  Serial.begin(9600);

  BT_Serial.begin(9600); // connect bluetooth

}

 

void loop()

{

  if(BT_Serial.available())

    Serial.write(BT_Serial.read()); // bluetooth read

    

  if(Serial.available())

    BT_Serial.write(Serial.read()); // bluetooth write  

}

Posted by RD IoT RDIoT

댓글을 달아 주세요

RFID-RC522 (MFRC-522) [S012]



RFID-RC522 (MFRC-522) Check UID [S012] 

https://www.youtube.com/watch?v=XxsINKkGcmQ


RFID-RC522 (MFRC-522) Check Hex Editor [S012] 

https://www.youtube.com/watch?v=XpHI3dOjctg


*GitHubhttps://github.com/rdiot/rdiot-s012.git


* Specs

The MFRC522 is a highly integrated reader/writer IC for contactless communication at 13.56 MHz. The MFRC522 reader supports ISO/IEC 14443 A/MIFARE and NTAG. 

The MFRC522’s internal transmitter is able to drive a reader/writer antenna designed to communicate with ISO/IEC 14443 A/MIFARE cards and transponders without additional active circuitry. The receiver module provides a robust and efficient implementation for demodulating and decoding signals from ISO/IEC 14443 A/MIFARE compatible cards and transponders. The digital module manages the complete ISO/IEC 14443 A framing and error detection (parity and CRC) functionality.

The MFRC522 supports MF1xxS20, MF1xxS70 and MF1xxS50 products. The MFRC522

supports contactless communication and uses MIFARE higher transfer speeds up to 848 kBd in both directions.


Highly integrated analog circuitry to demodulate and decode responses

 Buffered output drivers for connecting an antenna with the minimum number of

external components

 Supports ISO/IEC 14443 A/MIFARE and NTAG

 Typical operating distance in Read/Write mode up to 50 mm depending on the

antenna size and tuning

 Supports MF1xxS20, MF1xxS70 and MF1xxS50 encryption in Read/Write mode

 Supports ISO/IEC 14443 A higher transfer speed communication up to 848 kBd

 Supports MFIN/MFOUT

 Additional internal power supply to the smart card IC connected via MFIN/MFOUT

 Supported host interfaces

 SPI up to 10 Mbit/s

2C-bus interface up to 400 kBd in Fast mode, up to 3400 kBd in High-speed mode

 RS232 Serial UART up to 1228.8 kBd, with voltage levels dependant on pin

voltage supply

 FIFO buffer handles 64 byte send and receive

 Flexible interrupt modes

 Hard reset with low power function

 Power-down by software mode

 Programmable timer

 Internal oscillator for connection to 27.12 MHz quartz crystal

 2.5 V to 3.3 V power supply

 CRC coprocessor

 Programmable I/O pins

 Internal self-test



* Contents

- DataSheet : http://www.nxp.com/documents/data_sheet/MFRC522.pdf


- Connect : PinMap https://github.com/miguelbalboa/rfid#pin-layout

3.3V - 3.3V

RST - D9

GND - GND

IRQ - X

MISO - D12

MOSI - D11

SCK - D13

SDA - D10


- Library : https://github.com/miguelbalboa/rfid 

 : Key Reset : rfid_default_keys

 : Save Data : rfid_write_personal_data

 : Dump : DumpInfo


- Key Code

#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);


#include <SPI.h>

#include <MFRC522.h>


#define RST_PIN  9  // 

#define SS_PIN  10  //


MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

String rfidUid = "";



void setup() {

  

 Serial.begin(9600);  // Initialize serial communications with the PC

 while (!Serial);  // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

 SPI.begin();   // Init SPI bus

 mfrc522.PCD_Init();  // Init MFRC522

 ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details

 Serial.println(F("Scan PICC to see UID, type, and data blocks..."));

}


void loop() {


  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );

  

  // rebuild the picture after some delay

  //delay(500);

  

 // Look for new cards

 if ( ! mfrc522.PICC_IsNewCardPresent()) {

  return;

 }


 // Select one of the cards

 if ( ! mfrc522.PICC_ReadCardSerial()) {

  return;

 }

  mfrc522.PICC_DumpToSerial(&(mfrc522.uid));

rfidUid = "";

for (byte i = 0; i < mfrc522.uid.size; i++) {

  rfidUid += String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");

  rfidUid += String(mfrc522.uid.uidByte[i], HEX);

}


 // Dump debug info about the card; PICC_HaltA() is automatically called


}


void ShowReaderDetails() {

 // Get the MFRC522 software version

 byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);

 Serial.print(F("MFRC522 Software Version: 0x"));

 Serial.print(v, HEX);

 if (v == 0x91)

  Serial.print(F(" = v1.0"));

 else if (v == 0x92)

  Serial.print(F(" = v2.0"));

 else

  Serial.print(F(" (unknown)"));

 Serial.println("");

 // When 0x00 or 0xFF is returned, communication probably failed

 if ((v == 0x00) || (v == 0xFF)) {

  Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));

 }

}


void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("MFRC522");


  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,40);


  u8g.print("UID="+rfidUid);


  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,60);


  if(rfidUid == "3f0f3e5f")

  u8g.print("OPEN=YES");

  else if(rfidUid == "")

  u8g.print("NONE");

  else

  u8g.print("OPEN=NO");

  

}


- Result

ector Block   0  1  2  3   4  5  6  7   8  9 10 11  12 13 14 15  AccessBits

  15     63   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         62   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         61   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         60   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

  14     59   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         58   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         57   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         56   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

  13     55   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         54   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         53   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         52   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

  12     51   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         50   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         49   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         48   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

  10     43   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         42   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         41   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         40   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   9     39   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         38   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         37   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         36   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   8     35   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         34   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         33   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         32   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   7     31   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         30   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         29   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         28   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   6     27   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         26   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         25   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         24   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   5     23   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         22   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         21   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         20   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   4     19   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         18   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         17   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         16   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   3     15   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         14   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         13   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

         12   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   2     11   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

         10   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

          9   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

          8   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

   1      7   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

          6   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

          5   20 20 20 20  20 20 20 20  20 20 20 20  20 20 45 01  [ 0 0 0 ] 

          4   67 65 75 6E  79 6F 6E 67  20 20 20 20  20 20 20 20  [ 0 0 0 ] 

   0      3   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 

          2   20 20 20 20  20 20 20 20  20 20 20 20  20 20 45 01  [ 0 0 0 ] 

          1   6B 69 6D 20  20 20 20 20  20 20 20 20  20 20 20 20  [ 0 0 0 ] 

          0   83 A2 5C 02  7F 88 04 00  85 00 B4 2E  F0 BB 6A A8  [ 0 0 0 ] 


'2) Sensor > RFID_NFC' 카테고리의 다른 글

NFC TAG Sticker ISO14443A (Ntag213) [S208]  (0) 2016.09.17
PN532 NFC RFID module V3 (PN532) [S192]  (0) 2016.09.17
RFID-RC522 (MFRC-522) [S012]  (0) 2016.09.17
Posted by RD IoT RDIoT

댓글을 달아 주세요

Keyes Infrared Receiver Module (KY-022) [S014]


https://www.youtube.com/watch?v=2tx-SmOXR9Q


*GitHubhttps://github.com/rdiot/rdiot-s014.git


* Specs

Infrared remote control distance: more than 8 meters

Launch tube infrared wavelength: 940Nm

Crystal frequency: 455KHZ crystal

Carrier frequency: 38KHZ

Encoding: encoding format for the NEC

Size: 86 * 40 * 6mm

Power: CR2025/1600mAH


* Contents

- Connect

pin- ----- GND

middle pin ----- 5V

S ----- D11


- Key Code

#include "U8glib.h"

#include "IRremote.h"

 

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

int receiver = 11; // pin 1 of IR receiver to Arduino digital pin 11

 

IRrecv irrecv(receiver);           // create instance of 'irrecv'

decode_results results;            // create instance of 'decode_results'

String str_hex = "";

String str_value = "";

 

void setup() {

  Serial.begin(9600);

  Serial.println("IR Receiver Raw Data + Button Decode Test");

  irrecv.enableIRIn(); // Start the receiver

}

 

void loop(void) {

 

  if (irrecv.decode(&results)) // have we received an IR signal?

  {

//    Serial.println(results.value, HEX);  UN Comment to see raw values

    translateIR(); 

    irrecv.resume(); // receive the next value

  }  

 

  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );

  

  // rebuild the picture after some delay

  //delay(500);

}

 

void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("IR-VS1838B");

 

  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,40);

  u8g.print("hex="+str_hex);

 

  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,60);

  u8g.print("str="+str_value);

 

}

 

/*-----( Declare User-written Functions )-----*/

void translateIR() // takes action based on IR code received

 

// describing Car MP3 IR codes 

 

{

 

  switch(results.value)

  {

 

  case 0xFFA25D:  

    Serial.println(" CH-            "); 

    str_hex = "0xFFA25D";

    str_value = "CH-";

    break;

 

  case 0xFF629D:  

    Serial.println(" CH             "); 

    str_hex = "0xFFA25D";

    str_value = "CH-";

    break;

 

  case 0xFFE21D:  

    Serial.println(" CH+            "); 

    str_hex = "0xFFE21D";

    str_value = "CH+";

    break;

 

  case 0xFF22DD:  

    Serial.println(" PREV           "); 

    str_hex = "0xFF22DD";

    str_value = "PREV";

    break;

 

  case 0xFF02FD:  

    Serial.println(" NEXT           "); 

    str_hex = "0xFF02FD";

    str_value = "NEXT";

    break;

 

  case 0xFFC23D:  

    Serial.println(" PLAY/PAUSE     "); 

    str_hex = "0xFFC23D";

    str_value = "PLAY/PAUSE";

    break;

 

  case 0xFFE01F:  

    Serial.println(" VOL-           "); 

    str_hex = "0xFFE01F";

    str_value = "VOL-";

    break;

 

  case 0xFFA857:  

    Serial.println(" VOL+           "); 

    str_hex = "0xFFA857";

    str_value = "VOL+";

    break;

 

  case 0xFF906F:  

    Serial.println(" EQ             "); 

    str_hex = "0xFF906F";

    str_value = "EQ";

    break;

 

  case 0xFF6897:  

    Serial.println(" 0              "); 

    str_hex = "0xFF6897";

    str_value = "0";

    break;

 

  case 0xFF9867:  

    Serial.println(" 100+           "); 

    str_hex = "0xFF9867";

    str_value = "100+";

    break;

 

  case 0xFFB04F:  

    Serial.println(" 200+           "); 

    str_hex = "0xFFB04F";

    str_value = "200+";

    break;

 

  case 0xFF30CF:  

    Serial.println(" 1              "); 

    str_hex = "0xFF30CF";

    str_value = "1";

    break;

 

  case 0xFF18E7:  

    Serial.println(" 2              "); 

    str_hex = "0xFF18E7";

    str_value = "2";

    break;

 

  case 0xFF7A85:  

    Serial.println(" 3              "); 

    str_hex = "0xFF7A85";

    str_value = "3";

    break;

 

  case 0xFF10EF:  

    Serial.println(" 4              "); 

    str_hex = "0xFF10EF";

    str_value = "4";

    break;

 

  case 0xFF38C7:  

    Serial.println(" 5              "); 

    str_hex = "0xFF38C7";

    str_value = "5";

    break;

 

  case 0xFF5AA5:  

    Serial.println(" 6              "); 

    str_hex = "0xFF5AA5";

    str_value = "6";

    break;

 

  case 0xFF42BD:  

    Serial.println(" 7              "); 

    str_hex = "0xFF42BD";

    str_value = "7";

    break;

 

  case 0xFF4AB5:  

    Serial.println(" 8              "); 

    str_hex = "0xFF4AB5";

    str_value = "8";

    break;

 

  case 0xFF52AD:  

    Serial.println(" 9              "); 

    str_hex = "0xFF52AD";

    str_value = "9";

    break;

 

  default: 

    Serial.println(" other button   ");

    str_hex = "NONE";

    str_value = "NONE";

 

  }

 

  delay(500);

 

 

} //END translateIR

Posted by RD IoT RDIoT

댓글을 달아 주세요

Infrared Receiver VS1838 (VS1838B)




Infrared Receiver VS1838 (VS1838B) Dump Value

https://www.youtube.com/watch?v=esL8Hr-H_mc


Infrared Receiver VS1838 (VS1838B) Print Value

https://www.youtube.com/watch?v=wLmI6IGGVtw


*GitHub https://github.com/rdiot/rdiot-s013.git


* Specs

Typical distance 20m @ 45 degree angle, power 2.7-5.5V, typical current 0.4mA, -3db bandwidth 3.3kHz, output CMOS/TTL, response 600us.


* Contents

- Library : https://github.com/z3t0/Arduino-IRremote

- Library Test : IRrecvDumpV2


- Connect

OUT ----- D11

GND ----- GND

VCC ----- 5V


- Key Code

#include "U8glib.h"

#include "IRremote.h"


U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

int receiver = 11; // pin 1 of IR receiver to Arduino digital pin 11


IRrecv irrecv(receiver);           // create instance of 'irrecv'

decode_results results;            // create instance of 'decode_results'

String str_hex = "";

String str_value = "";


void setup() {

  Serial.begin(9600);

  Serial.println("IR Receiver Raw Data + Button Decode Test");

  irrecv.enableIRIn(); // Start the receiver

}


void loop(void) {


  if (irrecv.decode(&results)) // have we received an IR signal?

  {

//    Serial.println(results.value, HEX);  UN Comment to see raw values

    translateIR(); 

    irrecv.resume(); // receive the next value

  }  


  // picture loop

  u8g.firstPage();  

  do {

    draw();

  } while( u8g.nextPage() );

  

  // rebuild the picture after some delay

  //delay(500);

}


void draw(void) {

  u8g.setFont(u8g_font_9x15B);

  u8g.setPrintPos(0, 12); 

  u8g.println("IR-VS1838B");


  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,40);

  u8g.print("hex="+str_hex);


  u8g.setFont(u8g_font_helvB14);

  u8g.setPrintPos(0,60);

  u8g.print("str="+str_value);


}


/*-----( Declare User-written Functions )-----*/

void translateIR() // takes action based on IR code received


// describing Car MP3 IR codes 


{


  switch(results.value)

  {


  case 0xFFA25D:  

    Serial.println(" CH-            "); 

    str_hex = "0xFFA25D";

    str_value = "CH-";

    break;


  case 0xFF629D:  

    Serial.println(" CH             "); 

    str_hex = "0xFFA25D";

    str_value = "CH-";

    break;


  case 0xFFE21D:  

    Serial.println(" CH+            "); 

    str_hex = "0xFFE21D";

    str_value = "CH+";

    break;


  case 0xFF22DD:  

    Serial.println(" PREV           "); 

    str_hex = "0xFF22DD";

    str_value = "PREV";

    break;


  case 0xFF02FD:  

    Serial.println(" NEXT           "); 

    str_hex = "0xFF02FD";

    str_value = "NEXT";

    break;


  case 0xFFC23D:  

    Serial.println(" PLAY/PAUSE     "); 

    str_hex = "0xFFC23D";

    str_value = "PLAY/PAUSE";

    break;


  case 0xFFE01F:  

    Serial.println(" VOL-           "); 

    str_hex = "0xFFE01F";

    str_value = "VOL-";

    break;


  case 0xFFA857:  

    Serial.println(" VOL+           "); 

    str_hex = "0xFFA857";

    str_value = "VOL+";

    break;


  case 0xFF906F:  

    Serial.println(" EQ             "); 

    str_hex = "0xFF906F";

    str_value = "EQ";

    break;


  case 0xFF6897:  

    Serial.println(" 0              "); 

    str_hex = "0xFF6897";

    str_value = "0";

    break;


  case 0xFF9867:  

    Serial.println(" 100+           "); 

    str_hex = "0xFF9867";

    str_value = "100+";

    break;


  case 0xFFB04F:  

    Serial.println(" 200+           "); 

    str_hex = "0xFFB04F";

    str_value = "200+";

    break;


  case 0xFF30CF:  

    Serial.println(" 1              "); 

    str_hex = "0xFF30CF";

    str_value = "1";

    break;


  case 0xFF18E7:  

    Serial.println(" 2              "); 

    str_hex = "0xFF18E7";

    str_value = "2";

    break;


  case 0xFF7A85:  

    Serial.println(" 3              "); 

    str_hex = "0xFF7A85";

    str_value = "3";

    break;


  case 0xFF10EF:  

    Serial.println(" 4              "); 

    str_hex = "0xFF10EF";

    str_value = "4";

    break;


  case 0xFF38C7:  

    Serial.println(" 5              "); 

    str_hex = "0xFF38C7";

    str_value = "5";

    break;


  case 0xFF5AA5:  

    Serial.println(" 6              "); 

    str_hex = "0xFF5AA5";

    str_value = "6";

    break;


  case 0xFF42BD:  

    Serial.println(" 7              "); 

    str_hex = "0xFF42BD";

    str_value = "7";

    break;


  case 0xFF4AB5:  

    Serial.println(" 8              "); 

    str_hex = "0xFF4AB5";

    str_value = "8";

    break;


  case 0xFF52AD:  

    Serial.println(" 9              "); 

    str_hex = "0xFF52AD";

    str_value = "9";

    break;


  default: 

    Serial.println(" other button   ");

    str_hex = "NONE";

    str_value = "NONE";


  }


  delay(500);



} //END translateIR

Posted by RD IoT RDIoT

댓글을 달아 주세요

4 Head Infrared Transmitter Module [S180]




https://www.youtube.com/watch?v=ZpDeUjWLtsM


*GitHubhttps://github.com/rdiot/rdiot-s180.git


* Specs

Dimensions : 35 * 35mm

Weight : 4g

Voltage : 5V

Ports : Digital Level

Modulation : Direct emission unmodulated

Emission head : 4

Transmitting distance : 1-3m

Wavelength : 940nm


Four launch, multi-directional signal synchronization

A wide range of signal radiation 

With the transmitted signal indicating LED, easy to observe debugging 

Small infrared signal transmitter can be used as the source


* Contents

- Connect

GND ----- GND

VCC ----- 5V

DAT ----- D3


- Key Code

#include <IRremote.h>

#include <Wire.h> 

#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x20 for a 16 chars and 2 line display


//* An IR LED must be connected to Arduino PWM pin 3.

IRsend irsend;

 

void setup()

{

  lcd.init();    // initialize the lcd 

  // Print a message to the LCD.

  lcd.backlight();

}


int count = 0;

void loop() {

 

  int khz = 38; // 38kHz carrier frequency for the NEC protocol

  unsigned int  rawData[67] = {4500,4400, 600,1650, 550,1650, 650,1600, 600,550, 550,550, 550,550, 550,550, 550,550, 550,1650, 600,1650, 550,1650, 600,550, 550,550, 550,550, 550,550, 550,550, 600,500, 600,1600, 600,550, 550,550, 550,550, 550,550, 550,550, 550,550, 600,1600, 600,550, 550,1650, 600,1650, 550,1650, 600,1650, 600,1650, 550,1650, 600};  // SAMSUNG E0E040BF

unsigned int  data = 0xE0E040BF;

 

  irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), khz); //Note the approach used to 


automatically calculate the size of the array.

  

  lcd.setCursor(0,0);

  lcd.print("S180:4 Head IR Trans.");

  lcd.setCursor(0,1);

  count++;

  lcd.print("every 5sec count: "+(String)count+" ");

  lcd.setCursor(0,2);

  lcd.print("data=0xE0E040BF");

 

  delay(5000); //In this example, the signal will be repeated every 5 seconds, approximately.

}

Posted by RD IoT RDIoT

댓글을 달아 주세요

Two-way infrared transmitter module [S095]




https://www.youtube.com/watch?v=PGZuG8FwpmE


*GitHub : https://github.com/rdiot/rdiot-s095.git


* Specs

This is an infrared transmitter very useful for any IR communication for your project. Infrared is a common, inexpensive, and easy to use wireless communication technology.

the module is ready to be connected to an MCU such as an Arduino.

It has two led transmitter to add visibility and an indicator led that shows when the module is transmitting.

Item Weight: 5 g

Boxed-product Weight: 5 g


* Contents

- Library : https://github.com/shirriff/Arduino-IRremote/

- Use : IRsendDemo


- Connect

DAT ----- D3

VCC ----- 5V

GND ----- GND


- Power Off Dump Code

Encoding  : SAMSUNG

Code      : E0E040BF (32 bits)

Timing[67]: 

     +4400, -4400     + 600, -1650     + 550, -1650     + 600, -1600

     + 600, - 500     + 550, - 550     + 550, - 550     + 550, - 550

     + 550, - 550     + 550, -1650     + 550, -1650     + 600, -1650

     + 600, - 500     + 600, - 500     + 600, - 450     + 600, - 500

     + 600, - 500     + 600, - 550     + 550, -1600     + 650, - 500

     + 550, - 550     + 550, - 550     + 550, - 550     + 550, - 500

     + 600, - 500     + 600, -1600     + 600, - 500     + 600, -1650

     + 600, -1600     + 600, -1600     + 600, -1650     + 600, -1600

     + 600, -1600     + 600


- Key Code

#include <IRremote.h>

//* An IR LED must be connected to Arduino PWM pin 3.

IRsend irsend;

  

void loop() {

 

  int khz = 38; // 38kHz carrier frequency for the NEC protocol

 

  unsigned int  rawData[67] = {4500,4400, 600,1650, 550,1650, 650,1600, 600,550, 550,550, 550,550, 550,550, 550,550, 550,1650, 600,1650, 550,1650, 600,550, 550,550, 550,550, 550,550, 550,550, 600,500, 600,1600, 600,550, 550,550, 550,550, 550,550, 550,550, 550,550, 600,1600, 600,550, 550,1650, 600,1650, 550,1650, 600,1650, 600,1650, 550,1650, 600};  // SAMSUNG E0E040BF

unsigned int  data = 0xE0E040BF;

 

  irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), khz); //Note the approach used to automatically calculate the size of the array.

 

  delay(5000); //In this example, the signal will be repeated every 5 seconds, approximately.

}

Posted by RD IoT RDIoT

댓글을 달아 주세요

Keyes Infrared Transmitter Module (KY-005) [S015]




https://www.youtube.com/watch?v=vZQNxaUkKw0


*GitHubhttps://github.com/rdiot/rdiot-s015.git


* Specs

Transmit 38KHz modulating signal

MATERIAL PCB

ARCHITECTURE Arduino

BRAND KEYES

DEPTH 7 mm

HEIGHT 35 mm

WIDTH 15 mm

PRODUCT WEIGHT 1.3 g


* Contents

- Library : https://github.com/shirriff/Arduino-IRremote/

- Use : IRsendDemo


- Connect

S ----- D3

middle ----- 5V

- ----- GND


- Power Off Dump Code

Encoding  : SAMSUNG

Code      : E0E040BF (32 bits)

Timing[67]: 

     +4400, -4400     + 600, -1650     + 550, -1650     + 600, -1600

     + 600, - 500     + 550, - 550     + 550, - 550     + 550, - 550

     + 550, - 550     + 550, -1650     + 550, -1650     + 600, -1650

     + 600, - 500     + 600, - 500     + 600, - 450     + 600, - 500

     + 600, - 500     + 600, - 550     + 550, -1600     + 650, - 500

     + 550, - 550     + 550, - 550     + 550, - 550     + 550, - 500

     + 600, - 500     + 600, -1600     + 600, - 500     + 600, -1650

     + 600, -1600     + 600, -1600     + 600, -1650     + 600, -1600

     + 600, -1600     + 600


- Key Code

#include <IRremote.h>

//* An IR LED must be connected to Arduino PWM pin 3.

IRsend irsend;

  

void loop() {

 

  int khz = 38; // 38kHz carrier frequency for the NEC protocol

 

  unsigned int  rawData[67] = {4500,4400, 600,1650, 550,1650, 650,1600, 600,550, 550,550, 550,550, 550,550, 550,550, 550,1650, 600,1650, 550,1650, 600,550, 550,550, 550,550, 550,550, 550,550, 600,500, 600,1600, 600,550, 550,550, 550,550, 550,550, 550,550, 550,550, 600,1600, 600,550, 550,1650, 600,1650, 550,1650, 600,1650, 600,1650, 550,1650, 600};  // SAMSUNG E0E040BF

unsigned int  data = 0xE0E040BF;

 

  irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), khz); //Note the approach used to automatically calculate the size of the array.

 

  delay(5000); //In this example, the signal will be repeated every 5 seconds, approximately.

}

Posted by RD IoT RDIoT

댓글을 달아 주세요