Hallo Leute,

ich bin schon echt am verzweifeln :/
Habe mir eine "kleine Spielerei" ausgedacht, die ich sehr gerne umsetzen möchte jedoch bin ich ein richtiger Neuling auf diesem Gebiet auch brauche euer Wissen.

Habe einen ATmega8, arbeite mit AVR-Studio, in der Sprache C, besitze den Farbsensor MTCS – TIAM2.


Es geht darum das ich in einer rechteckigen Holzbox einen Farbsensor von links nach rechts steuern will(Schrittmotor), der beim vorbei fahren rechteckige Plättchen in verschiedenen Farben einliest und zu jeder Farbe einen Ton ausgeben soll, so das eine Melodie rauskommt.

Die Platten(davon gibt es 12) können ausgetauscht werden um somit eine neue Tonfolge erstellen zu können.

Mit der Taste „PLAY“ wird der Farbsensor gestartet und lässt sich von dem Schrittmotor bewegen.

Nunja aber ich habe keine Ahnung wie genau ich das programmieren soll, weil ich viele Befehle nicht kenne und schon stundenlang in Google gesucht habe, aber kaum etwas über einen Farbsensor gefunden habe, geschweige denn einer Farb und Musik verknüpfung.

Hier meine jetztigen "Erfolge" :

Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>


char rot, blau, grün, gelb, lila, braun, türkis, dunkelblau, hellblau, silber, orange, rosa;




/*TON BERECHNUNG*/




/*Ton zuordnung*/


rot= Ton1
blau=Ton2
grün=Ton3
gelb=Ton4
lila=Ton5
braun=Ton6
türkis=Ton7
dunkelblau=Ton8
hellblau=Ton9
silber=Ton10
orange=Ton11
rosa=Ton12

/* Einlesen und abspielen */

int main (void) {            
 
   DDRC  = 0xff;             
   PORTC = 0x03;             


/*TIMER[ ALLE 2 SEKUNDEN ABFRAGEN*/

 
	if (PIN1= between 1 and 2 && PIN2= between 3 and 4 && PIN3= between 5 and 6)
		{/*TIMER[ LÄNGE DES TONES*/
		
			/*PLAY ROT DEN TON VON ROT ABSPIELEN*/
			/*AT SPEAKER am Lautsprecher ausgeben*/
				]
		}
	else
		next;

	if (PIN1= between 7 and 8 && PIN2= between 9 and 10 && PIN3= between 11 and 12)
		{x = blau
		
		}
	else
		next;

	if (PIN1= between 13 and 14 && PIN2= between 15 and 16 && PIN3= between 17 and 18)
		{x = grün
		
		}
	else
		next;   

	if (PIN1= between 19 and 20 && PIN2= between 21 and 22 && PIN3= between 23 and 24)
		{x = gelb
		
		}
	else
		next;

	if (PIN1= between 25 and 26 && PIN2= between 27 and 28 && PIN3= between 29 and 30)
		{x = türkis
	
		}
	else
		next;

	if (PIN1= between 31 and 32 && PIN2= between 33 and 34 && PIN3= between 35 and 36)
		{x = rosa
		
		}
	else
		next;

	if (PIN1= between 37 and 38 && PIN2= between 39 and 40 && PIN3= between 41 and 42)
		{x = dunkelblau
		
		}
	else
		next;

	if (PIN1= between 43 and 44 && PIN2= between 45 and 46 && PIN3= between 47 and 48)
		{x = lila
		
		}
	else
		next;

	if (PIN1= between 49 and 50 && PIN2= between 51 and 52 && PIN3= between 53 and 54)
		{x = braun
		
		}
	else
		next;

	if (PIN1= between 55 and 56 && PIN2= between 57 and 58 && PIN3= between 59 and 60)
		{x = orange
		
		}
	else
		next;

	if (PIN1= between 61 and 62 && PIN2= between 63 and 64 && PIN3= between 65 and 66)
		{x = silber
		
		}
	else
		next;

	if (PIN1= between 67 and 68 && PIN2= between 69 and 70 && PIN3= between 71 and 72)
		{x = hellblau
		
		}
	else
		next;

return 0;
}
Mehr habe ich leider noch nicht und ich weiß auch nicht wie es weiter geht :/
Hoffe ihr könnt mir weiter helfen und habt alle wichtigen Informationen erhalten.