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 |