duminică, 9 octombrie 2011

Aprindere afisaj LED 7 segmente prin introducere de la tastatura din SERIAL MONITOR a nr 0 la 9


Platforma de dezvoltare folosita este Arduino Uno.
Codul permite sa aprinzi un afisaj LED 7 segmente prin introducere de la tastatura din SERIAL MONITOR a nr 0 la 9 si eventual litere.
Mai multe informatii despre codul ASCII aici: http://www.ascii-code.com/

Cod:
//aprindere afisaj LED 7 segmente prin introducere de la tastatura din SERIAL MONITOR a nr 0 la 9 *Adi Ivan*

int incomingByte = 0;     //pentru intrare serial data

void setup() {
                Serial.begin(9600);         // deschidere port serial si setare rata de transfer a datelor la 9600 bps

//seteaza iesirile
  pinMode(2, OUTPUT); 
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);

//stinge afisajul
 digitalWrite(2, 1);
 digitalWrite(3, 1);
 digitalWrite(4, 1);
 digitalWrite(5, 1);
 digitalWrite(6, 1);
 digitalWrite(7, 1);
 digitalWrite(8, 1);
 digitalWrite(9, 1);
}

void loop()
{
                // trimite date doar cand primeste date de la tastatura:
                if (Serial.available() > 0) {
                // citeste numarul introdus de la tastatura:
                incomingByte = Serial.read();

                // afiseaza in Serial Monitor numarul introdus:
                Serial.print("S-a tastat: ");
                Serial.println(incomingByte - 48, DEC); //S-a scazut 48 pentru a afisa in Serial Monitor exact numarul tastat (a se vedea codul ASCII)
}

if(incomingByte==48)  //afisare 0. (0=48 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 0);
 digitalWrite(6, 0);
 digitalWrite(7, 0);
 digitalWrite(8, 1);
}

if(incomingByte==49)  // afisare 1. (1=49 in cod ASCII)
{
 digitalWrite(2, 1);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 1);
 digitalWrite(6, 1);
 digitalWrite(7, 1);
 digitalWrite(8, 1);
}

if(incomingByte==50)  // afisare 2. (2=50 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 0);
 digitalWrite(4, 1);
 digitalWrite(5, 0);
 digitalWrite(6, 0);
 digitalWrite(7, 1);
 digitalWrite(8, 0);
}

if(incomingByte==51)  // afisare 3. (3=51 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 0);
 digitalWrite(6, 1);
 digitalWrite(7, 1);
 digitalWrite(8, 0);
}

if(incomingByte==52)  // afisare 4. (4=52 in cod ASCII)
{
 digitalWrite(2, 1);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 1);
 digitalWrite(6, 1);
 digitalWrite(7, 0);
 digitalWrite(8, 0);
}

if(incomingByte==53)  // afisare 5. (5=53 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 1);
 digitalWrite(4, 0);
 digitalWrite(5, 0);
 digitalWrite(6, 1);
 digitalWrite(7, 0);
 digitalWrite(8, 0);
}

if(incomingByte==54)  // afisare 6. (6=54 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 1);
 digitalWrite(4, 0);
 digitalWrite(5, 0);
 digitalWrite(6, 0);
 digitalWrite(7, 0);
 digitalWrite(8, 0);
}

if(incomingByte==55)  // afisare 7. (7=55 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 1);
 digitalWrite(6, 1);
 digitalWrite(7, 1);
 digitalWrite(8, 1);
}

if(incomingByte==56)  // afisare 8. (8=56 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 0);
 digitalWrite(6, 0);
 digitalWrite(7, 0);
 digitalWrite(8, 0);
}

if(incomingByte==57)  // afisare 9. (9=57 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 0);
 digitalWrite(6, 1);
 digitalWrite(7, 0);
 digitalWrite(8, 0);
}

if(incomingByte==46)  //aprinde punctul. (.=46 in cod ASCII)
{
 digitalWrite(9, 0);
}

if(incomingByte==65)  // afisare A. (A=65 in cod ASCII)
{
 digitalWrite(2, 0);
 digitalWrite(3, 0);
 digitalWrite(4, 0);
 digitalWrite(5, 1);
 digitalWrite(6, 0);
 digitalWrite(7, 0);
 digitalWrite(8, 0);
}

if(incomingByte==32)  //stinge afisajul. (tasta Space=32 in cod ASCII)
{
 digitalWrite(2, 1);
 digitalWrite(3, 1);
 digitalWrite(4, 1);
 digitalWrite(5, 1);
 digitalWrite(6, 1);
 digitalWrite(7, 1);
 digitalWrite(8, 1);
 digitalWrite(9, 1);
}

}

luni, 19 septembrie 2011

Aprindere si stingere LED - Pin 13 prin introducere de la tastatura din SERIAL MONITOR a nr 1 si 0

Platforma de dezvoltare folosita este Arduino Uno.
Codul permite sa stingi si sa aprinzi LED ul de pe pinul 13 al placii de dezvoltare prin tastare in Serial Monitor a numerelor 1 si 0.

Cod:
//aprindere si stingere LED (Pin 13) prin introducere de la tastatura din SERIAL MONITOR a nr 0 si 1 *Adi Ivan*
int incomingByte = 0; //pentru intrare serial data
void setup() {
     Serial.begin(9600); // deschidere port serial si setare rata de transfer a datelor la 9600 bps
//seteaza iesirea
  pinMode(13, OUTPUT);
}
void loop() {
 // trimite date doar cand primeste date de la tastatura:
 if (Serial.available() > 0) {
 // citeste numarul introdus de la tastatura:
 incomingByte = Serial.read();
 // afiseaza in Serial Monitor numarul introdus:
 Serial.print("S-a tastat: ");
 Serial.println(incomingByte - 48, DEC); //S-a scazut 48 pentru a afisa in Serial Monitor exact numarul
tastat (a se vedea codul ASCII)
 }
if(incomingByte==48)  //stinge LED-ul conectat la pinul 13. (0=48 in cod ASCII)
{
 digitalWrite(13, LOW);
 }
if(incomingByte==49)  //aprinde LED-ul conectat la pinul 13. (1=49 in cod ASCII)
{
 digitalWrite(13, HIGH);
 }
}
***
Mai multe informatii despre codul ASCII aici: http://www.ascii-code.com/

sâmbătă, 30 iulie 2011

Efecte 5x7 matrix V2


Platforma de dezvoltare folosita este Arduino Uno.
Matricea LED 5x7 este de tipul kingbright TA07-11GWA Green

Codul poate fi pus la dispozitie in anumite conditii pentru cei interesati: adi_379@yahoo.com

Efecte 5x7 matrix V1

Platforma de dezvoltare folosita este Arduino Uno.
Matricea LED 5x7 este de tipul kingbright TA07-11GWA Green

Codul poate fi pus la dispozitie in anumite conditii pentru cei interesati: adi_379@yahoo.com

luni, 18 iulie 2011

Telecomanda 5x7 LED matrix V1

Platforma de dezvoltare folosita este Arduino Uno.
Senzorul IR folosit este recuperat de la un modulator FM auto cu telecomanda. Poate fi utilizata orice telecomanda modificand codul corespunzator butoanelor. Matricea LED 5x7 este de tipul kingbright TA07-11GWA Green

   
Codul poate fi pus la dispozitie in anumite conditii pentru cei interesati: adi_379@yahoo.com

Sharp GP2Y0A21YK Infrared Proximity Sensor. Test distanta cu LED RGB

Platforma de dezvoltare folosita este Arduino Uno.
Este primul pas in realizarea unui robot care ia decizia de a schimba directia de mers in functie de obstacolele intalnite.

Codul poate fi pus la dispozitie in anumite conditii pentru cei interesati: adi_379@yahoo.com

Telecomanda afisaj LED 7 segmente cu decodorul BCD - CDB 446

   
Platforma de dezvoltare folosita este Arduino Uno.
Senzorul IR folosit este recuperat de la un modulator FM auto cu telecomanda. Poate fi utilizata orice telecomanda modificand codul corespunzator butoanelor. Afisajul LED cu anod comun si circuitul integrat decodor BCD 7 segmente CDB 446 este produs de IPRS Baneasa. Montajul face in esenta acelasi lucru ca si cel precedent dar prin folosirea circuitului CDB 446 s-a redus numarul de fire. 

Codul poate fi pus la dispozitie in anumite conditii pentru cei interesati: adi_379@yahoo.com

Telecomanda afisaj LED 7 segmente ANOD COMUN

      



Platforma de dezvoltare folosita este Arduino Uno.
Senzorul IR folosit este recuperat de la un modulator FM auto cu telecomanda. Poate fi utilizata orice telecomanda modificand codul corespunzator butoanelor. Afisajul LED cu anod comun este produs de IPRS Baneasa dar se poate folosi la fel de bine orice alt afisaj LED.

Codul poate fi pus la dispozitie in anumite conditii pentru cei interesati: adi_379@yahoo.com

Comanda LED RGB cu ajutorul unei telecomenzi

Platforma de dezvoltare folosita este Arduino Uno.
Senzorul IR folosit este recuperat de la un modulator FM auto cu telecomanda. Poate fi utilizata orice telecomanda modificand codul corespunzator butoanelor.

Codul poate fi pus la dispozitie in anumite conditii pentru cei interesati: adi_379@yahoo.com