Kabel von Roket nach Tastaturbox und Relaisbox

Rot   Plus :  zur Keyboard Box auf Klemme B  8
Blau  Minus:  zur Keyboard Box auf Klemme      7
Gelb       :  zur Relaisbox  auf Ausgang 1 J2
Weiß       :  zur Relaisbox  auf Ausgang 1 

Relaisbox

Klemme 1 und 2 liefern 5V
Jeweils Links (JX) ist Plus, rechts daneben GND

Restliche Klemmen sind einfach offen auf dem Relais

Ansteuerung: Seriell 9600 8N1
jeweils ein Zeichen senden. Großbuchstaben A-H schalten Relais an, Kleinbuchstaben a-h wiederum aus

A -> Relais 1 an
a -> Relais 1 aus
Ausgang Funktion Nummer im Code
1 5V an Optokoppler für r0ket 0
2 5V frei 1
3 Kontakt Lampe an Button 2
4 3
5 4
6 5
7 Unterbrechungskontakt für Kreis 3 6
8 Unterbrechungskontakt für Lichtschranke 7

KeyboardBox

Klemme Buchstabe Nutzen
1 3,3V
2 GND
3 D
4 GND
5 C
6 GND
7 B r0ket Kontakt rote Ader
8 GND blaue Ader
9 E blauer Button
10 GND
11 F Lichtschranke (über Relaiskarte Ausgang 8)
12 GND
13 G Kreis 1 weiße Ader
14 GND
15 H Kreis 2 weiße Ader
16 GND
17 I Kreis 3 (über Relaiskarte Ausgang 7) weiß auf Lüsterklemme, Relaiskarte, dann auf die Klemme
18 GND
19 J
20 GND
21 K
22 GND
23 5V die roten Adern der Kreisleitungen
24 GND die schwarzen Adern der Kreisleitungen

Code für den AVR der den PC Speaker als Piepser macht

Transistor BD137 an PortD0 anklemmen. Ein Kontakt an 5V, den anderen an den Kollektor vom Transistor. Basisvorwiderstand ~560Ohm

avr-gcc -c -mmcu=atmega644 -I. -Os -Wall -std=gnu99 -DF_CPU=16000000 main.c -o main.o 
avr-gcc -mmcu=atmega644 -I. -Os -Wall -std=gnu99 -DF_CPU=16000000 main.o --output main.elf -lm
avr-objcopy -O ihex -R .eeprom main.elf main.hex
#include <avr/io.h>
#include <util/delay.h>
 
void beep() {
    uint16_t i;
    for(i=0;i<0x4ff;i++) {
        PORTD ^= 0x01;
        _delay_us(200);
    }
}
 
int main(void) {
    DDRD |= _BV(PD0);
    uint8_t i = 0;
    for(;;) {
        for(i=0;i<50;i++) {
            _delay_ms(20);
        }
        beep();
    }
    return 0;
}
  • Zuletzt geändert: 11.07.2016 23:18
  • (Externe Bearbeitung)