LinkedIn YouTube Facebook
Szukaj

Wstecz
IoT

ZL27ARM: detekcja kolorów za pomocą czujnika TCS3200

Jak widać zmienne: FreqBlue, FreqRed, FreqClear oraz FreqGreen zawierają dane dotyczące poszczególnych pomiarów dla różnych filtrów. Informacje te są 4-cyfrową liczbą. Po przekształceniu opisaną wcześniej metodą czterech cztero-cyfrowych ciągów danych na pojedyncze cyfry zapisane w kodzie ASCII (dla każdej cyfry w kodzie dziesiętnym dodajemy  0x30) dla każdego z pomiarów całość wyświetlona zostaje na wyświetlaczu alfanumerycznym OLED o organizacji 2×20:

//Wyswietlenie danych na OLED
LCD_GoTo(6,0);
LCD_WriteData(Clear0);
LCD_WriteData(Clear1);
LCD_WriteData(Clear2);
LCD_WriteData(Clear3);
LCD_GoTo(2,1);
LCD_WriteData(R0);
LCD_WriteData(R1);
LCD_WriteData(R2);
LCD_WriteData(R3);
LCD_GoTo(9,1);
LCD_WriteData(G0);
LCD_WriteData(G1);
LCD_WriteData(G2);
LCD_WriteData(G3);
LCD_GoTo(16,1);
LCD_WriteData(G0);
LCD_WriteData(B1);
LCD_WriteData(B2);
LCD_WriteData(B3);

Na koniec program sprawdza stan przycisku SW1 celem włączenia/wyłączenia podświetlenia LED znajdującego się na płytce KAmodCOLOR:

//Kontrola diody LED (podswietlenie)
	if (!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)&&tmp1>=5)
		{			
			//Opuznienie dla przycisku
			for(i=0;i<10000;i++);
			//Ponowne spr. stanu SW1
			if (!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1))
			{
				//Zmiana stanu LED
				if(stanLED)
				{
					LCD_WriteTextXY("OFF",16,0);
					//Wylaczenie LED
					GPIO_ResetBits(GPIOA, GPIO_Pin_7);
					stanLED=0;
				}
				else
				{
					LCD_WriteTextXY("ON ",16,0);
					//Wlaczenie LED
					GPIO_SetBits(GPIOA, GPIO_Pin_7);
					stanLED=1;
				}
				tmp1=0;
			}
		}