Registrierung
leer
leer
newposts
Users
search
FAQ
Login
Start

Hallo Gast, und Willkommen im Forum. Sie müssen sich einloggen oder registrieren, um alle Funktionen nutzen zu können.


PN's Forum \ weitere interessante Themen \ Elektronik / Elektrik \ Mikroprozessortechnik


Florader *

#1 Verfasst am 03.04.2012, um 19:39:07



Hallo,

ich wollte hier mal was über mein kleines Mikroprozessor Projekt schreiben

Mein Projekt:

Licht / Geräte per Handy steuern.

Ich habe an meinem Fernseher(Rückseite) RGB-LED Strips angebracht. Diese sollen jetzt per Handy gesteuert werden.

Dafür habe ich mir ein Mikroprozessor gekauft. Es handelt sich dabei um ein Arduino UNO mit einem aufgesetzten Ethernet-Shield.

Hier mal ein Bild






Mfg

Florian

bearbeitet von Poison Nuke, am 04.04.2012, um: 11:00:24


Swen

#2 Verfasst am 03.04.2012, um 20:40:25



Ohoh, das Drama nimmt seinen Lauf
Wenn Du damit grade erst anfängst, dann wirst Du evtl. bald noch viel mehr!!! entdecken, was man mit einem Mikroprozessor(Speziell die ATmega) machen kann.
Du solltest allerdings(ich kenne Deinen Status ja nicht und ich zähle mich auch zu den Anfängern) mit C arbeiten anstatt Bascom!
Bascom bietet vieles und anfangs einfach, aber mit C bist Du auf der flexibleren Sicheren Seite

Viel Spaß beim Programmieren


Mittlerweile bin ich hier und da auch weiter
http://forum.poisonnuke.de/index.php?action=View...1&goto=last#ende


bearbeitet von Swen, am 03.04.2012, um: 20:42:14


Florader *

#3 Verfasst am 04.04.2012, um 08:47:30



Hallo

ja ich bin auch noch ein ziemlicher Anfänger.

Ich Programmiere mit dem Arduino Compiler den es direkt bei Arduino auf der Seite gibt.

NotePad soll auch ganz gut sein.

Ich wollte auch auf jeden Fall bei C bleiben.

Ich habe mal dein Thread durchgeschaut klingt ja ganz interessant was du da machst.

Du hast auch schon was mit HTML gemacht ? Wüsstest du eventuell weiter wie ich es mache das ich eine Website erstelle speziell für den Arduino, sodass ich halt über die Website die PINS steuern kann.

Im Moment läuft der Arduino nur über eine eigene Android App und ich wollte das gerne anders gestalten das ich mit allen Geräte in meinem Netzwerk auf den Arduino zugreifen kann.

Ich bin durch KNX/ EIB auf die Idee gekommen so etwas zu machen mit der Lichtsteuerung. Nur ist KNX/ EIB halt ziemlich teuer, deswegen die günstige Variante.


Mfg

Florian

bearbeitet von Florader, am 04.04.2012, um: 08:47:49


Swen

#4 Verfasst am 04.04.2012, um 20:49:35



Hi,

von Arduino habe ich nur mal so gelesen, mich aber nicht mit auseinander gesetzt.
Mit HTML habe ich auch lange nichts mehr gemacht und komme so grade klar, wenn ich es wieder sehe.
Beim AVR ist es nochmal etwas komplizierte, gerade mit Variablenübergabe usw.
Da der Arduino nur den 328 hat, ist der Speicher auch begrenzt.

Hier mal ein paar links, die mir gut weiter geholfen haben.
Grade der Mikrowebserver ist praktisch bei wenig Speicher, den habe ich auch noch irgendwo rumfliegen:-D
http://www.mikrocontroller.net/topic/87517

http://de.klinkerstein.m-faq.de/index.php/MicroWebServer

http://son.ffdf-clan.de/

Da findet man viel Grundlegendes und auch hilfe;-)
Ich müsste meinen Thread auch noch mal aktualisieren...

Gruß
Swen

PS: Habe grade gesehen, das der Netzwerkchip wohl ein anderer ist...aber evtl. hilft das Grundlegende bei den AVR-Websites;-)


bearbeitet von Swen, am 04.04.2012, um: 20:58:13


Florader *

#5 Verfasst am 16.04.2012, um 12:39:19



Ok vielen dank für die Informationen

werde ich demnächst mal Durchschauen


Mfg

Florian

elton

#6 Verfasst am 16.04.2012, um 14:50:10



mit arduino habe auch schon nette projekte realisiert im rahmen der forschung und entwicklung ;)

allerdings eher machbarkeitsstudien und schnell mal eben. wobei du bei der datenverarbeitung mit arduino und gerade der eigenen entwicklungsumgebung schon drauf achten solltest, sauber zu arbeiten. so zum beispiel ist es mit arduinoeigener umgebung schwer daten sauber zu senden. so haben wir festgestellt, dass der zahlen echt "beknackt" sendet. so zum beispiel wollten wir werte von 0-1023 über die print-geschichte senden und der hat uns partout die zahl in einzelne ziffern zerlegt und diese dann wiederunm in hex gesendet.

die idee war messwerte von einem µc an einen anderen zu senden, weil 1 µC gps-daten mit weiteren daten verknüpft wegspeichern sollte wobei ein zweiter µC ihm als zusätzliche datenquelle dient. an sich keine schwere sache, nur, nun kommt das problem mit der daten-sende-funktion ins spiel. solange alle werte 2stellig waren, blieb die datenrate ja konstant, somit wie die daten aber dann drei oder 4 stellig wurden, wuchs die datenmenge der übertragung und somit war kein vernünftiges arbeiten mehr möglich, weil man nun nicht mehr sagen konnte, nach soundsovielen zeichen lösche den puffer und fange neu an.

würde heute gern wissen, wie man das hinbekommt. aber in µC war ich noch nie so fit. ich habe vorstudien gemacht und machbarkeit gezeigt, mit echter performanter programmierung sollten andere sich beschäftigen.

würde gern wieder was mit arduino basteln, hätte ich spaß dran. und den uno würde ich gern demnächst nutzen, weil ich da auch was im auge/kopf habe. panoramakopf für die kamera oder sovielleicht richtet robert uns ne neue sektion für arduino eindann hätten wir ne schöne spielwiese.

btw bin diplomingenieur für mechatronik und kann mich für elektrotechnischen/mechanischen rückhalt anbieten.


Meine Nachbarn hören gute Musik - ob sie wollen oder nicht.

Swen

#7 Verfasst am 16.04.2012, um 19:45:33



Hi,

ich sende Daten über eine USART-Routine als signed Integer und kann somit +-32767 übertragen.
Ich muss nur in dem Array beim Empfang genug Platz haben, damit der ganze gesendete String rein passt.


Quellcode
/*----------------------------------------------------------------------------
 Copyright:      Radig Ulrich  mailto: mail@ulrichradig.de
 Author:         Radig Ulrich
 Remarks:        
 known Problems: none
 Version:        24.10.2007
 Description:    RS232 Routinen

 Dieses Programm ist freie Software. Sie können es unter den Bedingungen der 
 GNU General Public License, wie von der Free Software Foundation veröffentlicht, 
 weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder 
 (nach Ihrer Option) jeder späteren Version. 

 Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, 
 daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, 
 sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT 
 FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. 

 Sie sollten eine Kopie der GNU General Public License zusammen mit diesem 
 Programm erhalten haben. 
 Falls nicht, schreiben Sie an die Free Software Foundation, 
 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 
------------------------------------------------------------------------------*/
#include "usart.h"

volatile unsigned int buffercounter = 0;

char usart_rx_buffer[BUFFER_SIZE];
char *rx_buffer_pointer_in	= &usart_rx_buffer[0];
char *rx_buffer_pointer_out	= &usart_rx_buffer[0];
	
//----------------------------------------------------------------------------
//Init serielle Schnittstelle
void usart_init(unsigned long baudrate) 
{ 

	//Serielle Schnittstelle 1
  	//Enable TXEN im Register UCR TX-Data Enable
	UCR =(1 << TXEN | 1 << RXEN | 1<< RXCIE);
	// 0 = Parity Mode Disabled
	// 1 = Parity Mode Enabled, Even Parity
	// 2 = Parity Mode Enabled, Odd Parity
	//UCSRC = 0x06 + ((parity+1)<<4);
	//UCSRC |= (1<<USBS);
	//Teiler wird gesetzt 
	UBRR=(F_CPU / (baudrate * 16L) - 1);
	usart_status.usart_disable = 0;

}

//----------------------------------------------------------------------------
//Routine für die Serielle Ausgabe eines Zeichens (Schnittstelle0)
void usart_write_char(char c)
{
        if(!usart_status.usart_disable)
        {
            //Warten solange bis Zeichen gesendet wurde
            while(!(USR & (1<<UDRE)));
            //Ausgabe des Zeichens
            UDR = c;
        }
        return;
}

//------------------------------------------------------------------------------
void usart_write_P (const char *Buffer,...)
{
	va_list ap;
	va_start (ap, Buffer);	
	
	int format_flag;
	char str_buffer[10];
	char str_null_buffer[10];
	char move = 0;
	char Base = 0;
	int tmp = 0;
	char by;
	char *ptr;
		
	//Ausgabe der Zeichen
    for(;;)
	{
		by = pgm_read_byte(Buffer++);
		if(by==0) break; // end of format string
            
		if (by == '%')
		{
            by = pgm_read_byte(Buffer++);
			if (isdigit(by)>0)
				{
                                 
 				str_null_buffer[0] = by;
				str_null_buffer[1] = '\0';
				move = atoi(str_null_buffer);
                by = pgm_read_byte(Buffer++);
				}

			switch (by)
				{
                case 's':
                    ptr = va_arg(ap,char *);
                    while(*ptr) { usart_write_char(*ptr++); }
                    break;
				case 'b':
					Base = 2;
					goto ConversionLoop;
				case 'c':
					//Int to char
					format_flag = va_arg(ap,int);
					usart_write_char (format_flag++);
					break;
				case 'i':
					Base = 10;
					goto ConversionLoop;
				case 'o':
					Base = 8;
					goto ConversionLoop;
				case 'x':
					Base = 16;
					//****************************
					ConversionLoop:
					//****************************
					itoa(va_arg(ap,int),str_buffer,Base);
					int b=0;
					while (str_buffer[b++] != 0){};
					b--;
					if (b<move)
						{
						move -=b;
						for (tmp = 0;tmp<move;tmp++)
							{
							str_null_buffer[tmp] = '0';
							}
						//tmp ++;
						str_null_buffer[tmp] = '\0';
						strcat(str_null_buffer,str_buffer);
						strcpy(str_buffer,str_null_buffer);
						}
					usart_write_str (str_buffer);
					move =0;
					break;
				}
			
			}	
		else
		{
			usart_write_char ( by );	
		}
	}
	va_end(ap);
}

//----------------------------------------------------------------------------
//Ausgabe eines Strings
void usart_write_str(char *str)
{
	while (*str)
	{
		usart_write_char(*str++);
	}
}



Und mit dem Befehl sende ich


Quellcode
usart_write("100,%i,%i,%i,255", vent, temp, bew);//Daten zur Steuerung senden, 255 als Pseudochecksumme


Gruß
Swen


bearbeitet von Swen, am 16.04.2012, um: 20:17:02


Florader *

#8 Verfasst am 16.04.2012, um 20:11:10




elton schrieb:
vielleicht richtet robert uns ne neue sektion für arduino ein dann hätten wir ne schöne spielwiese.



Das wäre eine tolle Idee Ich habe noch eine menge Ideen im Kopf und einen haufen Fragen


elton schrieb:
btw bin diplomingenieur für mechatronik und kann mich für elektrotechnischen/mechanischen rückhalt anbieten.



Das ist gut


Mfg

Florian

bearbeitet von Florader, am 16.04.2012, um: 20:11:34


 Poison Nuke 

#9 Verfasst am 17.04.2012, um 00:01:56



gebt mal nen Tipp wie das Aussehen soll
weil wir haben ein Forum für Programmierung wo das hier zum Teil reingehört und das hier.

In welcher Kategorie passt das Forum denn am besten und wie sollte man es nennen?


greetz
Poison Nuke

Swen

#10 Verfasst am 17.04.2012, um 06:52:07



Ich fände es nett, wenn es nicht speziell Arduino heisst sonder eher µC der Atmel allgemein einschliesst. Die sind ja die Basis





elton

#11 Verfasst am 18.04.2012, um 16:58:46



Vorschlag: Im Bereich Elektronik würde ich dort eine Sektion

"Mikrocontroller"
--> "Grundlagen"
--> "Beschaffung"
--> "Projekte"

ich selbst bin der "arduinobastler" und mit atmel unterwegs, habe aber keine lust und spaß mich mit pic auseinanderzusetzen, weil mir diese pics nicht gefallen. da schraubt man sich wirklich nen wolf dran und muss alles selber machen.

bei arduino finde ich das USB-Kabel reinstecken, und software draufladen schon sehr praktisch. für alles andere muss man sich wirklich erstmal komplett mit der ganzen architektur auseinandersetzen. ich finde jedoch, projekte sollten überschaubar bleiben und auch in kurzer zeit gelöst werden können. projekte, die zu lange dauern sind erfahrungsgemäß recht schnell schlecht besucht. und helfen nicht weiter.

Mein Wunsch wäre diese Sachen dennoch in einem privaten, nicht öffentlichen Bereich zugänglich zu machen. Wahrt irgendwie die "intimsphäre" und man ist mehr unter sich.

also wie gesagt, ich hätte da schon ein Projekt im kopf. Panorama platte für Foto. und evtl mal was mit nem Webserver. Ein pollinboard AVR NET-I/O unverbastelt habe ich ja auch noch...

gruß


Meine Nachbarn hören gute Musik - ob sie wollen oder nicht.

Swen

#12 Verfasst am 18.04.2012, um 20:56:04



Hi,

die Frage ist, ob sich das in diesem Forum verträgt
Es ist Thematisch gesehen vielseitig aber so speziell für (derzeit) 3 Leute, die was mit µC machen?

Auch die Sache mit den "überschaubaren" Projekten, wo ist da der Anfang und wo das Ende?
Wenn ich mein "Gedöns" so sehe, ist jedes Einzelne ein "überschaubares" Projekt aber im ganzen zusammenspiel schon etwas komplexer.
Von dem Zeitraum des Anfangs bis jetzt, kann von "gelöst in kurzer Zeit" auch keine Rede sein
Man entwickelt ja immer mehr Ansprüche und Erweiterungen

Für wirklich komplexe Probleme wird dann doch eh ein Themennahes Forum aufgesucht, weil hier fehlt dann evtl. die Kompetenz(ich will damit niemanden was unterstellen und mich auf keinen Fall! hervorheben, kann ja selber nix!) für spezielle Probleme.

Daher finde ich die aktuelle Situation hier im Forum vollkommend passend. Man kann Seine Projekte Vorstellen und diskutieren, Rat suchen oder Hilfe geben usw.

Mit Pics habe ich auch nix am Hut, kenne nur die ATmegas und die reichen mir

Gruß
Swen



typhson

#13 Verfasst am 18.04.2012, um 22:58:13



Vielleicht bald 4^^

Bei mir wird es sich aber eher um Controller für Tastauren drehen



Aonas

#14 Verfasst am 18.04.2012, um 23:07:41



also mich interessiert das Thema auch, hab aber bisher nichts damit zu tun gehabt

aber forentechnisch ist es normalerweise besser, sich auf möglichst wenige Unterforen zu beschränken



 Poison Nuke 

#15 Verfasst am 19.04.2012, um 00:19:52



ich denke auch das es für ein neues Unterforum erstmal zu wenig ist. Der Elektronik-Bereich ist ja eh relativ wenig benutzt. Da sollten Threads mit aussagekräftigen Titeln eh nicht untergehen

und wenn es mehr werden sollte kann man immer noch verschieben in ein eigens UFO

ich selbst muss auch sagen, ich finde es sehr interessant, nur mir fehlt beileibe die Zeit um mich damit eingehend zu befassen. Aber ich lese durchaus gerne hier mit


greetz
Poison Nuke

elton

#16 Verfasst am 19.04.2012, um 19:03:59



ich gebe euch allen recht. daher finde ich die idee, bei bedarf die beiträge dann extra zu verschieben, absolut okay. wird man dann eben schauen, wie sich das alles entwickelt.



Meine Nachbarn hören gute Musik - ob sie wollen oder nicht.

Swen

#17 Verfasst am 20.04.2012, um 12:13:20



Hallo,

was man aber machen könnte, ein Unterforum im Bereich Elektronik "Eure Projekte".
Mein Projekt habe ich ja unter PC-Programmierung eingetellt, was ja so gesehen nicht wirklich passt.

Gruß
Swen



Swen

#18 Verfasst am 10.05.2012, um 17:36:46



Na, hat sich schon was getan bei Dir?



Florader *

#19 Verfasst am 10.05.2012, um 21:20:27



Leider noch nicht...

In wenigen Wochen habe ich Urlaub und kann mich dann voll dem Projekt wenden.


Mfg

Florian

PN's Forum \ weitere interessante Themen \ Elektronik / Elektrik \ Mikroprozessortechnik


- Zurück zur Homepage - Eigene Beiträge - Neue Beiträge - Wer ist online? - Impressum - Datenschutz - Statistiken -



Board coded and provided by: Poison Nuke
Copyright 2007-2014, Robert Menger