Introducere

Proiectul propune o masinuta teleghidata controlata de la tastatura unui calculator si care are capacitatea de a memora traseul parcurs pentru a-l reface fara interventia unei persoane.

Descriere generală

Hardware Design

  • Am cumparat o masina cu telecomanda, iar telecomanda am desfacut-o si am luat placa ei de baza
  • Pe placa de baza a telecomenzii sunt 4 butoane (fata, spate, stanga, dreapta) actionate mecanic
  • La fiecare buton am legat cate un releu care este conectat la un pin al microcontrollerului
  • Atunci cand microcontrollerul activeaza un pin, releul corespunzator se inchide si astfel se simuleaza apasarea butonului de pe telecomanda

Software Design

Codul contine:

  • doua functii care permit comunicatia dintre microcontroller si calculator printr-un cablu serial
int uart_putchar(char c, FILE *unused)      
{
	if (c == '\n') uart_putchar('\r', 0);
	loop_until_bit_is_set(UCSRA, UDRE);
	UDR = c;
	return 0;
}
int uart_getchar(FILE* f)
{
	char c;
  	loop_until_bit_is_set(UCSRA, RXC);
  	c = UDR;
  	if(c=='\r')
	c='\n';
  	return c;
}
  • functii care realizeaza scrierea si citirea din memoria EEPROM (pentru salvarea traseului)
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
	/* Wait for completion of previous write */
	while(EECR & (1<<EEWE));
	/* Set up address and data registers */
	EEAR = uiAddress;
	EEDR = ucData;
	/* Write logical one to EEMWE */
	EECR |= (1<<EEMWE);
	/* Start eeprom write by setting EEWE */
	EECR |= (1<<EEWE);
}
unsigned char EEPROM_read(unsigned int uiAddress)
{
	/* Wait for completion of previous write */
	while(EECR & (1<<EEWE));
	/* Set up address register */
	EEAR = uiAddress;
	/* Start eeprom read by writing EERE */
	EECR |= (1<<EERE);
	/* Return data from data register */
	return EEDR;
}
  • logica aplicatiei (in functie de comenzile primite, activeaza sau dezactiveaza pinii microcontrollerului)

Rezultate Obţinute

Masina merge destul de bine. Uneori tine comanda ceva mai mult decat a fost apasata tasta.

Refacerea traseului nu respecta 100% traseul initial.

Download

Bibliografie/Resurse

pm/prj2010/pgp/masinatastatura.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0