-
          
	
		
		
	
	
	
	
		
	
	
		
			
- 
	
	
		
			
			
				Neuer Benutzer
			
			
				Öfters hier
			
			
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
						
						
				
					
						
							achso, ja jetzt 
/* 
 * **************************************************  **************************
 * RP6 ROBOT SYSTEM - RP6 CONTROL M32 Examples
 * **************************************************  **************************
 * Example: Buttons and Beeper
 * Author(s): Dominik S. Herwald
 * **************************************************  **************************
 * Description:
 * This Example shows how to use the keys (and the beeper) on the RP6 Control 
 * board.
 * We simply poll for pressed keys and output ADC value and key number on the
 * LCD and serial interface, set some LEDs and play sounds with the beeper.
 * You can use this program to get the real ADC values for your keypad. 
 * (They are different on each board, because of the 5% tolerance resistors.
 * You may need to adjust some values in the RP6ControlLib in the 
 * getPressedKeyNumber() Function)
 *
 * ##################################################  ##########################
 * The Robot does NOT move in this example! You can simply put it on a table
 * next to your PC and you should connect it to the PC via the USB Interface!
 * ##################################################  ##########################
 * **************************************************  **************************
 */
/**************************************************  ***************************/
// Includes:
#include "RP6ControlLib.h" 		// The RP6 Control Library. 
								// Always needs to be included!
/**************************************************  ***************************/
// Main function - The program starts here:
int main(void)
{
	initRP6Control(); // Always call this first! The Processor will not work
					  // correctly otherwise. 
	writeString_P("\n\nRP6Control Button Example Program!\n"); 
	// Play two sounds:
	sound(180,80,25);
	sound(220,80,25);
	setLEDs(0b1111); // Turn all LEDs on!
	initLCD(); // Initialize the LC-Display (LCD)
			   // Always call this before using the LCD!
	showScreenLCD("################", "################");
	mSleep(500);
	showScreenLCD("Buttons", "Example Program2");
	mSleep(1000);
	// ---------------------------------------
	setLEDs(0b0000); // All LEDs off!
	// This text is fixed on the LCD. Only the
	// key and ADC values are changed later on!
	showScreenLCD("ADC Value:", "Button: T");
	while(true) 
	{
		// Check if a key is pressed:
		uint8_t key = getPressedKeyNumber(); 
		// This function returns a 0 if no key is pressed and
		// the key number from 1 to 5 otherwise.
		if(key) // If a key is pressed... (key != 0)
		{
			// ... we update the values
			// on the LCD display:
			uint16_t key_adc = readADC(ADC_KEYPAD);
			setCursorPosLCD(0, 11); 
			writeIntegerLengthLCD(key_adc, DEC, 4);
			setCursorPosLCD(1, 9);
			writeIntegerLCD(key, DEC);
			// Please note that we did not output the whole screen again - we just 
			// overwrote the old numbers!
			
			// Output key and ADC Value on serial Interface:
			writeString_P(" ADC Value:");
			writeInteger(key_adc,DEC);
			writeString_P(" --> Pressed key:");
			writeInteger(key,DEC);
			writeChar('\n');
			
			 // ... wait until the key is released again...
			while(getPressedKeyNumber());
			writeString_P("Key released - playing sound!\n");
			// ... and depending on which key was pressed, we 
			// turn some LEDs on and play different sounds:
			switch(key)
			{
				case 1: 
					setLEDs(0b0001);
					sound(200,10,10);
					sound(175,10,10);
					sound(215,10,10);
					sound(135,50,40);
					sound(225,20,25);
					sound(205,50,50);
					sound(135,120,120);
					sound(95,50,10);
					sound(145,40,10);
					sound(200,30,15);
					sound(175,30,20);
					sound(135,50,25);
				break;
				case 2: 
					setLEDs(0b0010);
					sound(235,11,1);
					sound(225,12,2);
					sound(215,13,3);
					sound(205,14,4);
					sound(195,15,5);
					sound(185,16,6);
					sound(175,17,7);
					sound(165,18,
;
				break;
				case 3: 
					setLEDs(0b0100); 
					sound(245,10,0);
					sound(235,20,0);
					sound(225,40,0);
					sound(215,60,0);
					sound(205,80,0);
					sound(215,60,0);
					sound(225,40,0);
					sound(235,20,0);
					sound(245,10,0);
				break;
				case 4: 
				// Simple "Alarm" Sound using setBeeperFrequency function:
				{ 
					uint8_t i;
					uint8_t j;
					for(i = 1; i < 4; i++)
					{
						setLEDs(0b1111); 
						for(j = 230; j > 46; j-=2)
						{
							setBeeperPitch(j);
							mSleep(5);
						}
						setLEDs(0b0000); 
						for(; j < 230; j+=2)
						{
							setBeeperPitch(j);
							mSleep(5);
						}
						// Turn beeper off:
						setBeeperPitch(0);
					}
				}
				break;
				case 5: 
					setLEDs(0b1001);
					sound(220,80,10);
					sound(175,20,20);
					sound(220,80,10);
					sound(175,20,20);
				break;
			}
		}
	}
	return 0;
}
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
		
		
		
	
 
	
	
	
	
	
	
	
	
	
	
	
	
		
		
		
		
			
				
				Berechtigungen
			
			
				
	
		- Neue Themen erstellen: Nein
 
		- Themen beantworten: Nein
 
		- Anhänge hochladen: Nein
 
		- Beiträge bearbeiten: Nein
 
		-  
 
	
	
	Foren-Regeln
 
			 
		 
	 
 
  
 
  
 
Lesezeichen