diff --git a/docs/en/base/base15.md b/docs/en/base/base15.md index 681bd529..df349ea1 100644 --- a/docs/en/base/base15.md +++ b/docs/en/base/base15.md @@ -35,7 +35,7 @@ This base gives you an unlimited of combinations, it is powerful, flexible, and - 2x Grove Port - 1x M12*1.5 - 2x hexagonal wrench -- 10x Screw (3 types: M3*22, M3*12, M2*5) +- 10x Screw (3 types: M3x22, M3x12, M3x8,M2x5) - 2x M3 Nut - 1x 2.45mm pin set - 1x Sticker diff --git a/docs/en/module/faces_finger.md b/docs/en/module/faces_finger.md index ca9d5ba7..668ac74c 100644 --- a/docs/en/module/faces_finger.md +++ b/docs/en/module/faces_finger.md @@ -4,7 +4,7 @@ *** -:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      πŸ›’**[Purchase](https://www.aliexpress.com/store/product/M5Stack-New-Arrival-GOPLUS-Module-with-MEGA328P-IR-Transmitter-and-Receiver-suit-for-ESP32-Kit/3226069_33010785963.html?spm=2114.12010615.8148356.1.a8747842Ll7Apb)**      :octocat:**[Code](#Code)** +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      πŸ›’**[Purchase](https://m5stack.com/collections/m5-module/products/finger-print-fpc-1020a-panel-for-m5-faces)**      :octocat:**[Code](#Code)** ## Description @@ -13,10 +13,10 @@
It can identify fingerprint information entrance, fingerprint deletion, fingerprint search, feature extraction for multiple people and so on. The unit also can be set fingerprint recognition comparison level and different security level. With FACES panel, you can have an upgrade level of Fingerprint management machine with a more complete and enclosed pattern. - - - Communication Protocol: UART. +


+ + ## Product Features @@ -37,7 +37,7 @@ Communication Protocol: UART. ## Include -- 1x M5Stack GoPlus Module +- 1x FACES-FINGER Panel ## Schematic @@ -61,9 +61,7 @@ Communication Protocol: UART. ## Code -- Driver firmware - **[GoPlus](https://github.com/m5stack/GoPlus/tree/master/src)** - -- Test Code - **[GoPlus](https://github.com/m5stack/GoPlus/tree/master/test)** +
## Application - Time card punching machine @@ -71,4 +69,4 @@ Communication Protocol: UART. ## Video -- **[Demo Video](https://www.youtube.com/channel/UCozgFVglWYQXbvTmGyS739w)** +- **[Demo Video](https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/FACES-Finger.mp4)** diff --git a/docs/en/module/faces_rfid.md b/docs/en/module/faces_rfid.md index 90db31a4..c25c35f3 100644 --- a/docs/en/module/faces_rfid.md +++ b/docs/en/module/faces_rfid.md @@ -4,7 +4,7 @@ *** -:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      πŸ›’**[Purchase](https://www.aliexpress.com/store/product/M5Stack-New-Arrival-GOPLUS-Module-with-MEGA328P-IR-Transmitter-and-Receiver-suit-for-ESP32-Kit/3226069_33010785963.html?spm=2114.12010615.8148356.1.a8747842Ll7Apb)**      :octocat:**[Code](#Code)** +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**      πŸ›’**[Purchase](https://m5stack.com/collections/m5-module/products/rfid-rc522-panel-for-m5-faces)**      :octocat:**[Code](#Code)** ## Description @@ -14,8 +14,7 @@ This unit can realize the function of the card reading and writing device, to identify and record multiple card information, to encode and authority an RF card. With FACES panel, you can have an upgrade level of RFID device with a more complete and enclosed pattern. - - + Communication Protocol: I2C. @@ -35,7 +34,9 @@ Communication Protocol: I2C. ## Include -- 1x M5Stack GoPlus Module +- 1x FACES-RFID panel +- 1x RFID card +- 1x Fudan S50 card ## Schematic @@ -51,14 +52,11 @@ Communication Protocol: I2C. ## Document -- Datasheet **[MFRC522](**http://www.shenzhen2u.com/doc/Module/Fingerprint/710-FPC1020_PB3_Product-Specification.pdf**)** +- Datasheet **[MFRC522](http://www.shenzhen2u.com/doc/Module/Fingerprint/710-FPC1020_PB3_Product-Specification.pdf)** ## Code - -- Driver firmware - **[GoPlus](https://github.com/m5stack/GoPlus/tree/master/src)** - -- Test Code - **[GoPlus](https://github.com/m5stack/GoPlus/tree/master/test)** +
## Application - ReaderΒ­-Tag @@ -66,4 +64,4 @@ Communication Protocol: I2C. ## Video -- **[Demo Video](https://www.youtube.com/channel/UCozgFVglWYQXbvTmGyS739w)** +- **[Demo Video](https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/FACES-RFID.mp4)** diff --git a/docs/en/unit/acc.md b/docs/en/unit/acc.md deleted file mode 100644 index 82c17e0a..00000000 --- a/docs/en/unit/acc.md +++ /dev/null @@ -1,113 +0,0 @@ -# Unit ACC {docsify-ignore-all} - - - -*** - -:memo:**[Description](#Description)**      :octocat:**[Example](#Example)**       :electric_plug:**[Schematic](#Schematic)**       πŸ›’**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-ADC-Unit-16-Bit-I2C-GROVE-ADS1100-Module-0V-to-12V-analog-to-digital/3226069_32946953374.html?spm=a2g1x.12024536.productList_5885013.pic_7)** - -## Description - -**ACC** is a motion sensor Unit. Integrated with ADXL 345, ACC is able to obtain 3- axis of Acceleration. ADXL 345 is a small, thin, ultralow power, 3-axis accelerometer with high resolution (13-bit) measurement at up to Β±16 g. Digital output data is formatted as 16-bit twos complement and is accessible through either an SPI (3- or 4-wire) or I2C digital interface. In this Unit, we used I2C series interface. -
- -*What is an accelerometer?*
-An accelerometer is an electromechanical device that will measure acceleration forces. These forces may be static, like the constant force of gravity pulling at your feet, or they could be dynamic - caused by moving or vibrating the accelerometer. -
-*What are accelerometers useful for?*
-By measuring the amount of static acceleration due to gravity, you can find out the angle the device is tilted at with respect to the earth. By sensing the amount of dynamic acceleration, you can analyze the way the device is moving. At first, measuring tilt and acceleration doesn't seem all that exciting. However, engineers have come up with many ways to make really useful products with them. - - - -### Product Features - -- feature: -- Tiny -- ultralow power -- 3-axis accelerometer - -## Include - -- 1x ADC unit -- 1x GROVE Cable -- 1x HT3.96 Male Socket(2 pins) - -## Application - -- Building and structural monitoring -- Navigation -- Orientation sensing - - - -## Dcumentation - -- Datasheet - **[ADS1100](http://pdf1.alldatasheet.com/datasheet-pdf/view/619024/TI1/ADS1100.html)** -- M5Stack Community - **[Forum](http://forum.m5stack.com/)** - -## Schematic - - -### PinMap - - - - -
M5Core ( GROVE A )GPIO22GPIO215VGND
ACC UnitSCLSDA5VGND
- -## EasyLoader - - - - - ->1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. - ->2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. - -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) - -## Example - -### 1. Arduino IDE - -*The below code is incomplete(just for usage). If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ADC/Arduino/ADC_ADS1100).* - -```arduino -#include -#include -#include "ADS1100.h" - -#define ADS1100_DEFAULT_ADDRESS 0x48 - -// declaration -byte error; -int8_t address; - -//new a object -ADS1100 ads; - -// initialization -M5.begin(true, false, false); -ads.getAddr_ADS1100(ADS1100_DEFAULT_ADDRESS);// 0x48, 1001 000 (ADDR = GND) -ads.setGain(GAIN_ONE); // 1x gain(default) -ads.setMode(MODE_CONTIN); // Continuous conversion mode (default) -ads.setRate(RATE_8); // 8SPS (default) -ads.setOSMode(OSMODE_SINGLE); // Set to start a single-conversion -ads.begin(); - -// read data -address = ads.ads_i2cAddress; -Wire.beginTransmission(address); -Wire.endTransmission(); -ads.Measure_Differential(); -``` - -### 2. UIFlow - -*If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ADC/UIFlow).* - - - - - diff --git a/docs/en/unit/accel.md b/docs/en/unit/accel.md new file mode 100644 index 00000000..b946733d --- /dev/null +++ b/docs/en/unit/accel.md @@ -0,0 +1,102 @@ +# Unit ACCEL {docsify-ignore-all} + + + +*** + +:memo:**[Description](#Description)**      :electric_plug:**[Schematic](#Schematic)**       :octocat:**[Code](#Code)**       πŸ›’**[Purchase](https://m5stack.com/collections/m5-unit/products/3-axis-analog-accelerometer-unitadx345)**      **[EasyLoader](#EasyLoader)** + +## Description + +**ACCEL** is a motion sensor Unit. Integrated with ADXL 345, ACC is able to obtain 3- axis of Acceleration. ADXL 345 is a small, thin, ultralow power, 3-axis accelerometer with high resolution (13-bit) measurement at up to Β±16 g. Digital output data is formatted as 16-bit twos complement and is accessible through either an SPI (3- or 4-wire) or I2C digital interface. In this Unit, we used I2C series interface. +
+ +*What is an accelerometer?*
+An accelerometer is an electromechanical device that will measure acceleration forces. These forces may be static, like the constant force of gravity pulling at your feet, or they could be dynamic - caused by moving or vibrating the accelerometer. +
+*What are accelerometers useful for?*
+By measuring the amount of static acceleration due to gravity, you can find out the angle the device is tilted at with respect to the earth. By sensing the amount of dynamic acceleration, you can analyze the way the device is moving. At first, measuring tilt and acceleration doesn't seem all that exciting. However, engineers have come up with many ways to make really useful products with them. +


+ + +### Product Features +- Tiny +- ultralow power +- 3-axis accelerometer + +## Include + +- 1x ACC unit +- 1x GROVE Cable + +## Application + +- Building and structural monitoring +- Navigation +- Orientation sensing + + +## Dcumentation +- Datasheet - **[ADXL345](https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf)** + +## Schematic + + +### PinMap + + + + +
M5Core ( GROVE A )GPIO22GPIO215VGND
ACC UnitSCLSDA5VGND
+ +## EasyLoader + + + + + +>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. + +>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. + +!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) + +## Code + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ACCEL).
+Download library ADXL345 before compile.* + +```arduino +#include +#include + +ADXL345 accel(ADXL345_ALT); // download this library before compile. +//https://github.com/jakalada/Arduino-ADXL345 + +// initialization +void setup() { + + M5.Lcd.setCursor(20, 100); M5.Lcd.print(" x "); + M5.Lcd.setCursor(120, 100); M5.Lcd.print(" y "); + M5.Lcd.setCursor(220, 100); M5.Lcd.print(" z "); + ... + byte deviceID = accel.readDeviceID(); +} + +void loop() { + if (accel.update()) { + M5.Lcd.fillRect(0, 130, 360, 30, BLACK); + M5.Lcd.setCursor(15, 130); M5.Lcd.print((int)(1000*accel.getX())); + M5.Lcd.setCursor(115, 130); M5.Lcd.print((int)(1000*accel.getY())); + M5.Lcd.setCursor(215, 130); M5.Lcd.print((int)(1000*accel.getZ())); + ... +} +``` + +## Video + +- **[Demo Video](https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/ACCEL.mp4)** + + diff --git a/docs/en/unit/dc_motor.md b/docs/en/unit/dc_motor.md deleted file mode 100644 index 4f9c0f00..00000000 --- a/docs/en/unit/dc_motor.md +++ /dev/null @@ -1,93 +0,0 @@ -# Unit DC MOTOR {docsify-ignore-all} - - - -*** - -:memo:**[Description](#Description)**      :octocat:**[Example](#Example)**       :electric_plug:**[Schematic](#Schematic)**       πŸ›’**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-ADC-Unit-16-Bit-I2C-GROVE-ADS1100-Module-0V-to-12V-analog-to-digital/3226069_32946953374.html?spm=a2g1x.12024536.productList_5885013.pic_7)** - -## Description - -This N20 motor is has a 5V supply voltage and comes complete with a built-in metal gearbox. The output shaft has a rotational speed of 60 RPM (no load), and a load RPM of 48. These are also the same motors we use in our BALA robot car and have a nice high build quality feel to them. Specifications can be seen below. - - - -### Product Features - -- single-direction rotation - -## Include - -- 1x ADC unit -- 1x GROVE Cable -- 1x HT3.96 Male Socket(2 pins) - -## Application - -- Automation -- Vibration motor - - - -## Dcumentation - - -## Schematic - - - -## EasyLoader - - - - - ->1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. - ->2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. - -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) - -## Example - -### 1. Arduino IDE - -*The below code is incomplete(just for usage). If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ADC/Arduino/ADC_ADS1100).* - -```arduino -#include -#include -#include "ADS1100.h" - -#define ADS1100_DEFAULT_ADDRESS 0x48 - -// declaration -byte error; -int8_t address; - -//new a object -ADS1100 ads; - -// initialization -M5.begin(true, false, false); -ads.getAddr_ADS1100(ADS1100_DEFAULT_ADDRESS);// 0x48, 1001 000 (ADDR = GND) -ads.setGain(GAIN_ONE); // 1x gain(default) -ads.setMode(MODE_CONTIN); // Continuous conversion mode (default) -ads.setRate(RATE_8); // 8SPS (default) -ads.setOSMode(OSMODE_SINGLE); // Set to start a single-conversion -ads.begin(); - -// read data -address = ads.ads_i2cAddress; -Wire.beginTransmission(address); -Wire.endTransmission(); -ads.Measure_Differential(); -``` - -### 2. UIFlow - -*If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ADC/UIFlow).* - - - - diff --git a/docs/en/unit/op.md b/docs/en/unit/op.md deleted file mode 100644 index 8efc4caa..00000000 --- a/docs/en/unit/op.md +++ /dev/null @@ -1,95 +0,0 @@ -# Unit OP 90 {docsify-ignore-all} - - - -*** - -:memo:**[Description](#Description)**      :octocat:**[Example](#Example)**       :electric_plug:**[Schematic](#Schematic)**       πŸ›’**[Purchase](https://www.aliexpress.com/store/product/M5Stack-Official-ADC-Unit-16-Bit-I2C-GROVE-ADS1100-Module-0V-to-12V-analog-to-digital/3226069_32946953374.html?spm=a2g1x.12024536.productList_5885013.pic_7)** - -## Description - -OP.90 and OP.180 are two limit switches with different orientation placement. -
-They are used for controlling machinery as part of a control system, as a safety interlock, or to count objects passing a point.A limit switch is an electromechanical device that consists of an actuator mechanically linked to a set of contacts. When an object comes into contact with the actuator, the device operates the contacts to make or break an electrical connection -
-The actuator of this Unit is consist of a pair of IR part, emitter side and receiver side. The IR emitter will keep sending IR wave while the receiver will keep detecting the IR wave. The IR is directly emitted from one side to another side, so if there's no object in between, the receiver side would get the IR signal. This is how it detecting a break an electrical connection. - - - -### Product Features - -- Horizontal/vertical -- IR limit switch - -## Include - -- 1x ADC unit -- 1x GROVE Cable -- 1x HT3.96 Male Socket(2 pins) - -## Application - -- Door switch -- machinery control - - -## Dcumentation - - -## Schematic - - - -## EasyLoader - - - - - ->1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. - ->2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. - -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) - -## Example - -### 1. Arduino IDE - -*The below code is incomplete(just for usage). If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ADC/Arduino/ADC_ADS1100).* - -```arduino -#include -#include -#include "ADS1100.h" - -#define ADS1100_DEFAULT_ADDRESS 0x48 - -// declaration -byte error; -int8_t address; - -//new a object -ADS1100 ads; - -// initialization -M5.begin(true, false, false); -ads.getAddr_ADS1100(ADS1100_DEFAULT_ADDRESS);// 0x48, 1001 000 (ADDR = GND) -ads.setGain(GAIN_ONE); // 1x gain(default) -ads.setMode(MODE_CONTIN); // Continuous conversion mode (default) -ads.setRate(RATE_8); // 8SPS (default) -ads.setOSMode(OSMODE_SINGLE); // Set to start a single-conversion -ads.begin(); - -// read data -address = ads.ads_i2cAddress; -Wire.beginTransmission(address); -Wire.endTransmission(); -ads.Measure_Differential(); -``` - -### 2. UIFlow - -*If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ADC/UIFlow).* - - \ No newline at end of file diff --git a/docs/en/unit/op180.md b/docs/en/unit/op180.md new file mode 100644 index 00000000..8eb980cc --- /dev/null +++ b/docs/en/unit/op180.md @@ -0,0 +1,91 @@ +# Unit OP180 {docsify-ignore-all} + + + +*** + +:memo:**[Description](#Description)**      :octocat:**[Code](#Code)**       :electric_plug:**[Schematic](#Schematic)**       πŸ›’**[Purchase](https://m5stack.com/collections/m5-unit/products/180-infrared-refletive-unit-itr9606)**      **[EasyLoader](#EasyLoader)** + + +## Description + +OP.90 and OP.180 are two limit switches with different orientation placement. Build with a ITR9606, which is consist of an infrared emitting diode and a silicon phototransistor. +
+They are used for controlling machinery as part of a control system, as a safety interlock, or to count objects passing a point.A limit switch is an electromechanical device that consists of an actuator mechanically linked to a set of contacts. When an object comes into contact with the actuator, the device operates the contacts to make or break an electrical connection +
+The actuator of this Unit is consist of a pair of IR part, emitter side and receiver side(silicon phototransistor). The IR emitter will keep sending IR wave while the receiver will keep detecting the IR wave. The IR is directly emitted from one side to another side, so if there's no object in between, the receiver side would get the IR signal. This is how it detecting a break an electrical connection. +


+ + + +### Product Features + +- Vertical Layout +- IR limit switch +- Fast response time +- High sensitivity + +## Include + +- 1x OP.180 unit +- 1x GROVE Cable + +## Application + +- Door Switch +- Machinery Control +- Mouse Copier +- Switch Scanner +- Non-contact Switching + + +## Documentation + + + + +## Schematic + + + +## EasyLoader + + + + + +>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. + +>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. + +!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) + +## Code + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/OP90.180).* + +```arduino +#include + +void setup() { + // put your setup code here, to run once: + M5.begin(); + //Wire.begin(); + M5.Lcd.setCursor(120, 10, 4); + M5.Lcd.println("90/180 OPTICAL"); + + pinMode(36,INPUT_PULLUP); +} + +void loop() { + // put your main code here, to run repeatedly: + M5.Lcd.setCursor(80, 120, 4); + M5.Lcd.printf("ir receive: %d",digitalRead(36)); +} +``` + +## Video + +- **[Demo Video](https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/OP-90.180.mp4)** \ No newline at end of file diff --git a/docs/en/unit/op90.md b/docs/en/unit/op90.md new file mode 100644 index 00000000..b20ab658 --- /dev/null +++ b/docs/en/unit/op90.md @@ -0,0 +1,88 @@ +# Unit OP90 {docsify-ignore-all} + + +*** + +:memo:**[Description](#Description)**      :octocat:**[Example](#Example)**       :electric_plug:**[Schematic](#Schematic)**       πŸ›’**[Purchase](https://m5stack.com/collections/m5-unit/products/90-infrared-refletive-unit-itr9606)**      **[EasyLoader](#EasyLoader)** + + +## Description + +OP.90 and OP.180 are two limit switches with different orientation placement. Build with a ITR9606, which is consist of an infrared emitting diode and a silicon phototransistor. +
+They are used for controlling machinery as part of a control system, as a safety interlock, or to count objects passing a point.A limit switch is an electromechanical device that consists of an actuator mechanically linked to a set of contacts. When an object comes into contact with the actuator, the device operates the contacts to make or break an electrical connection +
+The actuator of this Unit is consist of a pair of IR part, emitter side and receiver side(silicon phototransistor). The IR emitter will keep sending IR wave while the receiver will keep detecting the IR wave. The IR is directly emitted from one side to another side, so if there's no object in between, the receiver side would get the IR signal. This is how it detecting a break an electrical connection. +


+ + + +### Product Features + +- Vertical Layout +- IR limit switch +- Fast response time +- High sensitivity + +## Include + +- 1x OP.90 unit +- 1x GROVE Cable + +## Application + +- Door Switch +- Machinery Control +- Mouse Copier +- Switch Scanner +- Non-contact Switching + + +## Documentation + + +## Schematic + + + +## EasyLoader + + + + + +>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. + +>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. + +!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) + +## Example + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/OP90.180).* + +```arduino +#include + +void setup() { + // put your setup code here, to run once: + M5.begin(); + //Wire.begin(); + M5.Lcd.setCursor(120, 10, 4); + M5.Lcd.println("90/180 OPTICAL"); + + pinMode(36,INPUT_PULLUP); +} + +void loop() { + // put your main code here, to run repeatedly: + M5.Lcd.setCursor(80, 120, 4); + M5.Lcd.printf("ir receive: %d",digitalRead(36)); +} +``` + +## Video + +- **[Demo Video](https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/OP-90.180.mp4)** \ No newline at end of file diff --git a/docs/en/unit/rfid.md b/docs/en/unit/rfid.md index ea732421..95462e5d 100644 --- a/docs/en/unit/rfid.md +++ b/docs/en/unit/rfid.md @@ -1,6 +1,6 @@ # Unit RFID {docsify-ignore-all} - + *** @@ -15,6 +15,8 @@ The MFRC522 operates in the 13.56MHz frequency band and uses the modulation and It is able tp establish applications such as access control system, punching system, warehouse goods storage and community vehicle access registration. Connect this Unit to GROVE PORTA on M5Core, IIC adress is 0x28. +


+ ## Product Features @@ -105,7 +107,7 @@ void ShowReaderDetails() { } ``` - + ### 2. UIFlow diff --git a/docs/en/unit/tof.md b/docs/en/unit/tof.md index 987be1cc..724a6794 100644 --- a/docs/en/unit/tof.md +++ b/docs/en/unit/tof.md @@ -17,10 +17,10 @@ This unit comunicates with M5Core via I2C(0x29). *Noitce: If you found TOF performance unstable, means what you have could be the old-version hardware PCB board, Following will teach you how to fix it* -- Disassembling TOF and Check the PCB board, if you see it like this, means it is the NEW(fixed) version. - -- If not, take off the two MOSFETs (AO3400A), and connect SCL,SDA from GROVE directly to SCL,SDA on VL53L0x. See the above picture for wiring. -- +- Disassembling TOF and Check the PCB board, if you see it like this, means it is the NEW(fixed) version.


+


+- If not, take off the two MOSFETs (AO3400A), and connect SCL,SDA from GROVE directly to SCL,SDA on VL53L0x. See the above picture for wiring.


+


- In this case, make sure you use the 3.3V on SDA and SCL, M5Core GROVE provide 3.3V to data pins, 5V to power pin. only 3.3v allowed on VL53L0x. diff --git a/docs/en/unit/unit_fan.md b/docs/en/unit/unit_fan.md new file mode 100644 index 00000000..7ffc9ed2 --- /dev/null +++ b/docs/en/unit/unit_fan.md @@ -0,0 +1,92 @@ +# Unit DC MOTOR {docsify-ignore-all} + + + +*** + +:memo:**[Description](#Description)**      :octocat:**[Code](#Code)**       :electric_plug:**[Schematic](#Schematic)**       πŸ›’**[Purchase](https://m5stack.com/collections/m5-unit/products/mini-fan-unit?variant=17365249785946)**      **[EasyLoader](#EasyLoader)** + + +## Description + +**FAN** is designed with an N20 Motor and a small fan piece is included in the package. +This N20 motor is has a 5V supply voltage. The output shaft has a rotational speed of 8800 RPM. + +This N20 motor is has a 5V supply voltage and comes complete with a built-in metal gearbox. The output shaft has a rotational speed of 60 RPM (no load), and a load RPM of 48. These are also the same motors we use in our BALA robot car and have a nice high build quality feel to them. Specifications can be seen below. + +


+ + + +### Product Features +- single-direction rotation +- 5V-DC +- Simple DC motor with no gear +- 60 mm mini fan paddle + +## Include + +- 1x FAN unit +- 1x GROVE Cable +- 2x Plastic fan paddle + +## Application + +- Electric Fan + + +## Dcumentation + + +## Schematic + + + +## EasyLoader + + + + + +>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. + +>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. + +!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) + +## COde + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/FAN).* + +```arduino +#include + +const int motor_pin = 21; +int freq = 10000; +int ledChannel = 0; +int resolution = 10; +void setup() { + // put your setup code here, to run once: + M5.begin(); + M5.Lcd.setCursor(120, 110, 4); + M5.Lcd.println("MOTOR"); + ledcSetup(ledChannel, freq, resolution); + ledcAttachPin(motor_pin, ledChannel); + +} +// 0 - 1024 +void loop() { + // put your main code here, to run repeatedly: + ledcWrite(ledChannel, 512);//0Β° + delay(1000); + ledcWrite(ledChannel, 0);//90Β° + delay(1000); + //ledcWrite(ledChannel, 30);//180Β° + //delay(1000); + +} +``` + + diff --git a/docs/en/unit/vibrator.md b/docs/en/unit/vibrator.md new file mode 100644 index 00000000..211c99fd --- /dev/null +++ b/docs/en/unit/vibrator.md @@ -0,0 +1,90 @@ +# Unit VIBRATOR MOTOR {docsify-ignore-all} + + +*** + +:memo:**[Description](#Description)**      :octocat:**[Code](#COde)**       :electric_plug:**[Schematic](#Schematic)**       πŸ›’**[Purchase](https://m5stack.com/collections/m5-unit/products/vibration-motor-unit)**      **[EasyLoader](#EasyLoader)** + + +## Description + +**Vibrator Motor** is consist of an N20 Motor and a metal eccentric wheel.
+ +This N20 motor is has a 5V supply voltage. The output shaft has a rotational speed of 8800 RPM. Specifications can be seen below. +With this product, you can implement a vibration function to your application.
+ +These days miniature vibrating motors are used in a wide range of products, not just phone and consumer electronics, but also included such as tools, scanners, medical instruments, GPS trackers, and control sticks. Vibrator motors are also the main actuators for haptic feedback which is an inexpensive way to increase a product's value and differentiate it from the competition. + +


+ + +### Product Features + +- single-direction rotation + +## Include + +- 1x VIBRATOR MOTOR unit +- 1x GROVE Cable + +## Application + +- Vibration message functions + + + +## Dcumentation + + +## Schematic + + + +## EasyLoader + + + + + +>1.EasyLoader is a simple and fast program burner, and each product page has a product-related case program for EasyLoader. + +>2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. + +!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/establish_serial_connection) + +## Code + +### 1. Arduino IDE + +*To get complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/FAN).* + +```arduino +#include + +const int motor_pin = 21; +int freq = 10000; +int ledChannel = 0; +int resolution = 10; +void setup() { + // put your setup code here, to run once: + M5.begin(); + M5.Lcd.setCursor(120, 110, 4); + M5.Lcd.println("MOTOR"); + ledcSetup(ledChannel, freq, resolution); + ledcAttachPin(motor_pin, ledChannel); + +} +// 0 - 1024 +void loop() { + // put your main code here, to run repeatedly: + ledcWrite(ledChannel, 512);//0Β° + delay(1000); + ledcWrite(ledChannel, 0);//90Β° + delay(1000); + //ledcWrite(ledChannel, 30);//180Β° + //delay(1000); + +} +``` + + diff --git a/docs/index.md b/docs/index.md index f576e066..d7f0a1b2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -276,7 +276,7 @@

JOYSTICK

- + # BASE @@ -563,7 +563,7 @@ ## TRACE -## ACC +## ACCEL ## OP180 ## OP90 @@ -574,11 +574,11 @@

TRACE

- + **HMI class** @@ -720,8 +720,8 @@

PROTO

- + **Communication class**