Abbildung 1:


Abbildung 2:


Abbildung 3:


Abbildung 4:


Abbildung 5:

Projekt "AOR - Automatic Object Recognition"

Mittels einer CMOS Kamera können Objekte automatisch erkannt und verfolgt werden.

Basis für dieses Projekt ist, neben der Kamera mit OV7670 Chip, ein ATMEGA32 und ein ili9325 TFT Display.
Die Komponenten sind auf einer Platine fertig bestückt im Handel erhältlich

Das Projekt teilt sich auf folgenden Phasen auf:

Phase 1: Erweiterung des vorhandenen Softwareumfangs um Funktionen zur Pixelverarbeitung und Objekterkennung.

Phase 2: Prototyping mit Einzelbildern und Validierung über TFT.

Phase 3: Umsetzung des entwickelten Umfangs auf bewegte Bilder und Anzeige der Objektverfolgung über TFT. 

Unter Abbildung 5 gibt es eine Dokumentation

µC-Quellcode Pixelverarbeitung:

µC-Quellcode Objekterkennung:

 


 

 


Abbildung 1:


Abbildung 2:


Abbildung 3:


Abbildung 4:


Abbildung 5:

Projekt "NETwet - Funk-Wetterstation mit Internetübertragung"

Über einen Internet-Browser lässt sich auf Temperatur/Feuchtedaten zugreifen.

Basis für dieses Projekt ist ein eigenentwickelter Webserver mit einem ATMEGA32 und einem ENC28J60 Baustein.
Die Sensordaten der Temperatur und Feuchte werden per Funk an den Webserver übermittelt, somit ist die Erfassung der Daten flexibel und mobil.

Die Umweltdaten können über ein Display auch direkt an dem Funksender ("Station") angezeigt werden.

Das Projekt teilt sich auf folgenden Phasen auf:

Phase 1: Aufbau des Funksenders inklusive Sensor/Messerfassung in einem eigenen Gehäuse (Betrieb über 9V Block).

Phase 2: Erweiterung der Basisfunktionen des Webservers um den Empfang der Sensordaten über Funk.

Phase 3: Umsetzung einer Informationsdarstellung der Sensordaten für den WEB-Browser.

Unter Abbildung 5 gibt es eine Dokumentation

µC-Quellcode NETwet base:

µC-Quellcode NETwet station:

 

 

 


Abbildung 1:


Abbildung 2:


Abbildung 3:


Abbildung 4:


Abbildung 5:

Projekt "NETwork - Webserver mit Kamera und Sensoren"

Über einen Internet-Browser lässt sich auf eine Kamera zugreifen.

Basis für dieses Projekt ist ein eigenentwickelter Webserver mit einem ATMEGA32 und einem ENC28J60 Baustein. Die Kamera kommuniziert direkt mit dem RISC und die Bilder werden über das Internet an den aufrufenden Browser gesendet. Zusätzlich werden Sensordaten über den Browser angezeigt.

Das Projekt teilt sich auf folgenden Phasen auf:

Phase 1: Konzeption und Aufbau des Webservers mit Schnittstelle für ein Midas I²C LCD Display. Erweiterung der Basisfunktionen um einen Temperatursensor und eine MCA-25 Kamera.

Phase 2: Umsetzung einer Steueroberfläche für die Anzeige des Kamerabildes und der Sensordaten über einen WEB-Browser.

Unter Abbildung 5 gibt es eine Dokumentation

µC-Quellcode NETwork:

µC-Quellcode Midas LCD MCCOG21605D6W-BNMLWI:

 

 

 


Abbildung 1:


Abbildung 2:


Abbildung 3:


Abbildung 4:


Abbildung 5:

Projekt "NETbee - Steuerung eines Roboter über WEB"

Über einen Internet-Browser lässt sich ein fahrender Roboter fernsteuern.

Basis für dieses Projekt ist ein RISC von Microchip, welcher als WEB-Server für die TCP-Kommunikation und zum übertragen der Befehle für den Roboter dient. Die Übertragungen der Signale vom WEB-Server zum Roboter erfolgen über Funk. Der WEB-Server und der Funksender, sowie der Funkempfänger mit dem Roboter, kommunizieren mittels SPI und UART.

Der Roboter ist ein Kaufteil, die Kamera ist eine CMOS Mini Cam, welche über einen DC/DC Wandler mit der Bordversorgung versorgt wird. Der Funksender wird mit einem Atmel Evaluationboard und über ein ATA-Kabel angeschlossenes Funkmodul realisiert. Der Funkempfänger wird direkt auf dem Roboter platziert.
Das Projekt teilt sich auf folgenden Phasen auf:

Phase 1: Aufbau des fahrenden Roboters und Umsetzung der notwendigen Implementierungen einer Fernsteuerung. Erweiterung der Basisfunktionen um eine Hinderniserkennung und ein LCD Display TC1602E, welches über ein I²C Modul angesteuert wird.

Phase 2: Umsetzung einer Steueroberfläche für die Steuerung über einen WEB-Browser. Die Steuerbefehle für die einzelnen Fahrfunktionen werden über Button im WEB-Browser ausgewählt und an den WEB-Server übermittelt. Die Steuerbefehle werden als einzelne ASCII-Zeichen über die UART-Schnittstelle des WEB-Servers an den Funksender übertragen. Im Funksender wird aus den ASCII-Zeichen die Steuerbefehle und die Check-Summe generiert.

Phase 3: Verbinden der Komponenten Roboterfernsteuerung und WEB-Server über Funkmodule. Die Sende- und Empfangsmodule RFM12  übermitteln die im Browser eingegebenen Daten an den Roboter und vice versa. Mittels UART werden die Daten vom WEB-Server (Typ PIC18F67J60) über einen ATtiny2313 und dann per SPI an das Sendemodul übergeben. Das Empfangsmodul überträgt die Daten wiederum per SPI direkt an die Robotersteuerung.

Unter Abbildung 5 gibt es eine Dokumentation

µC-Quellcode NETbee:

µC-Quellcode NETbee base(Funksendeempfänger):

µC-Quellcode WEB-Server (NETraction):

 

 

 


Abbildung 1:


Abbildung 2:


Abbildung 3:


Abbildung 4:


Abbildung 5:


Abbildung 6:
 

Projekt "NETcopter - Steuerung eines RC Helis über WEB"

Über einen Internet-Browser lässt sich ein Modellhubschrauber fernsteuern.

Basis für dieses Projekt ist ein RISC von Microchip, welcher als WEB-Server für die TCP-Kommunikation und zum übertragen der Befehle für den Hubschrauber dient. Der Hubschrauber wird über Infrarot ferngesteuert, der IR-Sender ist mit einem ATtiny2313 realisiert und eine Übertragung der Signale vom WEB-Server zur Fernsteuerung erfolgen über Funk. Der WEB-Server und der Funksender, sowie der Funkempfänger und die IR-Fernsteuerung kommunizieren mittels SPI und UART.

Abbildung 1 bis 3 zeigen einige verwendete Komponenten des Projektes. Der RC-Hubschrauber ist ein Graupner Nano Star, die Kamera ist eine CMOS Mini Cam, welche über einen DC/DC Wandler mit der Helikopterversorgung versorgt wird. Der Funksender wird mit einem Atmel Evaluationboard und über ein ATA-Kabel angeschlossenes Funkmodul realisiert. Der Funkempfänger und Infrarotsender sind auf einer separaten Platine aufgebaut.
Das Projekt teilt sich auf folgenden Phasen auf:

Phase 1: Emulierung der Infrarotsteuerung des Helikopters mit einem eigenen Sendemodul und Rekonstruktion des Infrarotprotokolls zur Fremdsteuerung. Wie in Abbildung 4 zu sehen, wurde das Datenprotokoll mittels eines PDA IR-Fernbedienungsprogramm aufgenommen und anschließend in C und dem ATtiny2313 umgesetzt.

Graupner Nano Star IR code:
data frame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
header up/down left/right forward/backward trim: left/right Channel A/B/C checksum Stop
value 1/0 value 1/0 value 3F/0 value 4/2/0  
bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
example 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0
checksum 15 3 15 8 1 7 4 5  
calculation modulo16(15+3+15+8+1+7+4) = 5  

Phase 2: Umsetzung einer Steueroberfläche für die Steuerung über einen WEB-Browser. Die Steuerbefehle für die einzelnen Helikopterfunktionen werden über Button im WEB-Browser ausgewählt und an den WEB-Server übermittelt. Die Steuerbefehle werden als einzelne ASCII-Zeichen über die UART-Schnittstelle des WEB-Servers an den Funksender übertragen. Im Funksender wird aus den ASCII-Zeichen der IR-Code und die Check-Summe generiert.

Phase 3: Verbinden der Komponenten IR-Fernsteuerung und WEB-Server über Funkmodule. Die Sende- und Empfangsmodule RFM01 und RFM02 übermitteln die im Browser eingegebenen Daten an die IR-Steuereinheit. Mittels UART werden die Daten vom WEB-Server (Typ PIC18F67J60) über einen ATtiny2313 per SPI an das Sendemodul übergeben. Das Empfangsmodul überträgt die Daten wiederum per SPI an einen ATtiny2313, welcher die Steuerdaten über Infrarot an den Helikopter sendet.

Phase 4: Implementierung aller Teilphasen zu einem Gesamtprojekt.

Unter Abbildung 6 gibt es eine Dokumentation

µC-Quellcode Funkempfänger und IR-Sender:

µC-Quellcode Funksender:

µC-Quellcode WEB-Server (Ergänzungen zu NETraction):

 

 

 


Abbildung 1:


Abbildung 2:


Abbildung 3:


Abbildung 4:


Abbildung 5:


Abbildung 6:

 

Projekt "NETraction - Steuerung für Mikrocontroller über WEB"

Über einen Internet-Browser lassen sich Ports eines Mikrocontrollers ferngesteuert ansteuern und auswerten.

Basis für dieses Projekt ist ein RISC von Microchip über den die TCP-Kommunikation zum Schalten und Einlesen der Ports ermöglicht wurde. Auch Text kann über das Netz an ein Farbdisplay übertragen werden oder zeigt die aktuellen Verbindungsdaten an.

Abbildung 1 bis 3 zeigen den Schaltplan und die Platine des Versorgungs- und Schaltmoduls, über zwei Steckleisten wird die Platine mit dem µC verbunden.

Die projektspezifischen Softwareteile bestanden in der Integrierung des LCD-Displays, der Tasterabfragen und der dafür notwendigen Portkonfigurierungen. Die Erstellung der Software erfolgte, wie in Abbildung 4 zu sehen, mit der MPLAB IDE.

Die applikationsspezifischen Anpassungen wurden in der SW-Struktur des Elektor-Projektes "Netzer" vorgenommen. Die Abwandlung der im EEProm gespeicherten HTML-Seiten des WEB-Servers und die Möglichkeit von Textübertragungen bedingte einige Restrukturierungen des Quellcodes im Bereich der HTTP-Datentenübermittlung.

Unter Abbildung 6 gibt es eine Dokumentation.

µC-Quellcode:

 

 


 


 

Abbildung 1:


Abbildung 2:


Abbildung 3:


Abbildung 4:
 

Projekt "Sprachsteuerung für Mikrocontroller"

In diesem Projekt wurde eine Verbindung zwischen einem Mikrocontroller und einer Spracherkennung geschaffen. Dabei können Sprachkommandos über eine serielle Schnittstelle eines Notebooks an einen Atmega128 gesendet werden, welcher dann über GPIOs LEDs an- und ausschaltet. Gleichzeitig werden die am µController ankommenden Befehle auf einem Display von Nokia ausgegeben.

Ein mit Quarz und Atmega128 ausgestattetes Miniboard wurde als erstes mittels eines HDD-Kabels über einen Zwischenadapter mit dem Steckbrett verbunden um alle benötigten Ports flexibel zur Verfügung zu haben. Zusätzlich wurden an einigen Ports Taster fest verdrahtet. Wie in Abbildung 1 zu sehen, ein nicht unerheblicher Lötaufwand bei 60 Controller-Pins.

Das Farbdisplay ist ein Handydisplay von Nokia und ist mit knapp € 40,- nicht ganz billig. Es kann mit 5V versorgt werden und ist mit nur vier Port-Leitungen ansteuerbar. Nach jedem Reset muss das Display vor der Benutzung mit einer bestimmten Sequenz über die Ansteuerleitungen initialisiert werden. Mit Hilfe des Datenblattes wurde diese Initialisierung in der Hochsprache C umgesetzt, besonders wichtig war dabei die Einhaltung des zeitlichen Ablaufs der Routine. Schriften, Zahlen und Grafiken wurden ebenfalls in C ausprogrammiert.

Für die Kommunikation zwischen dem Notebook und dem Mikrocontroller wurde ein MAX221 verwendet. Hierfür wurde ein Programm in C# entwickelt, welches die serielle Schnittstelle bedient und gleichzeitig das Inventar für die Sprachverarbeitung verwaltet. Wie in Abbildung 4 zu sehen, sollte auch grafisch angezeigt werden, welche LEDs aktiv und passiv geschaltet sind. Eine Rücklesung der Port-Zustände bestätigte die richtige Umsetzung des ausgeführten Sprachkommandos.
Neben der Möglichkeit der Sprachsteuerung wurde auch eine Uhr implementiert, welche mit dem C#-Programm eingestellt werden kann und auf dem Controller autark weiterläuft.

Eine drahtlose Kommunikation zwischen dem Notebook und Mikrocontroller ist grundsätzlich realisierbar und auch die LEDs durch Arme und Beine eines Kampfroboters zu ersetzen ist durchaus denkbar.

µC-Quellcode:

 

 



Abbildung 1:


Abbildung 2:
Projekt "Bilderkennung für Autokennzeichen"

Ausgehend von einer Aufnahme eines Automobils wurde mittels einer Webkamera das Autokennzeichen erkannt.

Um die Bilder aus der Kamera auszuwerten, wurde die Kamera über die Twainschnittstelle angesteuert und die Bilder auf die Festplatte gespeichert. Der Programmstart erfolgt aus Matlab heraus, somit konnten die abgespeicherten Bilder gleich in Mattlab weiterverarbeitet werden.
Wie in Abbildung 1 zu sehen, wurde zuerst ein Grauwertbild aus dem Bild erzeugt und anschließend die Kanten mit einem Laplace-Operator herausgearbeitet.
Da die Form eines Autokennzeichens einer Norm unterliegt, wurde das bis dahin entstandene Bild mit einer Kennzeichenmaske korreliert. Weil eine Erkennung nicht nur in einem bestimmten Punkt (Abstand zum Fahrzeug) möglich sein soll, sondern fortlaufen (während der Fahrt), wird die Maske während der Korrelation gedreht und vergrößert. Wie in Abbildung 2 zu sehen, ist bei einem bestimmten Winkel und einer bestimmten Größe eine starke Korrelation im Bereich des Kennzeichens zu sehen.

Für eine endgültige Auswertung wird nach einem kompletten Durchgang der höchste Korrelationswert  gespeichert und ein geeigneter Bereich um diesen Punkt ausgeschnitten. Nach einer Korrelation einzelner Buchstaben und einer Datenbank im Hintergrund könnte zusätzlich auch der Ort der Zulassung bestimmt werden.

Matlab-Quellcode:

 

 

 

Für Nachbauten der oben aufgeführten Projekte wird keine Haftung bei Defekten übernommen