Přípravek 3 LED 2 tlačítka ATTINY85

Pro výuku programování ZŠ vznikl tento přípravek, kde lze ovládat 3 LED (semafor) pomocí 2 tlačítek. Program do procesoru ATTINY 85 se nahrává pomocí ICSP programátoru (konektor 2x5 pinů). Ukázkové programy pro ovládání jsou uvedeny níže (ovládání LED, načtení tlačítek).

Donate

  • Data pro stroj (Eagle, Gerber, CAM)

Schéma zapojení

Deska spojů

Foto desky

 

Ukázkové programy

  • Semafor 3LED s pomocí delay()
#define red 0
#define yel 2
#define grn 1
#define s1  3
#define s2  4

void setup() {
  pinMode(red, OUTPUT);
  pinMode(yel, OUTPUT);
  pinMode(grn, OUTPUT);
}

void loop() {
  digitalWrite(red,HIGH);
  delay(5000);
  digitalWrite(yel,HIGH);
  delay(2000);
  digitalWrite(grn,HIGH);
  digitalWrite(yel,LOW);
  digitalWrite(red,LOW);
  delay(5000);
  digitalWrite(yel,HIGH);
  digitalWrite(grn,LOW);
  delay(2000);
  digitalWrite(yel,LOW);
}
  • Načtení tlačítek a ovládání LED
#define red 0
#define yel 2
#define grn 1
#define s1  3
#define s2  4

void setup() {
  pinMode(red, OUTPUT);
  pinMode(yel, OUTPUT);
  pinMode(grn, OUTPUT);
  pinMode(s1, INPUT_PULLUP);
  pinMode(s2, INPUT_PULLUP);
}

void loop() {
  if(digitalRead(s1)==LOW) digitalWrite(red,HIGH);
  else digitalWrite(red,LOW);

  if(digitalRead(s2)==LOW) digitalWrite(yel,HIGH);
  else digitalWrite(yel,LOW);
}
  • Ovládání LED pomocí manipulace s portem
// https://www.arduino.cc/en/Reference/PortManipulation

void setup() {
  //       43210
  DDRB  = B00111;   // rezim pinu 0 = vstup, 1 = vystup 
  PORTB = B00000;   // nastaveni vystupu 0 = vyp (log. 0), 1 = zap (log. 1)
}

void loop() {
  PORTB = B00001; // zapne rudou
  delay(1000);    // ceka 1 s
  PORTB = B00100; // zapne zlutou a vypne rudou
  delay(1000);    // ceka 1 s
  PORTB = B00010; // zapne zelenou a vypne zlutou
  delay(1000);    // ceka 1 s
}

 

Zadání pouzder pro návrh spoje (Eagle)

Part     Value          Device                          Package                  Library             Sheet
               
C1       100n           C-EUC1206                       C1206                    rcl                 1  
GND                     SMD2                            SMD1,27-2,54             wirepad             1  
IC1      TINY85         TINY22S                         SOIC8                    atmel               1  
J1       SPI            AVR_SPI_PROG_5X2LOCK            2X5-SHROUDED_LOCK        SparkFun-Connectors 1
LED1                    LEDCHIPLED_1206                 CHIPLED_1206             led                 1
LED2                    LEDCHIPLED_1206                 CHIPLED_1206             led                 1
LED3                    LEDCHIPLED_1206                 CHIPLED_1206             led                 1
R1       10k            R-EU_R1206                      R1206                    rcl                 1  
R2       680            R-EU_R1206                      R1206                    rcl                 1  
R3       680            R-EU_R1206                      R1206                    rcl                 1  
R4       680            R-EU_R1206                      R1206                    rcl                 1  
S1                      MOMENTARY-SWITCH-SPST-SMD-5.2MM TACTILE_SWITCH_SMD_5.2MM SparkFun-Switches   1
S2                      MOMENTARY-SWITCH-SPST-SMD-5.2MM TACTILE_SWITCH_SMD_5.2MM SparkFun-Switches   1
VCC                     SMD2                            SMD1,27-2,54             wirepad             1  

 

Attachments:
Download this file (Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf)ATTINY 85[Katalogový list]3757 kB138 Downloads2019-09-25 07:53