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 | |||||||
 
                  
                              