Schlagwort-Archiv: Library

KC85/3 mit Arduino verbinden

Um den Arduino mit KC85/3 zu verbinden, benötigt man das Modul M003 oder das Modul M053. Leider hat das Modul M003 kein TTL. Modul M053 hat am Kanal 2 TTL. Es gibt eine Möglichkeit, das Modul M003 zum M053 mit TTL-Pegel am Kanal 2 umbauen. Kanal 1 kann weiterhin V.24 genutzt werden. Wichtig ist, dass ihr beim Anschluss euch nicht irrt! Dies würde euer Modul beschädigen. Also wenn ihr bastelt und es geht was kaputt, übernehme ich keine Haftung!

Unterschiede beim TTL RS232 / Echter RS232:

Die Unterschiede zwischen einer TTL RS232- und einer RS232-Schnittstelle liegen ausschließlich in der Übertragung von Daten. Diese Daten werden als elektrisches Blocksignal gesendet, das eine Folge von logischen Nullen und Einsern darstellt.
Für ein TTL wäre eine Null idealerweise 0 Volt und eine 1 wäre idealerweise 5 Volt. Die Empfangsvorrichtung muss daher entscheiden, ob ein Signal zu einem bestimmten Zeitpunkt 0 oder 5 Volt betragen soll, um zu erkennen, ob es sich um eine binäre 0 oder eine binäre 1 handelt. Für RS232 wird die 0 durch ideal -12 Volt und eine 1 durch ideal +12 Volt dargestellt. Hier hat es die Empfangsvorrichtung etwas einfacher, da die Differenz zwischen -12 und +12 Volt beträgt.

TTL-Signale werden gegenüber RS232 invertiert. Also 0 wird zur 1 und 1 zu 0. Invertiertes UART (Universal Asynchronous Receiver Transmitter) Signal deutet also auf Pegelwandler wie MAX232 hin. Wenn man also TTL und recht RS232 verbindet, würden falsche ASCII Zeichen/Daten ausgegeben werden. Und wie oben schon beschreiben, die 5V/12V Unterschiede würden auch die TTL Geräte beschädigen!

Mit Arduino ist auch kein V.24 möglich, da Arduino keinen Hardware Flow Control RTS, CTS, DTR hat. Wenn man nun die Software „V.24ALLGEM“ laden würde, würde das Programm solange warten, bis der Arduino sagt, dass er bereit fürs Empfangen ist. Da der Arduino das nicht kann, passiert also auch nichts mehr. Deshalb ist das einfachste TTL zu nutzen.

Mit Arduino hat man mehrere Möglichkeiten. Hardware Serial und Software Serial.
Für Software gibt es die Originale SoftwareSerial Library. Ich bevorzuge aber lieber Hardware, deshalb gehe ich hier nicht weiter auf die Software Library ein.

Am Arduino Mega gibt mehrer TX/RX Anschlüsse. Von Tx 0 und Rx 0 sollte man die Finger lassen. Da hier die USB Verbindung läuft und man sonst keine Verbindung mehr hinbekommt.

Das passende Kabel habe ich schon hier beschrieben:

KC85/3 verbindung mit PC über V.24 Modul M003

Das Kabel wird dort am V.24 zum PC verbunden, aber das ist egal. TX/RX/GND sind am gleichen PIN und Hardware Flow Control gibt es beim TTL nicht. Somit muss nur TX, RX und GND am Kabel gelötet werden. Da ich aber beides mache, nehme ich das Kabel für V.24 und TTL her.

Countdown mit 7-Segment LED Display und Alarm (Arduino)

Ich habe hier ein 7 Segment Display (XH-8401ARW) aus einem defekten Gerät ausgelötet und mal getestet. Aktuell läuft jede Millisekunde der Counter runter, bis der Counter 0 ist und dann gibt es einen Piepston von sich. Man kann natürlich auch eine LED, Motor, Stepper,… auslösen. Das Ganze geht natürlich auch mit anderen 7-Segment LED Displays. Vielleicht kann das ja mal jemand für sein Projekt gebrauchen ;).

1 x Arduino
4 x 1 KOhm Widerstand
1 x Buzzer
1 x 7-Segment LED Display

 

XH-8401ARW 7 Segment Display

Für den Code benötigt man „SevenSeg“ Library.

#include "SevSeg.h" //include Seven Seg. Library
SevSeg sevseg; //init Segment-object

int buzzerPin = A0; //pin for Sound
bool alarm = false;
int number=9999; //Counter value 1-9999

void setup()
{
byte numDigits = 4; //number of digits
byte digitPins[] = {2, 3, 4, 5}; //digit pins
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13}; //Pins Segment
sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins);
sevseg.setBrightness(90);
}

void loop()
{
static unsigned long timer = millis();
static int deciSeconds = 0;

if (millis() – timer >= 100) {
timer += 100;
deciSeconds++; // 100 milliSeconds is equal to 1 deciSecond
if(number>0){
number–;
}
if (deciSeconds == 10000) { // Reset to 0 after counting for 1000 seconds.
deciSeconds=0;
}
sevseg.setNumber(number, 4);
}

if(number==0 && alarm==false){
tone(buzzerPin, 1000, 2500);
alarm=true;
}

sevseg.refreshDisplay(); // Must run repeatedly

}

Ich übernehme natürlich keine Verantwortung für irgendwelche Schäden. Alles auf eigene Gefahr.
Code kann auch als ZIP runtergeladen werden.

7Seg-anzeige

Fehler beim Login „Unsichere Startobjekte deaktiviert“

Nach der Anmeldung wird die Meldung „Ordner mit unsicheren Startobjekten“ angezeigt.

Unsichere Startobjekte

 

Bei Mac OS X 10.6 oder neuer, Terminal öffnen und folgende Befehle ausführen:

sudo chown -R root:wheel /Library/StartupItems
sudo chmod -R 0755 /Library/StartupItems

Rechner danach neustarten.

Mac OS X Lion Tastatur wird beim Einrichten nicht gefunden

Nach einer USB-Stick-Neuinstallation von Mac OS X Lion, wurde meine Tastatur nicht erkannt, hat aber während der Installation  funktioniert.
So habe ich Lion wieder vom Stick gestartet, Eingabequelle auf Deutsch umgestellt und Terminal gestartet.

Nun muss man vom Terminal aus die Geräteerkennung abschalten.

cd /Volumes/dein LION/System/Library/CoreServices/Setup Assistant.app/Contents
vi Info.plist

Hier müssen ziemlich am Schluss 2 Zeilen entfernt werden.

<string>DeviceSection</string>
<string>KeyboardTypeSection</string>

Danach wieder die richtige Lion-Partition booten und schon sollte es keine Probleme mehr geben.

Library-Ordner für Benutzer unter Mac OS X 10.7 sichtbar machen

In Mac OS X 10.7 „Lion“ ist der Library-Ordner im Benutzerverzeichnis standardmäßig versteckt.Dies war bei den Vorgängern von Mac OS X nicht der Fall.

Wofür braucht man diesen Ordner überhaupt?
Es gibt Applikationen, die benutzerbedingt Informationen speichern. Wie  zum Beispiel Cyberduck. Hier werden alle Lesezeichen im Verzeichnis
~/Library/Application Support/Cyberduck/ gespeichert.
Das Tilde-Zeichen steht für den aktuellen Benutzer, nicht zu verwechseln mit dem Verzeichnis: /System/Library !

Was bringt mir das Ganze? Im Haushalt ist meistens mehr als ein Rechner vorhanden. Nehmen wir an, ich hätte viele FTP-Lesezeichen in Cyberduck auf meinem iMac. Nun müsste ich alle auf meinen neuen Laptop übertragen, weil es keine Exportfunktion für Lesezeichen gibt.
Das dauert eine ganze Weile! Es wäre also besser, wenn man diese Importieren könnte. Dazu kopiert man /Users/xxx/Library/Application Support/Cyberduck/ auf einen USB-Stick oder eine externe Festplatte. Nun kopiert man die Dateien vom Datenträger auf seinen Laptop in /Users/xxx/Library/Application Support/Cyberduck/

Startet man Cyberducks, sollten alle Lesezeichen da sein. Passwörter muss man aber wieder neu eingeben, weil diese in der Schlüsselbundverwaltung gespeichert werden.

Und wie mach ich es jetzt sichtbar? Das Launchpad-Dienstprogramme-Terminal öffnen und dort den Befehl: „chflags nohidden ~/Library“ eingeben (ohne Anführungszeichen). Anschließend ist der Library-Ordner sichtbar. Der Befehl „chflags hidden ~/Library“ macht den Ordner wieder unsichtbar.
Alternativ kann man dies auch über den Finder machen. Mit gedrückter ALT-Taste auf das Finder-Menü „Gehe zu“ klicken und dort „Library“ auswählen, worauf nun der Library-Ordner angezeigt wird.