Řezačka polystyrenu z merkuru (technika 2022) - Elektrická část - deska displeje

Seznam článků

Schéma zapojení desky displeje

Deska spojů pohledy

Foto osazené desky

Otestování desek na funkci

/*
 * TEST displeje desky X20
 * při zmáčknutí tlačítek se na displeji rozsvěcí různé znaky
*/

#define tlacitka_4  A0 // (nesep = 0V, nahoru = 4,2V, dolů = 3,6V, vlevo = 2,9V, vpravo = 5V)
#define tlac_1      15 //  A1 (0 = sepnuto, svítí LED "1")
#define tlac_0      16 //  A2 (0 = sepnuto, svítí LED "0")
#define disp_SER    A3 // (segmetnovka - SER 74HC959  data (pořadí segmentů QH-QA = A,B,H,C,D,E,G,F)
#define disp_RCK    A4 // (segmentovka - RCK 74HC959) latch
#define disp_SCK    A5 // (segmentovka - SCK 74HC959) clock

void setup(){
  pinMode(tlacitka_4, INPUT);
  pinMode(tlac_1, INPUT);
  pinMode(tlac_0, INPUT);
  pinMode(disp_SER, OUTPUT);
  pinMode(disp_RCK, OUTPUT);
  pinMode(disp_SCK, OUTPUT);
  digitalWrite(disp_SER, LOW);
  digitalWrite(disp_RCK, LOW);
  digitalWrite(disp_SCK, LOW);
}

void loop(){
  check_button();
}

void check_button(){
  int x;
  int y;
  int z;
  x = analogRead(tlacitka_4);
  y = digitalRead(tlac_0);
  z = digitalRead(tlac_1);
  
  if(x < 600 && x > 100){       // vlevo
      digitalWrite(disp_RCK, LOW); 
      shiftOut(disp_SER, disp_SCK, MSBFIRST, 254);     
      digitalWrite(disp_RCK, HIGH); 
  }
  else if(x > 1000){            // vpravo
      digitalWrite(disp_RCK, LOW); 
      shiftOut(disp_SER, disp_SCK, MSBFIRST, 191);     
      digitalWrite(disp_RCK, HIGH);      
  }
  else if(x < 950 && x > 800){  // vpřed    
      digitalWrite(disp_RCK, LOW); 
      shiftOut(disp_SER, disp_SCK, MSBFIRST, 127);     
      digitalWrite(disp_RCK, HIGH);        
  }
  else if(x < 800 && x > 600){  // vzad
      digitalWrite(disp_RCK, LOW); 
      shiftOut(disp_SER, disp_SCK, MSBFIRST, 253);     
      digitalWrite(disp_RCK, HIGH); 
  }
  else if(!y or !z){
     if(!y && z){               // stisk tlač "0"
      digitalWrite(disp_RCK, LOW); 
      shiftOut(disp_SER, disp_SCK, MSBFIRST, 34);     
      digitalWrite(disp_RCK, HIGH);    
     }
     if(!z && y){               // stisk tlač "1"
      digitalWrite(disp_RCK, LOW); 
      shiftOut(disp_SER, disp_SCK, MSBFIRST, 175);     
      digitalWrite(disp_RCK, HIGH);    
     }
  }
  else{
      digitalWrite(disp_RCK, LOW); 
      shiftOut(disp_SER, disp_SCK, MSBFIRST, 255);     
      digitalWrite(disp_RCK, HIGH);
  }
}

TEST - tlačítko 0

TEST - tlačítko 1

TEST - tlačítko vlevo

TEST - tlačítko vpravo

TEST - tlačítko nahoru

TEST - tlačítko dolů

Attachments:
Download this file (Test-desek.zip)Zdrojový program pro procesor - Arduino IDE[Testy desek]3 kB14 Downloads2022-03-23 12:59
Download this file (tmzd-2022-ovladani.pdf)manuál ovládání přes USB[ ]468 kB30 Downloads2022-01-14 08:35