Претражи овај блог

четвртак, 9. март 2017.

Ардуино

Ардуино је контролерска платформа која је довољно јефтина (нарочито клонови који су и преко 10 пута јефтинији од оригинала) да би могла да се користи и као едукативна играчка али и за неке озбиљне намене. Има више модела, али плочица садржи све што има један рачунар - меморију и процесор, аналогне улазе, дигиталне улазе и излазе као и излазе који имају могућност ширинске модулације.
Тако је омогућено управљање различитим актуаторима (мотори, соленоиди, релеји итд.) излазним уређајима (једноставни дисплеји, лампице итд) као и повезивање једноставних улазних уређаја као што су аналогни и дигитални сензори и тастери.
Сем основне плочице могу се набавити и многи додатни уређаји - сензори, адаптери за повезивање разних актуатора и сензора, дисплеји итд. Софтвер је слободан (отворен) тако да се може скинути и писати по вољи. Свака плочица има USB порт и простим повезивањем на персонални рачунар може се програмирати, тако да је микроконтролер постао лак за програмирање и јефтинији него икада до сада. 
Како сам добио два таква котролера, уно и Д1 мини, остаје само да проучим како пише програм (синтакса личи на уобичајене програмске језике) и да покушам да то употребим... Биће занимљиво подсетити се неких предмета са факултета који су били практични, као што су микропроцесорска и импулсна и дигитална електроника. Суштина је остала иста и после више од 20 година, само је вртоглаво порастао степен интеграције.

Eво програма који сам написао, а представља сат са волтметрима као показивачима сати, минута и секунди.

void setup() {
  }
void loop() {
  for(int h=1;h<=12;h++){
    analogWrite(11,h*21);
     for(int m=1;m<=60;m++){
      analogWrite(10,m*4);
       for(int s=1;s<=60;s++){
         analogWrite(9,s*4);
          delay(1000);
          }
     }
  }
}


13.3.2017.

Захваљујући Александру Крстићу, младом љубитељу програмирања, ево новог програма за сат који омогућава и подешавање сата помоћу два тастера повезана на контакте 7 и 13 (грубо и фино подешавање).

int inPin=13;
int inPin2=7;


void setup() {
  // put your setup code here, to run once:
 pinMode(inPin, INPUT_PULLUP);
 pinMode(inPin2, INPUT_PULLUP);
}

void loop() {

  for(int h=1;h<=12;h++){
    analogWrite(11,h*21);
     for(int m=1;m<=60;m++){
      analogWrite(10,m*4);
       for(int s=1;s<=60;s++){
         analogWrite(9,s*4);
          if(digitalRead(inPin)==LOW)delay(1); 
          else if(digitalRead(inPin2)==LOW)delay(10);
          else delay(1000);
          }
     }
  }

}







Напон мора да буде изнад 7 волти како би сат радио тачно. Када се батерија испразнила и напон пао испод 7 волти, сат је почео да касни. Изгледа да минимум који произвођач прописује (6 волти) ипак треба схватити условно.




2 коментара:

  1. Izvinjavam se ali ja ne vidim koliko je tu sati?
    I gde je tu kukavica da označi podne? Nije je valjda Đura izčupao? :)

    ОдговориИзбриши