Home » martie 2012
Girofar

           
         Componenta cea mai importanta a acestui girofar este numaratorul decadic 4017 care functioneaza pe baza unor impulsuri de tact.Aceste impulsuri sunt generate de catre integratul 555 care impreuna cu o rezistenta externa si un condensator extern poate fi folosit ca un monostabil sau astabil.Frecventa sau perioada impulsurilor de tact se poate modifica odata cu modificarea valorii rezistentei sau a condensatorului extern. 
        Pentru a ajusta frecventa impusrilor de tact, in locul rezistentei de 22Kohmi se poate pune un potentiometru reglabil(10Mohmi) sau condensatorul de 2.2uF poate fi inlocuit cu unul reglabil.
       Deoarece integratele sunt realizate in tehnologie CMOS,tensiunea de alimentare a acestora este cuprinsa intre 3V-16V.


       Schema electronica pe care am folosit-o este cea alaturata:


Jocuri de lumini pe 10 leduri

      Acest proiect necesita urmatoarele componente HARDWARE:

-arduino board;
-10 leduri;
-optional -10 rezistente cu valori cuprinse intre 100 ohmi si 200 ohmi;


Descrierea schemei :
-anodul LED-urilor(terminalul pozitiv) se conecteaza (printr-o rezistenta),pe rand,la unul din pinii digitali 2-11,ca in figura de mai sus;
-catodul(teminalul negativ) se conecteaza la masa(GND);
Codul Sursa:

const int lsPin=2;
const int msPin=11;
int i,val,k=0,jum=0;

void setup(){
for(i=lsPin;i<=msPin;i++){
pinMode(i,OUTPUT);
}
}
  void loop(){
    if((k==0)||(k==1)){
for(i=lsPin;i<=msPin;i++){
for(val=0;val<=255;val++){
  analogWrite(i,val);
delay(5);
}
for(val=255;val>=0;val--){
  analogWrite(i,val);
delay(5);
}
delay(20);
}
k++;
}
if(k==2){
  for(k=2;k<8;k++){
for(i=lsPin;i<=msPin;i++){
digitalWrite(i,HIGH);
delay(20);
digitalWrite(i,LOW);
}
delay(50);
}
}
if(k==8){
  for(k=8;k<14;k++){
    jum=msPin/2+1;
for(i=lsPin;i<=jum;i++){
digitalWrite(i,HIGH);
digitalWrite(msPin+2-i,HIGH);
delay(150);
digitalWrite(i,LOW);
digitalWrite(msPin+2-i,LOW);
delay(150);
}
delay(200);
}
}
if(k==14){
  for(k=14;k<20;k++){
for(i=jum;i>=0;i--){
digitalWrite(i,HIGH);
digitalWrite(msPin+2-i,HIGH);
delay(150);
digitalWrite(i,LOW);
digitalWrite(msPin+2-i,LOW);
delay(150);
}}
delay(200);
}
if(k==20){
for(k=20;k<26;k++){
  for(i=msPin;i>=lsPin;i--){
  digitalWrite(i,HIGH);
  delay(20);
  digitalWrite(i,LOW);
  delay(20);
  }
  delay(50);
}
}
if(k==26){
  for(k=26;k<28;k++){
for(i=msPin;i>=lsPin;i--){
for(val=0;val<=255;val++){
analogWrite(i,val);
delay(5);
}
for(val=255;val>=0;val--){
analogWrite(i,val);
delay(5);}
delay(20);
}
}
k=0;
}

}