рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдкрд┐рдЫрд▓реА рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ, рд╡рд╣ рдПрдХ рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рдд рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрд▓ рдИ рдбреА рдкрд░ рд╕рдЬрд╛рд╡рдЯреА рдореЛрдиреЛрдХреНрд░реЛрдо рд░реЛрд╢рдиреА рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ, рдФрд░ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдерд╛ред
рдХрд╛рд╢ рдПрдХ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛:
- рдПрдВрдбреНрд░реЙрдЗрдб рдлреЛрди рд╕реЗ рдмреНрд░реВрдорд╕реНрдЯрд┐рдХ рдпрд╛ рдЖрдИрдЖрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрд░реЗрд▓реВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╕реЗ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдмреИрдХрд▓рд╛рдЗрдЯ рдореЛрдб (рднрд┐рдЧреЛрдирд╛ рддреЗрдЬ, рдкреНрд░рдХрд╛рд╢ рдЪрдордХ) рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВред
- рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣реА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд░реАрдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
- рд▓рд╛рдЧрдд - рдХрдо, рдмреЗрд╣рддрд░
- рдШрдЯрдХ рдЙрдкрд▓рдмреНрдзрддрд╛
рдкрд╕рдВрдж рд╕рд░рд▓ рдереА - рдФрд░ рдореИрдВ Arduino Uno3 рдХреА рдПрдХ рдЪреАрдиреА рдкреНрд░рддрд┐ рдХрд╛ рдорд╛рд▓рд┐рдХ рдмрди рдЧрдпрд╛ рдЬрд┐рд╕реЗ DK-Duino Uno рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕реЗ eBay рдкрд░ 15 рд╕рджрд╛рдмрд╣рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЦрд░реАрджрд╛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрд▓ рдИ рдбреА рдЦрд░реАрджреЗ рдЧрдП (рдиреАрд▓рд╛, 3 рд░реБрдкрдпреЗ рдкреНрд░рддрд┐ рд╕реИрдХрдбрд╝рд╛), $ 12 рдХреЗ рд▓рд┐рдП HC-05 рдмреНрд▓реВ-рдЯреВрде рдореЙрдбреНрдпреВрд▓ рдФрд░ $ 7 рдХреЗ рд▓рд┐рдП 12V / 5A рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ - рдХреБрд▓ $ 37, рдпрд╛ 1,100 рд░реВрдмрд▓ред рдИрдмреА рдкрд░ $ 17 рдХреЗ рд▓рд┐рдП рдПрд▓рдИрдбреА рд╕реНрдЯреНрд░рд┐рдк 5 рдПрдо + рдХрдВрдЯреНрд░реЛрд▓рд░ + рдЖрдИрдЖрд░ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд╕реЗрдЯ рдЦрд░реАрджрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд░рд┐рд╕реАрд╡рд░ рдХреЛ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдлрд┐рдЯ рдирд╣реАрдВ рд╣реБрдЖ, рдЬрд┐рд╕реЗ рдлрд░реНрдиреАрдЪрд░ рдпрд╛ рдмреЗрд╕рдмреЛрд░реНрдб рдХреЗ рдкреАрдЫреЗ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
рд╡рд┐рдЪрд╛рд░ рдХреА рдореМрд▓рд┐рдХрддрд╛ рдЪрдордХ рдирд╣реАрдВ рдереА, рдореИрдВ рдмрд╕ рдШрд░ рдХреЗ рд╕рднреА рдирд┐рд╡рд╛рд╕рд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдЯрд┐рдХрд╛рдК рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рд╡рд┐рдЪрд╛рд░
рджреАрд╡рд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рдд рдПрд▓ рдИ рдбреА рдЯреБрдХрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ / рд▓рдХрдбрд╝реА рдХреА рдЫрдд рдореЗрдВ рдбреНрд░рд┐рд▓ рдХрд┐рдП рдЧрдП рдЫреЗрдж рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рджреАрд╡рд╛рд░ рд╕реЗ рдереЛрдбрд╝реА рджреВрд░реА (рдПрд▓рдИрдб рдХреА рдПрдХ рд╕рдорд╛рди рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдм рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдкреЛрд╕реНрдЯ рдереЗ)ред рдЬрдм рдЖрдк рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ - рд╕рдмрд╕реЗ рд╢рд╛рдирджрд╛рд░ рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрд▓ рдИ рдбреА рдХреА рдЪрдордХ рдореЗрдВ рдПрдХ рд╕реБрдЪрд╛рд░реВ рдкрд░рд┐рд╡рд░реНрддрди - рд░рдирд╡реЗ рдкрд░ рд▓реИрдВрдбрд┐рдВрдЧ рд▓рд╛рдЗрдЯ рдХреА рддрд░рд╣ред
рдореИрдВ рдмреИрдХрд▓рд╛рдЗрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреНрдпрд╛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛
- рдЧрддрд┐ рдФрд░ рдЪрдордХ рдХреА рдЪрдордХ рдХреЛ рдмрджрд▓рдирд╛, рдПрдХ рдкреВрд░реНрдг рд╢рдЯрдбрд╛рдЙрди рддрдХ
- рд▓рдЧрд╛рддрд╛рд░ рдЪрдордХ рдореЛрдб
- рдиреЙрди-рд░рдирд┐рдВрдЧ рдПрдЯреЗрдиреЗрд╢рди
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - Arduino
рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдПрдХ рдмреНрд░реВрдорд╕реНрдЯрд┐рдХ рдкрд░ рдПрдХ рдлреЛрди рдЪреБрдирд╛, рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрдВрд╕реЛрд▓ рдХреЗ рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рдирд╣реАрдВ, рджреАрд╡рд╛рд░-рдлрд░реНрдиреАрдЪрд░-рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдЬреИрд╕реА рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЧреНрд░рд╕реНрдд рдирд╣реАрдВред
рдЖрдзрд╛рд░ рдХреЛ рдХреНрд╖реАрдгрди рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣реА рдЖрдЧ рдХреА рдХрдИ рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЕрдирдВрдд рдХреА рд╡рд┐рд╢рд╛рд▓рддрд╛ рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЪрдпрдирд┐рдд Arduino рдХреЗ PWM рдЖрдЙрдЯрдкреБрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрд▓ рдИ рдбреА рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ 6 рд╣реИред
рдЬрд┐рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА: рдирд┐рдпрдВрддреНрд░рдг рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдлреЛрди рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд░реВрдорд╕реНрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛, рдкрд░рд┐рдгрд╛рдо Arduino рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреЗрдЪ рдерд╛:
рд╕реНрдХреЗрдЪ рдХреЛрдб#include <SoftwareSerial.h> enum LedState { LED_ON, LED_OFF }; boolean isFadeMode = false; #define LED_CNT 6 int ledPins[LED_CNT] = {11, 10, 9, 6, 5, 3}; // pwm pins int ledBrightnessesWave[LED_CNT] = {0, 50, 100, 150, 205, 255}; // represents initial brightness for wave mode int ledStepsWave[LED_CNT] = {-5, 5, 5, 5, 5, 5}; // represents initial change for wave mode int ledBrightnesses[LED_CNT]; // represents brightness for pin int ledSteps[LED_CNT]; // represents change, each pin gets its own change so it wont interfere with any other pin int ledSpeed = 50; int maxLedBrightness = 255; int ledBrightnessesConst = 255; // represents brightness for pins in no wave or fade mode LedState led_state; #define rxPin 2 #define txPin 4 #define SPEED_PREFIX 'G' #define SPEED_PREFIX_MAX 'P' #define BRIGHTNESS_PREFIX 'Q' #define BRIGHTNESS_PREFIX_MAX 'Z' #define MIN_SPEED_DELAY 5 #define MAX_SPEED_DELAY 100 #define MIN_BRIGHTNESS 5 #define MAX_BRIGHTNESS 255 // set up a new serial port SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin); void setup() { for (int i = 0; i < LED_CNT; i++) { pinMode(ledPins[i], OUTPUT); //set pwm pins to output //copy initial values ledBrightnesses[i] = ledBrightnessesWave[i]; ledSteps[i] = ledStepsWave[i]; } led_state = LED_ON; Serial.begin(9600); pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); mySerial.begin(115200); } int getBrightness(int b) { return b; } int valueToDelay(int value) { return MIN_SPEED_DELAY + (MAX_SPEED_DELAY - MIN_SPEED_DELAY) * value / (SPEED_PREFIX_MAX - SPEED_PREFIX); } int valueToBrightness(int value) { return MIN_BRIGHTNESS + (MAX_BRIGHTNESS - MIN_BRIGHTNESS) * value / (BRIGHTNESS_PREFIX_MAX - BRIGHTNESS_PREFIX); } void recalculateBrightness(int brValue) { ledBrightnessesConst = valueToBrightness(brValue); } void ledFade() { if (led_state == LED_OFF) { for (int i = 0; i < LED_CNT; i++) { analogWrite(ledPins[i], ledBrightnessesConst); // update all pins } return; } String s = "###"; for (int i = 0; i < LED_CNT; i++) { analogWrite(ledPins[i], getBrightness(ledBrightnesses[i])); int newBr = ledBrightnesses[i] + ledSteps[i]; if (newBr <= 0 || newBr >= maxLedBrightness) { ledSteps[i] =- ledSteps[i]; //change direction if exceeds max/min value } else { ledBrightnesses[i] = newBr; } s.concat(ledBrightnesses[i]); if (i < LED_CNT - 1) //skip separator for last entity s.concat("-"); } s.concat("***"); char charBuf[1000]; s.toCharArray(charBuf, 1000); mySerial.write(charBuf); mySerial.flush(); delay(ledSpeed); } void loop() { if (mySerial.available()) { char command = mySerial.read(); Serial.println("command is -> " + command); boolean handled = false; boolean changeFadeMode = false; switch (command) { case 'a': led_state = LED_OFF; handled = true; break; case 'b': led_state = LED_ON; ledSpeed = 50; handled = true; //do these lines to set wave mode changeFadeMode = true; isFadeMode = true; break; case 'c': led_state = LED_ON; ledSpeed = 30; handled = true; //do these lines to set wave mode changeFadeMode = true; isFadeMode = true; break; case 'd': led_state = LED_ON; ledSpeed = 10; handled = true; //do these lines to set wave mode changeFadeMode = true; isFadeMode = true; break; case 'e': led_state = LED_ON; changeFadeMode = true; handled = true; break; default: break; } if (changeFadeMode) { if (isFadeMode) { Serial.println("Set fade mode off"); for (int i = 0; i < LED_CNT; i++) { //copy initial values ledBrightnesses[i] = ledBrightnessesWave[i]; ledSteps[i] = ledStepsWave[i]; } } else { Serial.println("Set fade mode on"); for (int i = 0; i < LED_CNT; i++) { ledBrightnesses[i] = 0; ledSteps[i] = 5; } } isFadeMode = !isFadeMode; } else { //do nothing } if (!handled) { boolean isSpeedCommand = command >= SPEED_PREFIX && command <= SPEED_PREFIX_MAX; boolean isBrCommand = command >= BRIGHTNESS_PREFIX && command <= BRIGHTNESS_PREFIX_MAX; if (isSpeedCommand) { led_state = LED_ON; int speedValue = command - SPEED_PREFIX; //from 0 to 9 ledSpeed = valueToDelay(speedValue); } if (isBrCommand) { led_state = LED_OFF; int brValue = command - BRIGHTNESS_PREFIX; //from 0 to 9 recalculateBrightness(brValue); } } } ledFade(); }
рдкреНрд░рд╛рдкреНрдд рдХрдорд╛рдВрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛ рддреЛ рдПрд▓ рдИ рдбреА рдХреА рдЧрддрд┐ рдпрд╛ рдЪрдордХ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рдЖрдк рдкреНрд░рд╛рдкреНрдд рдЖрджреЗрд╢ рдкрд░ рдХрд┐рд╕реА рднреА рдордирдорд╛рдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВ рдмреИрдХрд▓рд╛рдЗрдЯ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдЧрддрд┐ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВред
рдкреНрд░рддреНрдпреЗрдХ рдЪрдХреНрд░ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ рдЬреЛрдбрд╝реЗ рдЧрдП рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ ### 0-50-100-150-200-250 *** рдЬреЛрдбрд╝реЗ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдзрд┐рдХрддрдо 255 рдХреЗ рд╕рд╛рде рдЫрд╣ рдПрд▓ рдИ рдбреА рдХреЗ рдЪрдордХ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред
рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ:

рд╕рдорд╕реНрдпрд╛рдУрдВ
рдореБрдЭреЗ рдХреНрдпрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛: рдлреЛрди рд╕реЗ рдорд▓реНрдЯреА-рдХреИрд░реЗрдХреНрдЯрд░ рдХрдорд╛рдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, s150 рдХрдорд╛рдВрдб рднреЗрдЬрдирд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдпреЛрдЬрдирд╛рдмрджреНрдз рд╣реИ - рдЕрдзрд┐рдХрддрдо 255 рдХреЗ рд╕рд╛рде 150 рддреЛрддреЗ рдХреА рдЧрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ Arduino рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдкреНрд░рдкрддреНрд░ s ### рдХрд╛ рдкреВрд░реНрдг рдмрдХрд╡рд╛рд╕ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рдЬрд╣рд╛рдВ рд╢рд╛рд░реНрдк рдХреЗ рдмрдЬрд╛рдп, рдХреЛрдИ ASCII рд╡рд░реНрдг рднреЗрдЬреЗ рдЧрдП рдереЗред рд╢рд╛рдпрдж рдпрд╣ рдмреНрд░реВрдорд╕реНрдЯрд┐рдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░рд╕рд┐рдпрд░рд┐рдпрд▓ рдХреНрд▓рд╛рд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рд╣реИред Google рдзреВрдореНрд░рдкрд╛рди рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдЪрд╕реА -05 рдореЙрдбреНрдпреВрд▓ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдПрдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдПрдЯреА рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХрд▓-рд╡рд░реНрдг рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд╕рднреА рдФрд░ рдЕрдзрд┐рдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╣рд╛рде рд╕реЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - 10 рдорд╛рдиреЛрдВ рдХреА рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдФрд░ рдЬреА рд╕реЗ рдкреА рддрдХ рдХреА рдХрдорд╛рдВрдб, рдЪрдордХ рдХреЗ рд▓рд┐рдП - рдХреНрд░рдорд╢рдГ рдХреНрдпреВ рд╕реЗ рдЬреЗрдб рддрдХ рдХреА рд╕реАрдорд╛ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди - Android
рдлреЛрди рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░реЗрд╖рд┐рдд рдХрдорд╛рдВрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ - рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХреЗ рд▓рд┐рдПред
рдЖрд╡реЗрджрди рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ:
рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ рдереА - рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рд▓рд╛рдн, рдФрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕реНрдЯреИрдХрдСрд╡рд░рдлреНрд▓реЛ рдкрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдпреБрдХреНрддрд┐рдпрд╛рдВ рднреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреНрд▓реВрдЯреВрдердбрд╛рдпрд░реЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреА рдорд╛рдирдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд░реБрдбрд┐рдиреЛ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛:
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдореЗрдВ рд░реЗрдВрдЧрдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдПрдХ рдирд┐рдЬреА рдкрджреНрдзрддрд┐ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛:
try { Class class1 = device.getClass(); Class aclass[] = new Class[1]; aclass[0] = Integer.TYPE; Method method = class1.getMethod("createRfcommSocket", aclass); Object aobj[] = new Object[1]; aobj[0] = Integer.valueOf(1); tmp = (BluetoothSocket)method.invoke(device, aobj); }
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд┐рд╕рд╕реЗ рдЬреБрдбрд╝реА рд╣реИ рдпрд╣ рдЕрдЬреНрдЮрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред
рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИред рдкреНрд░рдкрддреНрд░ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп ### 0-50-100-150-200-250 *** ### 0-50-100-150-200-250 *** ... рдХрднреА-рдХрднреА рддрддреНрд╡реЛрдВ рдХреА рдЧрд▓рдд рд╕рдВрдЦреНрдпрд╛, рдЧрд▓рдд рд╡рд┐рднрд╛рдЬрдХ рдпрд╛ рдорд╛рд░реНрдХрд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЗрдВ рдЖ рдЧрдИрдВ рд╢реБрд░реВ / рдЕрдВрдд рдЕрдиреБрдХреНрд░рдоред рдореИрдВрдиреЗ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рд▓рд┐рдЦрдХрд░ рдФрд░ рдЧрд▓рдд рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдХрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрд▓рдИрдб рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рджреГрд╢реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдерд╛ред
рдкрд░рд┐рдгрд╛рдо
рдлреЛрди рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрдХрд┐рдЯ Arduino рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреЗрдЪред
рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╡реАрдбрд┐рдпреЛ рдЙрджрд╛рд╣рд░рдг:
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ:
- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдЕрдВрддрд┐рдо рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдХрдорд░реЗ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд╕рднреА рдПрд▓рдИрдбреА рддрд╛рд░реЛрдВ рдХреА рддрд╛рд░реЛрдВ
- рдХрдорд░реЗ рдореЗрдВ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо-рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдирд╛
- рдШрдбрд╝реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдирд╛ - рджрд┐рди рдХреЗ рджреМрд░рд╛рди рдмреИрдХрд▓рд╛рдЗрдЯ рдХреНрдпреЛрдВ?
рд╕рднреА рд╕реНрд░реЛрдд рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
code.google.com/p/arduinopadрдЕрдкрдбреЗрдЯ:Pwm рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЕрдзрд┐рдХрддрдо Arduino 40 mA рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЕрдзрд┐рдХ рд╡рд░реНрддрдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреАрд╕реА 557 рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - 100 рдПрдордП рддрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдпрджрд┐ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЖрдк рдХрд┐рд╕реА рднреА рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ULN2803APG - рдкреНрд░рддрд┐ рдЪреИрдирд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЖрдзрд╛-рдПрдореНрдкреАрдпрд░ рддрдХ рд╣реЛрдЧрд╛ред