Lista componente:
Biblioteci folosite:
Cod:
#include <Arduino.h> #include <IRremote.h> #include <Servo.h> IRrecv IR(3); Servo myservo; // pinii motoarelor int moto1 = 4; int moto2 = 5; int moto11 = 6; int moto22 = 7; // pinul pentru becuri int bec = 13; // pozitia initiala a carmei, pt a merge stanga/dreapta int pos = 90; void setup() { IR.enableIRIn(); // pentru a controla componentele setez pinii placutei ca output pinMode(bec, OUTPUT); pinMode(moto1, OUTPUT); pinMode(moto2, OUTPUT); pinMode(moto11, OUTPUT); pinMode(moto22, OUTPUT); myservo.attach(9); Serial.begin(9600); } void loop() { if(IR.decode()) { // citesc informatia de la modul IR si in functie de comanda, fac o actiune Serial.println(IR.decodedIRData.decodedRawData,HEX); if(IR.decodedIRData.decodedRawData == 0xEA15FF00) { // aprind bec digitalWrite(bec, HIGH); } if(IR.decodedIRData.decodedRawData == 0xF807FF00) { // sting bec digitalWrite(bec, LOW); } if(IR.decodedIRData.decodedRawData == 0xE718FF00) { // merg fata digitalWrite(moto1, HIGH); digitalWrite(moto2, LOW); digitalWrite(moto11, LOW); digitalWrite(moto22, HIGH); } if(IR.decodedIRData.decodedRawData == 0xAD52FF00) { //merg spate digitalWrite(moto1, LOW); digitalWrite(moto2, HIGH); digitalWrite(moto11, HIGH); digitalWrite(moto22, LOW); } if(IR.decodedIRData.decodedRawData == 0xE31CFF00) { //opresc tot digitalWrite(moto1, LOW); digitalWrite(moto2, LOW); digitalWrite(moto11, LOW); digitalWrite(moto22, LOW); //readuc carma la pozitia de inainte myservo.write(90); } if(IR.decodedIRData.decodedRawData == 0xF708FF00) { // cotesc stanga myservo.write(25); } if(IR.decodedIRData.decodedRawData == 0xA55AFF00) { // cotesc dreapta myservo.write(145); } //delay la citirea comenzilor de la IR delay(1500); IR.resume(); } }
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.