добавлены комментарии по выбору пинов для разных плат. Для стартовых примеров добавлен ifdef для автоматического задания корректных выводов

This commit is contained in:
KLASSENTS 2025-07-29 14:26:53 +07:00
parent f45757f13c
commit 53511ffbe2
33 changed files with 280 additions and 169 deletions

View File

@ -11,15 +11,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*/
@ -27,8 +27,8 @@
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 // Configurable, see typical pin layout above
#define SS_PIN 10 // Configurable, see typical pin layout above
#define RST_PIN 9 // P0_3 Configurable, see typical pin layout above
#define SS_PIN 10 // P1_4 Configurable, see typical pin layout above
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

View File

@ -22,15 +22,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*/

View File

@ -11,15 +11,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*/

View File

@ -16,15 +16,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*

View File

@ -13,16 +13,16 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 3 10
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* IRQ ? ? ? ? 2 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*

View File

@ -16,8 +16,8 @@
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 //
#define SS_PIN 10 //
#define RST_PIN 9 // P0_3
#define SS_PIN 10 // P1_4
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

View File

@ -8,15 +8,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*

View File

@ -15,15 +15,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*

View File

@ -17,15 +17,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*/

View File

@ -14,16 +14,16 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS 1 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required **
* SPI SS 2 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required **
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*

View File

@ -12,15 +12,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*/

View File

@ -13,15 +13,15 @@
*
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*

View File

@ -8,15 +8,15 @@
* Uses MIFARE RFID card using RFID-RC522 reader
* Uses MFRC522 - Library
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*/

View File

@ -2,15 +2,15 @@
* Write personal data of a MIFARE RFID card using a RFID-RC522 reader
* Uses MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT.
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* MFRC522 Elbear/ Arduino Arduino Arduino Arduino
* Reader/PCD Elsomik/Start Mega Nano v3 Leonardo/Micro Pro Micro
* Signal Pin Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
* RST/Reset RST 9 / P0_3 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 / P1_4 53 D10 10 10
* SPI MOSI MOSI 11 / P1_1 51 D11 ICSP-4 16
* SPI MISO MISO 12 / P1_0 50 D12 ICSP-1 14
* SPI SCK SCK 13 / P1_2 52 D13 ICSP-3 15
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*

View File

@ -1,6 +1,6 @@
#include <NeoPixel.h>
#define PIN 2
#define PIN 2 // P0_0
#define NUMPIXELS 1
NeoPixel pixels(NUMPIXELS, PIN);

View File

@ -1,6 +1,6 @@
#include <NeoPixel.h>
#define PIN 2
#define PIN 2 // P0_0
#define NUMPIXELS 1
NeoPixel pixels(NUMPIXELS, PIN);

View File

@ -7,7 +7,9 @@
// The DallasTemperature library can do all this work for you!
// https://github.com/milesburton/Arduino-Temperature-Control-Library
OneWire ds(10); // on pin 10 (a 4.7K resistor is necessary)
int pin = 10; // P1_4 for Start/Elsomik
OneWire ds(pin); // a 4.7K resistor is necessary on used pin
void setup(void) {
Serial.begin(9600);

View File

@ -12,8 +12,9 @@
* - For reading from a switch, you should use 10K pull-up resisters.
*/
OneWire net(10); // on pin 10
int pin = 10; // P1_4 for Start/Elsomik
OneWire net(pin);
void PrintBytes(const uint8_t* addr, uint8_t count, bool newline=false) {
for (uint8_t i = 0; i < count; i++) {

View File

@ -23,14 +23,19 @@ DS250x add-only programmable memory reader w/SKIP ROM.
*/
#include <OneWire.h>
OneWire ds(6); // OneWire bus on digital pin 6
// OneWire bus on digital pin 6
int pin = 6; // P0_2 for Start/Elsomik
OneWire ds(pin);
void setup() {
Serial.begin (9600);
}
void loop() {
byte i; // This is for the for loops
boolean present; // device present var
bool present; // device present var
byte data[32]; // container for the data from device
byte leemem[3] = { // array with the commands to initiate a read, DS250x devices expect 3 bytes to start a read: command,LSB&MSB adresses
0xF0 , 0x00 , 0x00 }; // 0xF0 is the Read Data command, followed by 00h 00h as starting address(the beginning, 0000h)

View File

@ -12,7 +12,7 @@ Sd2Card card;
SdVolume volume;
SdFile root;
const int chipSelect = 9;
const int chipSelect = 9; // P0_3
void setup() {
// Open serial communications and wait for port to open:

View File

@ -10,9 +10,9 @@
Servo servo; // create an Servo class instance to control the servo
int pos = 0; // variable for storing servo position
int pin = 8; // P1_9 for Start/Elsomik
void setup() {
servo.attach(8); // connecting the servo drive to digital pin 8 (D8)
servo.attach(pin); // connecting the servo drive to specified digital pin
}
void loop() {

View File

@ -8,9 +8,9 @@
#include <Servo.h>
Servo servo; // create an Servo class instance to control the servo
int pin = 8; // P1_9 for Start/Elsomik
void setup() {
servo.attach(8); // connecting the servo drive to digital pin 8 (D8)
servo.attach(pin); // connecting the servo drive to specified digital pin
}
void loop() {

View File

@ -8,12 +8,13 @@
#include <Servo.h>
Servo servo; // create an Servo class instance to control the servo
int potpin = A0; // analog pin used to connect a potentiometer
// analog pin used to connect a potentiometer
int potpin = A0; // P1_5 for Start/Elsomik
int val; // variable for reading the analog output value
int pin = 8; // P1_9 for Start/Elsomik
void setup() {
servo.attach(8); // connecting the servo drive to digital pin 8 (D8)
servo.attach(pin); // connecting the servo drive to specified digital pin
}
void loop() {

View File

@ -5,13 +5,14 @@
Receives from software serial, sends to hardware serial.
The circuit:
* RX is digital pin 2 (connect to TX of other device)
* TX is digital pin 6 (connect to RX of other device)
* RX is digital pin 2 (P0_10) (connect to TX of other device)
* TX is digital pin 6 (P0_2) (connect to RX of other device)
Note:
Not all pins on the Elbear Ace-Uno support interrupts,
so only the following can be used for RX:
2, 3, 4, 5, 8, 9
Not all pins on the Elbear Ace-Uno/Ace-Nano support interrupts,
so only the following can be used for RX: 2, 3, 4, 5, 8, 9
Elsomik board pins with interrupts: P0_8, P1_4, P1_5, P1_6, P1_9, P1_10, P1_15, P2_7
Start board pins with interrupts: P0_10, P0_12, P0_13, P0_14, P0_15, P1_9, P1_15
created back in the mists of time
modified 25 May 2012
@ -22,8 +23,9 @@
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 6); // RX, TX
int rx_pin = 2; // P1_9 for Start/Elsomik
int tx_pin = 6; // P0_2 for Start/Elsomik
SoftwareSerial mySerial(rx_pin, tx_pin);
void setup() {
// Open serial communications and wait for port to open:

View File

@ -17,17 +17,22 @@
* Second serial device's TX attached to digital pin 8(RX), RX to pin 10(TX)
Note:
Not all pins on the Elbear Ace-Uno support interrupts,
so only the following can be used for RX:
2, 3, 4, 5, 8, 9
Not all pins on the Elbear Ace-Uno/Ace-Nano support interrupts,
so only the following can be used for RX: 2, 3, 4, 5, 8, 9
Elsomik board pins with interrupts: P0_8, P1_4, P1_5, P1_6, P1_9, P1_10, P1_15, P2_7
Start board pins with interrupts: P0_10, P0_12, P0_13, P0_14, P0_15, P1_9, P1_15
*/
#include <SoftwareSerial.h>
// software serial #1: RX = digital pin 2, TX = digital pin 6
SoftwareSerial portOne(2, 6);
int rx_pin_1 = 2; // P1_9 for Start/Elsomik
int tx_pin_1 = 6; // P0_2 for Start/Elsomik
SoftwareSerial portOne(rx_pin_1, tx_pin_1);
// software serial #2: RX = digital pin 8, TX = digital pin 10
SoftwareSerial portTwo(8, 10);
int rx_pin_2 = 8; // P1_15 for Start/Elsomik
int tx_pin_2 = 10; // P1_3 for Start/Elsomik
SoftwareSerial portTwo(rx_pin_2, tx_pin_2);
// active port is changed by user button pressing
volatile bool isPortOneActive = true;

View File

@ -1,13 +1,22 @@
// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK) // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;
#else
uint8_t ledPin = 2;
#endif
// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату
void setup() {
// Инициализация пина P0_3 как выход
pinMode(LED_BUILTIN, OUTPUT);
// Инициализация пина как выход
pinMode(ledPin, OUTPUT);
}
// функция цикла выполняется снова и снова бесконечно
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // включить светодиод (HIGH - высокий уровень напряжения)
delay(1000); // Секунда ожидания
digitalWrite(LED_BUILTIN, LOW); // выключить светодиод (LOW - низкий уровень напряжения)
delay(1000); // Секунда ожидания
digitalWrite(ledPin, HIGH); // включить светодиод (HIGH - высокий уровень напряжения)
delay(1000); // Секунда ожидания
digitalWrite(ledPin, LOW); // выключить светодиод (LOW - низкий уровень напряжения)
delay(1000); // Секунда ожидания
}

View File

@ -1,22 +1,37 @@
// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK) // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;
#else
uint8_t ledPin = 2;
#endif
// задать пин, к которому подсоединена кнопка
#ifdef BTN_BUILTIN // для плат Elbear Ace-Uno/Start можно использовать встроенную кнопку
uint8_t btn_pin = BTN_BUILTIN;
#elif defined(ARDUINO_ELSOMIK) // для плат Elsomik нужно задать вывод в формате порт-вывод
uint8_t btn_pin = P0_1;
#else
uint8_t btn_pin = 4; // для платы Elbear Ace-Nano нужно задать номер цифрового вывода
#endif
int buttonS = 0; // задаем переменную для хранения состояния кнопки
// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // P0_3
pinMode(LED_BUILTIN1, OUTPUT); // P1_3
pinMode(BTN_BUILTIN, INPUT); // P0_8
pinMode(ledPin, OUTPUT);
pinMode(btn_pin, INPUT);
}
// функция цикла выполняется снова и снова бесконечно
void loop() {
buttonS = digitalRead(BTN_BUILTIN); // считываем значение с кнопки
if (buttonS == 0) // если кнопка нажата, то
buttonS = digitalRead(btn_pin); // считываем значение с кнопки
if (buttonS == 0) // если кнопка нажата, то
{
digitalWrite(LED_BUILTIN, HIGH); // включить светодиод на пине P0_3
digitalWrite(LED_BUILTIN1, LOW); // выключить светодиод на пине P1_3
} else // если кнопка отпущена, то
digitalWrite(ledPin, HIGH); // включить светодиод
} else // если кнопка отпущена, то
{
digitalWrite(LED_BUILTIN, LOW); // выключить светодиод на пине P0_3
digitalWrite(LED_BUILTIN1, HIGH); // включить светодиод на пине P1_3
digitalWrite(ledPin, LOW); // выключить светодиод
}
}

View File

@ -1,14 +1,29 @@
const int button1Pin = P0_2; // кнопка №1 - пин P0_2
const int button2Pin = P0_3; // кнопка №2 - пин P0_3
const int ledPin = P1_3; // пин P1_3, для светодиода
// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK) // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;
#else
uint8_t ledPin = 2;
#endif
// задать пины, к которым подсоединены кнопки
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пины в формате порт_вывод
const int button1Pin = P0_2; // кнопка №1
const int button2Pin = P0_3; // кнопка №2
#else
// для плат Elbear задать номера цифровых выводов
const int button1Pin = 3; // кнопка №1
const int button2Pin = 4; // кнопка №2
#endif
// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату
void setup() {
// Установим пины кнопок как входящие:
// Установим пины кнопок как входы:
pinMode(button1Pin, INPUT);
pinMode(button2Pin, INPUT);
// Установим пин светодиода как исходящий:
// Установим пин светодиода как выход:
pinMode(ledPin, OUTPUT);
}
@ -18,7 +33,7 @@ void loop() {
/*
* Здесь мы читаем текущее состояние кнопок и помещаем их значение
* в две пепременные.
* в две переменные.
*/
button1State = digitalRead(button1Pin);
button2State = digitalRead(button2Pin);
@ -26,7 +41,7 @@ void loop() {
if (((button1State == LOW) || (button2State == LOW)) // Проверяем нажата ли только одна из кнопок
&& !((button1State == LOW) && (button2State == LOW))) {
digitalWrite(ledPin, HIGH); // Включаем светодиод
} else // иначе
} else // иначе
{
digitalWrite(ledPin, LOW); // Выключаем светодиод
}

View File

@ -1,5 +1,20 @@
const int ledPin = LED_BUILTIN; // Пин P0_3 для светодиода.
const int sensorPin = P1_5; // Пин, к которому подключается средний вывод потенциометра.
// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK) // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;
#else
uint8_t ledPin = 2;
#endif
// задать пин, к которому подключается средний вывод потенциометра
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пин в формате порт_вывод. Пин должен поддерживать АЦП измерения
const int sensorPin = P1_5;
#else
// для плат Elbear задать номер аналогового вывода
const int sensorPin = A0;
#endif
int sensorValue = 0; // Переменная для хранения значения потенциометра
// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату

View File

@ -1,11 +1,24 @@
// Имена для пинов светодиода и потенциометра (англ potentiometr или "pot")
#define LED_PIN P0_0
#define POT_PIN P1_5
// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK) // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;
#else
uint8_t ledPin = 2;
#endif
// задать пин, к которому подключается средний вывод потенциометра
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пин в формате порт_вывод. Пин должен поддерживать АЦП измерения
const int sensorPin = P1_5;
#else
// для плат Elbear задать номер аналогового вывода
const int sensorPin = A0;
#endif
// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату
void setup() {
// Установим пин светодиода как выход
pinMode(LED_PIN, OUTPUT);
pinMode(ledPin, OUTPUT);
}
// функция цикла выполняется снова и снова бесконечно
@ -18,7 +31,7 @@ void loop() {
* микроконтроллер выдаст число от 0 до 1023
* пропорциональное углу поворота ручки.
*/
rotation = analogRead(POT_PIN);
rotation = analogRead(sensorPin);
/*
* В brightness записывается полученное ранее значение rotation
@ -29,7 +42,7 @@ void loop() {
brightness = rotation / 4;
// Итоговое напряжение подается на светодиод.
analogWrite(LED_PIN, brightness);
analogWrite(ledPin, brightness);
}

View File

@ -1,7 +1,16 @@
// Имена пинов для светодиодов
// задать пины, к которым подсоединен светодиод. Пины должны поддерживать функцию ШИМ
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пины в формате порт_вывод
const int RED_PIN = P0_0;
const int GREEN_PIN = P0_1;
const int BLUE_PIN = P0_2;
#else
// для плат Elbear задать номера цифровых выводов
const int RED_PIN = 3;
const int GREEN_PIN = 5;
const int BLUE_PIN = 6;
#endif
/*
* Следующая переменная контролирует, насколько быстро выполняется цикл по смене

View File

@ -1,6 +1,19 @@
// Константы с именами для используемых пинов.
// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK) // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;
#else
uint8_t ledPin = 2;
#endif
// задать пин, к которому подключается средний вывод потенциометра
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пин в формате порт_вывод. Пин должен поддерживать АЦП измерения
const int sensorPin = P1_5;
const int ledPin = P0_0;
#else
// для плат Elbear задать номер аналогового вывода
const int sensorPin = A0;
#endif
/*
* Глобальны переменные для уровней яркости:

View File

@ -1,7 +1,13 @@
#include "notes.h" // Библиотека с частотой нот
// Константы с именами для используемых пинов.
// задать пин, к которому подсоединен пьезоэлемент
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пин в формате порт_вывод
const int buzzerPin = P0_0;
#else
// для плат Elbear задать номер цифрового вывода
const int buzzerPin = 2;
#endif
/*
* BPM (bpm, англ. beats per minute[1], удары в минуту) в музыке показатель, определяющий скорость исполнения