CalliCross ist eine Verkehrssimulation in Form einer Ampelkreuzung. Sie findet Platz auf einer 10x10cm großen bestückten Platine. Gegenüberliegende Ampeln sind parallelgeschaltet. Aufgrund der Übersichtlichkeit gibt es nur 2 Fußgängerampeln. Vor zwei Ampeln könne Autos (die mit einem Magnet bestückt sind) von einem Hallsensor erfasst werden. Für die Fußgängerampel gibt es zwei Taster und wenn es dunkel wird kann man 2 Straßenlampen leuchten lassen. Und das geht zum Preis für unter 10€. Anschließen kann man CalliCross an einen Calliope mini, microbit, Arduino...
Erweiterung in MakeCode für AnfängerFür MakeCode (calliope mini / micro:bit) gibt es eine tolle Erweiterung: https://github.com/MKleinSB/pxt-callicross
Nehmen wir an, es ist Tag und die Ampelkreuzung läuft ganz normal, nur wenn es dunkel wird sollen die Lampen angehen. Dann könnte ein Programm wie folgt aussehen: (Programmlink)
In der Nacht blinken die Autoampeln orange und die Fußgängerampeln sind rot. Auf Anforderung werden sie grün geschaltet. (Programmlink)
Es ist geschickter, wenn man Variablen verwendet um abzuspeichern, ob ein Knopf gedrückt wurde und die Knöpfe dann entweder über die Eventhandlerblöcke oder in einer zweiten Dauerhaftschleife abfragt. In der Dauerhaftschleife der Ampel werden die Knöpfe durch die Pausen nur alle 2 Sekunden kurz abgefragt und da muss man dann genau den Punkt erwischen, wenn die Ampeln beide eine halbe Sekunde aus waren.
Beispiel 3 - AutoerkennungEinen Ort weiter in Frankreich gibt es zur Verkehrsberuhigung Ampeln auf Dauerrot, die erst auf Grün schalten, wenn sich ein Auto mit <= 30km/h nähert. (benötigt natürlich für den Sensor C1 und C2 einen Magneten)
Die Straßen sind zugegebenermaßen mit 1 cm recht schmal. Trotzdem kann man Autos aus Pappe oder mit dem 3D-Drucker verwenden. Eine schöne passende Vorlage ist hier zu finden. Möchte man die Hall-Sensoren auslösen, muss noch ein Magnet aufgeklebt werden. Z.B. die schönen flachen Neodymmagnete von einem alten FoldIO-Set.
2018 habe ich auch einmal ein paar Ampeln für den Anschluss an die Pins des Calliope mini mit Krokoklemmen entworfen. Das Projekt gibt es hier: https://www.hackster.io/MKlein/calliopampel-ampel-fur-den-calliope-mini-e90ea7
Für die Autoerkennung sind die Prototypen mit dem SS443A bestückt und funktionieren nur, wenn ein Südpol senkrecht auf ihnen steht, in der endgültigen Version werden omnipolare Sensoren verwendet, die auf jedes Magnetfeld reagieren. Ampeln, Taster, Sensoren und Lampen werden von einem I2C MCP23017 Portexpander gesteuert. Leider hat die SMD-Version elend lange Lieferzeiten beim Bestücker, sodass man den MCP 23017-E/SP per Hand einlöten muss. Die Adresse für den MCP23017 ist 0x20. Die Portbelegung kann man der nachfolgenden Tabelle entnehmen.
Für die Hartgesottenen gibt es 2 Erweiterungen mit Basisfunktionen in MakeCode. Weitere Informationen in diesem Projekt https://www.hackster.io/MKlein/16-digitale-ein-ausgange-am-calliope-mini-custom-blocks-cd1e9e
- Für die Arbeit mit Bits und Bitverknüpfungen: mkleinsb/pxt-mcp23017v1
- Für bequemes Ansprechen über Portnamen: mkleinsb/pxt-mcp23017
Ich habe oft noch Platinen rumliegen oder kann euch auf Wunsch welche bestellen. Jedoch mache ich das als Hobby und stelle keine Rechnungen aus. Den Stress tue ich mir nicht an. Die Preise variieren, da ich manchmal mehrere Sachen bestelle, da wird es dann billiger. Zur Zeit schwanken die Preise für die Bauteile stark, seit Januar vom doppelten bis zum zwanzigfachen. Wenn man sie überhaupt bekommt.
Ihr könnt euch aber die Platinen auch selbst herstellen lassen, alle Dateien gibt es hier weiter unten zum runterladen unter CC-BY-SA Lizenz. Wie man das macht steht ganz ausführlich bei diesem Projekt: Callimatrix 5x5.
Im Bestellverlauf nach dem Hochladen der BOM und PNP-Dateien sollte er 11 verschiedene Teile finden. Die Anzahl bezieht sich auf 5 Boards. Manchmal werden mehr bestellt und man muss mehr bezahlen, weil eine bestimmte Mindestzahl an Bauteilen in den Feeder der Maschinen eingefüllt werden muss. Bei Fragen einfach bei mir melden!
Nicht von den beiden Warnungen irritieren lassen:
So sollte das Bild bei „Corrected Part Placement“ aussehen. Wenn U0 nicht lieferbar ist macht es nichts, man kann auch einfach eine normale Grovebuchse (senkrecht oder abgewinkelt) einlöten. Die Löcher dafür sind schon unter U0 vorhanden.










Comments