SlideShare a Scribd company logo
Textul si imaginile din acest document sunt licentiate
Attribution-NonCommercial-NoDerivs
CC BY-NC-ND
Codul sursa din acest document este licentiat
Public-Domain
Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website /
blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul
sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara
nici un fel de limitari.
Priza telecomandata prin Arduino
Acest tip de priza iti permite sa pornesti/opresti, de la distanta, diversi consumatori. Comanda
ON/OFF a prizei se realizeaza prin semnalele radio emise de o telecomanda speciala conectata la placa
Arduino.
Emitatorul arata ca in imaginea de mai jos si se conecteaza la placa Arduino prin 3 pini. Modul
cum se conecteaza la placa Arduino este explicat mai jos.
Fiecare priza are o adresa unica ce poate fi setata prin 10 microswich-uri. In acest mod poti
controla pana la 1024 de prize utilizand doar o singura telecomanda. Priza arata ca in imaginea de mai
jos iar accesul la microswitch-uri se face desfacand surubul ce tine capacul fixat ferm.
Cele 10 microswitch-uri sunt marcate cu 1, 2, 3, 4, 5, respectiv A, B, C, D, E. Iti recomand sa
nu modifici configuratia actuala a producatorului, cel putin pentru inceput deoarece ele sunt
configurate cu adrese unice. Este totusi important sa deschizi capacul si sa observi configuratia switch-
urilor pentru ca ea va fi necesara in sketch-ul din Arduino.
http://www.robofun.ro/forum
Pentru acest tutorial vei avea nevoie de urmatoarele:
• Arduino UNO - http://www.robofun.ro/arduino/arduino_uno_v3.
• Una sau mai multe prize telecomandate - http://www.robofun.ro/set-trei-prize-telecomandate-
arduino.
• Telecomanda speciala pentru Arduino (inclusa in pachetul de prize).
• Fire pentru conexiuni - http://www.robofun.ro/fire_conexiune_tata_tata-140mm.
http://www.robofun.ro/forum
Cum functioneaza ?
Fiecare priza are o adresa unica si poate fi comandata ON/OFF wireless. Comanda se realizeaza
direct din Arduino. Emitatorul se conecteaza la placa astfel:
Pin Vcc telecomanda Arduino 5V
Pin Gnd telecomanda Arduino Gnd
Pin OUT telecomanda Arduino digital 10
Aplicatia.
Inainte de a scrie aplicatia sau sketch-ul este necesar sa instalezi o librarie. Aceasta librarie
contine rutinele si functiile telecomenzii si o poti descarca de aici:
http://robofun.ro/docs/RCswitch_2_51.zip
Poti sa o dezarhivezi direct in locatia unde se afla toate librariile Arduino:
http://www.robofun.ro/forum
arduino-1.0.x/libraries
Dupa dezarhivare vei obtine:
arduino-1.0.x/libraries/RCSwitch
Codul sursa.
Codul sursa este listat mai jos si il poti copia direct (copy/paste) in mediul Arduino. Incarca
sketch-ul in placa si deschide monitorul serial. In monitor ai doua optiuni: on sau off. In functie de
comanda tastata vei obtine rezultatul acesteia adica priza se va porni sau opri.
La nivelul sketch-ului vei observa 2 functii anume:
mySwitch.switchOn("11111", "11111");
Aceasta functie transmite comanda de pornire a prizei. Functia accepta doi parametrii de tip
http://www.robofun.ro/forum
string. In exemplul de fata cei doi parametrii sunt "11111" si "11111". Acesti parametrii se deduc din
pozitiile celor 10 microswitch-uri. Mai exact, pentru primul parametru, pentru fiecare microswitch
marcat de la 1 la 5 care se afla pe pozitia ON, vei pune in string ''1'' iar pentru fiecare microswitch care
este invers, vei pune ''0''. Exact la fel vei proceda si cu al doilea parametru pentru microswitch-urile
marcate de la A la E.
mySwitch.switchOff("11111", "11111");
Aceasta functie transmite comanda de oprire a prizei si accepta aceeasi parametrii explicati ca in
prima functie.
#include <RCSwitch.h>
String inputString = "";
boolean stringComplete = false;
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
Serial.println("Power up ok.");
inputString.reserve(200);
mySwitch.enableTransmit(10);
// Optional, poti seta numarul de retransmiteri
// mySwitch.setRepeatTransmit(15);
}
void loop() {
if (stringComplete) {
if (inputString == "onn") {
mySwitch.switchOn("11111", "11111");
Serial.println("Stare: pornit.");
} else if (inputString == "offn") {
mySwitch.switchOff("11111", "11111");
Serial.println("Stare: oprit.");
}
inputString = "";
stringComplete = false;
}
}
http://www.robofun.ro/forum
void serialEvent() {
while (Serial.available()) {
char inChar = (char)Serial.read();
inputString += inChar;
if (inChar == 'n') {
stringComplete = true;
}
}
}
http://www.robofun.ro/forum

More Related Content

PDF
Arduino comparatorul intern
PDF
Arduino gsm gprs shield
PDF
Arduino alcoolmetru
PDF
Motoare pascupasarduinoeasydriver
PDF
Curs gratuitarduino lectia9-senzoriatmosferici
PDF
Curs gratuitarduino lectia3-proiectesimple-1
PDF
Curs gratuitarduino lectia1-arduinoblink
PDF
Curs gratuitarduino lectia4-modalitati decomunicare
Arduino comparatorul intern
Arduino gsm gprs shield
Arduino alcoolmetru
Motoare pascupasarduinoeasydriver
Curs gratuitarduino lectia9-senzoriatmosferici
Curs gratuitarduino lectia3-proiectesimple-1
Curs gratuitarduino lectia1-arduinoblink
Curs gratuitarduino lectia4-modalitati decomunicare

What's hot (11)

PDF
Curs gratuitarduino lectia6-senzoriforta
PDF
Curs gratuitarduino lectia5-accelerometre
PDF
Conector bluetoothmatesilver arduino-pc
PDF
Curs gratuitarduino lectia10-lcd-uri
PDF
Arduino multiplexarea le-durilor
PDF
Curs gratuitarduino lectia11-muzicacuarduino
PDF
Curs gratuitarduino lectia2-senzorianalogici
PDF
Curs gratuitarduino lectia8-comunicareethernet
PDF
Arduino wifi shield-drivermotoarel298
PPT
Aiesec University 2012-arduino
PDF
Arduino toraspberrypi firmata
Curs gratuitarduino lectia6-senzoriforta
Curs gratuitarduino lectia5-accelerometre
Conector bluetoothmatesilver arduino-pc
Curs gratuitarduino lectia10-lcd-uri
Arduino multiplexarea le-durilor
Curs gratuitarduino lectia11-muzicacuarduino
Curs gratuitarduino lectia2-senzorianalogici
Curs gratuitarduino lectia8-comunicareethernet
Arduino wifi shield-drivermotoarel298
Aiesec University 2012-arduino
Arduino toraspberrypi firmata
Ad

Similar to Set prizecomandatedinarduino (20)

PDF
Arduino flexsensorbrickbionicfinger
DOC
Controlul unui motor pas cu pas
PDF
Arduino protocolul 1 wire
PDF
Arduino releemodio2
PDF
Arduino comunicatie i2c
PDF
Arduino gsmgprs-shield-partea-a-2-a
PDF
Arduino indicatoare cp-usiram
PPTX
Eap 202 astabil_555_4.0
PDF
Arduino capacitive sensor-robofun
PDF
Asamblare statie meteo
PDF
Raspberry pi firmata - arduino
PDF
Arduino gyro stabilizator
PDF
236700985 ret521
PDF
Arduino yala electronicabazatapecodsecret
PDF
Arduino matriceled8x8
PDF
Cursuri. Calculatoare de bord.pdf
PDF
Arduino sht11
PPTX
Eap 103 termometru_4.0
PDF
Despre automate programabile
PDF
Arduino - senzori
Arduino flexsensorbrickbionicfinger
Controlul unui motor pas cu pas
Arduino protocolul 1 wire
Arduino releemodio2
Arduino comunicatie i2c
Arduino gsmgprs-shield-partea-a-2-a
Arduino indicatoare cp-usiram
Eap 202 astabil_555_4.0
Arduino capacitive sensor-robofun
Asamblare statie meteo
Raspberry pi firmata - arduino
Arduino gyro stabilizator
236700985 ret521
Arduino yala electronicabazatapecodsecret
Arduino matriceled8x8
Cursuri. Calculatoare de bord.pdf
Arduino sht11
Eap 103 termometru_4.0
Despre automate programabile
Arduino - senzori
Ad

More from Iulius Bors (14)

PDF
Raspberry pi wirelesshotspot
PDF
Raspberry piuln2803
PDF
Raspberry pi timelapse
PDF
Raspberry pi lcd-shield20x4
PDF
Raspberry pi bmp085blueedition
PDF
Programare in prolog_pentru_inteligenta_artificiala
PDF
Curs gratuitarduino lectia15-seismografcuexcel
PDF
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
PDF
Curs gratuitarduino lectia13-mousesitastatura
PDF
Curs gratuitarduino lectia12-conexiunewifi-googledocs
PDF
Curs gratuitarduino lectia7-senzoridistanta
PDF
Cum instaleziapachesimysql peraspberrypi
PDF
Arduino yun arduino-wifi-ethernet-linux
PDF
Arduino uno rfidid-12
Raspberry pi wirelesshotspot
Raspberry piuln2803
Raspberry pi timelapse
Raspberry pi lcd-shield20x4
Raspberry pi bmp085blueedition
Programare in prolog_pentru_inteligenta_artificiala
Curs gratuitarduino lectia15-seismografcuexcel
Curs gratuitarduino lectia14-analogieelectricitatecurgereafluidelor-proiect-f...
Curs gratuitarduino lectia13-mousesitastatura
Curs gratuitarduino lectia12-conexiunewifi-googledocs
Curs gratuitarduino lectia7-senzoridistanta
Cum instaleziapachesimysql peraspberrypi
Arduino yun arduino-wifi-ethernet-linux
Arduino uno rfidid-12

Set prizecomandatedinarduino

  • 1. Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website / blog, printare, sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul sursa din acest document poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara nici un fel de limitari.
  • 2. Priza telecomandata prin Arduino Acest tip de priza iti permite sa pornesti/opresti, de la distanta, diversi consumatori. Comanda ON/OFF a prizei se realizeaza prin semnalele radio emise de o telecomanda speciala conectata la placa Arduino. Emitatorul arata ca in imaginea de mai jos si se conecteaza la placa Arduino prin 3 pini. Modul cum se conecteaza la placa Arduino este explicat mai jos. Fiecare priza are o adresa unica ce poate fi setata prin 10 microswich-uri. In acest mod poti controla pana la 1024 de prize utilizand doar o singura telecomanda. Priza arata ca in imaginea de mai jos iar accesul la microswitch-uri se face desfacand surubul ce tine capacul fixat ferm. Cele 10 microswitch-uri sunt marcate cu 1, 2, 3, 4, 5, respectiv A, B, C, D, E. Iti recomand sa nu modifici configuratia actuala a producatorului, cel putin pentru inceput deoarece ele sunt configurate cu adrese unice. Este totusi important sa deschizi capacul si sa observi configuratia switch- urilor pentru ca ea va fi necesara in sketch-ul din Arduino. http://www.robofun.ro/forum
  • 3. Pentru acest tutorial vei avea nevoie de urmatoarele: • Arduino UNO - http://www.robofun.ro/arduino/arduino_uno_v3. • Una sau mai multe prize telecomandate - http://www.robofun.ro/set-trei-prize-telecomandate- arduino. • Telecomanda speciala pentru Arduino (inclusa in pachetul de prize). • Fire pentru conexiuni - http://www.robofun.ro/fire_conexiune_tata_tata-140mm. http://www.robofun.ro/forum
  • 4. Cum functioneaza ? Fiecare priza are o adresa unica si poate fi comandata ON/OFF wireless. Comanda se realizeaza direct din Arduino. Emitatorul se conecteaza la placa astfel: Pin Vcc telecomanda Arduino 5V Pin Gnd telecomanda Arduino Gnd Pin OUT telecomanda Arduino digital 10 Aplicatia. Inainte de a scrie aplicatia sau sketch-ul este necesar sa instalezi o librarie. Aceasta librarie contine rutinele si functiile telecomenzii si o poti descarca de aici: http://robofun.ro/docs/RCswitch_2_51.zip Poti sa o dezarhivezi direct in locatia unde se afla toate librariile Arduino: http://www.robofun.ro/forum
  • 5. arduino-1.0.x/libraries Dupa dezarhivare vei obtine: arduino-1.0.x/libraries/RCSwitch Codul sursa. Codul sursa este listat mai jos si il poti copia direct (copy/paste) in mediul Arduino. Incarca sketch-ul in placa si deschide monitorul serial. In monitor ai doua optiuni: on sau off. In functie de comanda tastata vei obtine rezultatul acesteia adica priza se va porni sau opri. La nivelul sketch-ului vei observa 2 functii anume: mySwitch.switchOn("11111", "11111"); Aceasta functie transmite comanda de pornire a prizei. Functia accepta doi parametrii de tip http://www.robofun.ro/forum
  • 6. string. In exemplul de fata cei doi parametrii sunt "11111" si "11111". Acesti parametrii se deduc din pozitiile celor 10 microswitch-uri. Mai exact, pentru primul parametru, pentru fiecare microswitch marcat de la 1 la 5 care se afla pe pozitia ON, vei pune in string ''1'' iar pentru fiecare microswitch care este invers, vei pune ''0''. Exact la fel vei proceda si cu al doilea parametru pentru microswitch-urile marcate de la A la E. mySwitch.switchOff("11111", "11111"); Aceasta functie transmite comanda de oprire a prizei si accepta aceeasi parametrii explicati ca in prima functie. #include <RCSwitch.h> String inputString = ""; boolean stringComplete = false; RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); Serial.println("Power up ok."); inputString.reserve(200); mySwitch.enableTransmit(10); // Optional, poti seta numarul de retransmiteri // mySwitch.setRepeatTransmit(15); } void loop() { if (stringComplete) { if (inputString == "onn") { mySwitch.switchOn("11111", "11111"); Serial.println("Stare: pornit."); } else if (inputString == "offn") { mySwitch.switchOff("11111", "11111"); Serial.println("Stare: oprit."); } inputString = ""; stringComplete = false; } } http://www.robofun.ro/forum
  • 7. void serialEvent() { while (Serial.available()) { char inChar = (char)Serial.read(); inputString += inChar; if (inChar == 'n') { stringComplete = true; } } } http://www.robofun.ro/forum