robot inseguitore di luce

A

arash_micro

Guest
Ciao
Sono stato fare un "seguace robot luce" "con elementi analogici
Ora voglio farlo con PIC e motore steper
E 'buona norma usare il comando == == POT in un linguaggio di base o A / D
((POT comando legge il valore di resistenza, ma è un lento litle))
se si ha buon collegamento mi può mostrare.
Grazie

 
Cosa vuol dire seguace luce?Un robot che segue una fonte di luce?

 
glenjoy ha scritto:

Cosa vuol dire seguace luce?
Un robot che segue una fonte di luce?
 
, not LightSolo per riga,
non leggereGrande sito:
http://www.kmitl.ac.th/ ~ kswichit / LFrobot / LFrobot.htm

Prova Google Ricerca con parola di codice: "Line Follower" o "Line Tracer"
Good Luck

 
arash_micro ha scritto:

No

Ha una testa e girare a fonte di luce
 
Io uso 4 FOTOCELL e coprire con un papre scuro
E 'dell'opera
posso usarli in questo nuovo progetto oppure no.perché?

 
[quote = "glenjoy"] [quote = "arash_micro"] No
Ha una testa e girarla a [fonte di luce / quote]

Quindi avete bisogno di una cellula fotoelettrica buona gamma dinamica molto alta, perché la maggior parte Fototransistore satura molto veloce. [/ Quote]

AGC possibile eliminare questo effetto, se Fototransistore trhough corrente sarà soggetta ad accordare.

 
arash_micro ha scritto:

Io uso 4 FOTOCELL e coprire con un papre scuro

E 'dell'opera

posso usarli in questo nuovo progetto oppure no.
perché?
 
Altra opzione è quella di utilizzare questo segnale proporzionale a partire da cellule leggero, si amplificano e l'uso è quello di controllare direttamente un servomotore a girare la testa verso il posto brightes.
Questo può essere molto interessante approccio ..così ..
Pensateci ..

 
Ciao

Ho disegnato il mio Robot Line Follower, ho scritto il programma per PIC utilizzando PICBASIC Pro.

Il codice:

'************************************************* ***************
'Nome *: * Path Finder Robot.BAS
'* Autore: Omar Shacker Udai *
'Avviso *: Copyright (c) 2005 *
'Data *: 3/27/2005 *
'* Version: 1.8 *
'************************************************* ***************
'************************************************* ***************
'*************** Installazione di appositi registri ***************
'************************************************* ***************

XT_OSC @ DEVICE, WDT_ON, PWRT_OFF, PROTECT_OFF

'RA0 e RA1 sono ingressi, RA2-RA4 sono uscite
TRISA =% 00000011
'RB0-RB3 sono ingressi, RB4-RB7 sono uscite
TRISB =% 00001111
'PortB Pull-up sono disabili, interrupt sul fronte di salita a RB0
OPTION_REG =% 11000000

'************************************************* ***************
'*********************** Interrupt esterni *****************
Setup'********************* in Pro PICBASIC ****************
'************************************************* ***************

'Global Interrupt Enable, Interrupt RB0 esterno abilitato
INTCON =% 10010000

'************************************************* ***************
'***************** Variabili globali e Conts **************
'************************************************* ***************

SI CON 0 'Linea rilevata, o di ostacolo rilevato
NO CON 1 'No Line rilevato, o nessun ostacolo rilevato

'************************************************* ***************

'Interruttore ON routine Tasto per PortA.1
SW_ON VAR PORTA.1

'************************************************* ***************

'Variabili Ricevitore fotodiodo "Bit Sized"
L_RX VAR PORTB.1
M_RX VAR PORTB.2
R_RX VAR PORTB.3

'************************************************* ***************

'Regia Monitor LED varibles "Bit imprese"
VAR L_LED PORTA.2
VAR M_LED PORTA.3
VAR R_LED PORTA.4
GoSub LED_INIT

'************************************************* ***************

'Driver Motor Variabili L293 "Bit Sized"
VAR MOTOR_1A_PLUS PORTB.7
MOTOR_2A_MINUS VAR PORTB.6
VAR STEER_3A_PLUS PORTB.5
STEER_4A_MINUS VAR PORTB.4
GoSub MOTOR_INIT

'************************************************* ***************
'************************************************* ***************
'************************************************* ***************
'********************* Programma principale *****************
'************************************************* ***************
'************************************************* ***************
'************************************************* ***************'************************************************* ***************
'*************** Abilita Interrupt in PBPro ***************
Switch ON'***************** routine ********************
'************************************************* ***************

'Abilita Interrupt in PICBASIC Pro
ON SW_OFF GoTo INTERRUPT
SWITCH_ON:
IF SW_ON == 0 Then SWITCH_ON

'************************************************* ***************
'**************** Variabili di inizializzazione **************
'************************************************* ***************

'Inizializzazione Variabile Generale
PRINCIPALI:
GoSub MOTOR_INIT
GoSub LED_INIT

'************************************************* ***************
'****************** Routine Line Follower ***************
'************************************************* ***************

'Fotodiodo Controlli in linea Follower di routine
LINE_FOLLOWER:
IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) errore, allora
IF (L_RX == NO) e (M_RX == NO) e (R_RX == SI) poi a destra
IF (L_RX == NO) e (M_RX == SI), E (R_RX == NO) poi in avanti
IF (L_RX == NO) e (M_RX == SI), E (R_RX == SI) poi a destra
IF (L_RX == SI), E (M_RX == NO) e (R_RX == NO) e poi a sinistra
IF (L_RX == SI), E (M_RX == NO) e (R_RX == SI) Poi ERRORE
IF (L_RX == SI), E (M_RX == SI), E (R_RX == NO) e poi a sinistra
IF (L_RX == SI), E (M_RX == SI), E (R_RX == SI), poi in avanti

'************************************************* ***************
Routine'********************* Forward ******************
'************************************************* ***************

'Forward routine
FORWARD:
L_LED = L_RX
M_LED = M_RX
R_LED = R_RX
LOW MOTOR_2A_MINUS
LOW STEER_3A_PLUS
LOW STEER_4A_MINUS
MOTOR_1A_PLUS PWM, 122, 1
LOW MOTOR_1A_PLUS
IF (L_RX == NO) e (M_RX == SI), E (R_RX == NO) poi in avanti
IF (L_RX == SI), E (M_RX == SI), E (R_RX == SI), poi in avanti
IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) poi in avanti
GoTo PRINCIPALI

'************************************************* ***************
'********************** Routine destro *******************
'************************************************* ***************

'Turn Right routine
DESTRA:
L_LED = L_RX
M_LED = M_RX
R_LED = R_RX
LOW MOTOR_2A_MINUS
HIGH STEER_3A_PLUS
LOW STEER_4A_MINUS
MOTOR_1A_PLUS PWM, 126, 2
LOW MOTOR_1A_PLUS
IF (L_RX == NO) e (M_RX == NO) e (R_RX == SI) poi a destra
IF (L_RX == NO) e (M_RX == SI), E (R_RX == SI) poi a destra
IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) Poi a destra
GoTo PRINCIPALI

'************************************************* ***************
'********************** Routine Sinistra ********************
'************************************************* ***************

'Girare a sinistra di routine
SINISTRA:
L_LED = L_RX
M_LED = M_RX
R_LED = R_RX
LOW MOTOR_2A_MINUS
LOW STEER_3A_PLUS
HIGH STEER_4A_MINUS
MOTOR_1A_PLUS PWM, 126, 2
LOW MOTOR_1A_PLUS
IF (L_RX == SI), E (M_RX == NO) e (R_RX == NO) e poi a sinistra
IF (L_RX == SI), E (M_RX == SI), E (R_RX == NO) e poi a sinistra
IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) e poi a sinistra
GoTo PRINCIPALI

'************************************************* ***************
Errore di routine'********************** *******************
'************************************************* ***************

'Errore di routine
ERRORE:
L_LED = L_RX
M_LED = M_RX
R_LED = R_RX
LOW MOTOR_2A_MINUS
LOW STEER_3A_PLUS
LOW STEER_4A_MINUS
MOTOR_1A_PLUS PWM, 122, 1
LOW MOTOR_1A_PLUS
GoTo PRINCIPALI

'************************************************* ***************
Initailization'***************** MOTOR ******************
'************************************************* ***************

MOTOR_INIT:
'L293 di inizializzazione del driver del motore
LOW MOTOR_1A_PLUS
LOW MOTOR_2A_MINUS
LOW STEER_3A_PLUS
LOW STEER_4A_MINUS
Ritorno

'************************************************* ***************
'************** Initailization Direzione LED *************
'************************************************* ***************

LED_INIT:
HIGH L_LED
HIGH M_LED
HIGH R_LED
Ritorno

'************************************************* ***************
'****************** Routine di gestione interrupt *****************
'************************************************* ***************

Disabilita
SW_OFF:
GoSub MOTOR_INIT
GoSub LED_INIT
INTCON.1 = 0
Riprendi SWITCH_ON
Permettere

'************************************************* ***************
'********************* The End *******************
'************************************************* ***************

Fine
Ci dispiace, ma è necessario il login per visualizzare questo attaccamento

 
metallico ha scritto:

CiaoHo disegnato il mio Robot Line Follower, ho scritto il programma per PIC utilizzando PICBASIC Pro.Il codice:'************************************************* ***************

'Nome *: * Path Finder Robot.BAS

'* Autore: Omar Shacker Udai *

'Avviso *: Copyright (c) 2005 *

'Data *: 3/27/2005 *

'* Version: 1.8 *

'************************************************* ***************

'************************************************* ***************

'*************** Installazione di appositi registri ***************

'************************************************* ***************DISPOSITIVO XT_OSC @, WDT_ON, PWRT_OFF, PROTECT_OFF'RA0 e RA1 sono ingressi, RA2-RA4 sono uscite

TRISA =% 00000011

'RB0-RB3 sono ingressi, RB4-RB7 sono uscite

TRISB =% 00001111

'PortB Pull-up sono disabili, interrupt sul fronte di salita a RB0

OPTION_REG =% 11000000'************************************************* ***************

'*********************** Interrupt esterni *****************

Setup'********************* in Pro PICBASIC ****************

'************************************************* ***************'Global Interrupt Enable, Interrupt RB0 esterno abilitato

INTCON =% 10010000'************************************************* ***************

'***************** Variabili globali e Conts **************

'************************************************* ***************SI CON 0 'Linea rilevata, o di ostacolo rilevato

NO CON 1 'No Line rilevato, o nessun ostacolo rilevato'************************************************* ***************'Interruttore ON routine Tasto per PortA.1

SW_ON VAR PORTA.1'************************************************* ***************'Variabili Ricevitore fotodiodo "Bit Sized"

L_RX VAR PORTB.1

M_RX VAR PORTB.2

R_RX VAR PORTB.3'************************************************* ***************'Regia Monitor LED varibles "Bit imprese"

VAR L_LED PORTA.2

VAR M_LED PORTA.3

VAR R_LED PORTA.4

GoSub LED_INIT'************************************************* ***************'Variabili L293 Motor Driver "Bit Sized"

VAR MOTOR_1A_PLUS PORTB.7

MOTOR_2A_MINUS VAR PORTB.6

VAR STEER_3A_PLUS PORTB.5

STEER_4A_MINUS VAR PORTB.4

GoSub MOTOR_INIT'************************************************* ***************

'************************************************* ***************

'************************************************* ***************

'********************* Programma principale *****************

'************************************************* ***************

'************************************************* ***************

'************************************************* ***************
'************************************************* ***************

'*************** Abilita Interrupt in PBPro ***************

Switch ON'***************** routine ********************

'************************************************* ***************'Abilita Interrupt in PICBASIC Pro

ON SW_OFF GoTo INTERRUPT

SWITCH_ON:

IF SW_ON == 0 Then SWITCH_ON'************************************************* ***************

'**************** Variabili di inizializzazione **************

'************************************************* ***************'Inizializzazione Variabile Generale

PRINCIPALI:

GoSub MOTOR_INIT

GoSub LED_INIT'************************************************* ***************

'****************** Seguace di routine Line ***************

'************************************************* ***************'Controllare Line Follower fotodiodo di routine

LINE_FOLLOWER:

IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) errore, allora

IF (L_RX == NO) e (M_RX == NO) e (R_RX == SI) poi a destra

IF (L_RX == NO) e (M_RX == SI), E (R_RX == NO) poi in avanti

IF (L_RX == NO) e (M_RX == SI), E (R_RX == SI) poi a destra

IF (L_RX == SI), E (M_RX == NO) e (R_RX == NO) e poi a sinistra

IF (L_RX == SI), E (M_RX == NO) e (R_RX == SI) Poi ERRORE

IF (L_RX == SI), E (M_RX == SI), E (R_RX == NO) e poi a sinistra

IF (L_RX == SI), E (M_RX == SI), E (R_RX == SI), poi in avanti'************************************************* ***************

Inoltra routine'********************* ******************

'************************************************* ***************'Forward routine

FORWARD:

L_LED = L_RX

M_LED = M_RX

R_LED = R_RX

LOW MOTOR_2A_MINUS

LOW STEER_3A_PLUS

LOW STEER_4A_MINUS

MOTOR_1A_PLUS PWM, 122, 1

LOW MOTOR_1A_PLUS

IF (L_RX == NO) e (M_RX == SI), E (R_RX == NO) poi in avanti

IF (L_RX == SI), E (M_RX == SI), E (R_RX == SI), poi in avanti

IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) poi in avanti

GoTo PRINCIPALI'************************************************* ***************

'********************** Routine destro *******************

'************************************************* ***************'Turn Right routine

DESTRA:

L_LED = L_RX

M_LED = M_RX

R_LED = R_RX

LOW MOTOR_2A_MINUS

HIGH STEER_3A_PLUS

LOW STEER_4A_MINUS

MOTOR_1A_PLUS PWM, 126, 2

LOW MOTOR_1A_PLUS

IF (L_RX == NO) e (M_RX == NO) e (R_RX == SI) poi a destra

IF (L_RX == NO) e (M_RX == SI), E (R_RX == SI) poi a destra

IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) Poi a destra

GoTo PRINCIPALI'************************************************* ***************

'********************** Routine Sinistra ********************

'************************************************* ***************'Girare a sinistra di routine

SINISTRA:

L_LED = L_RX

M_LED = M_RX

R_LED = R_RX

LOW MOTOR_2A_MINUS

LOW STEER_3A_PLUS

HIGH STEER_4A_MINUS

MOTOR_1A_PLUS PWM, 126, 2

LOW MOTOR_1A_PLUS

IF (L_RX == SI), E (M_RX == NO) e (R_RX == NO) e poi a sinistra

IF (L_RX == SI), E (M_RX == SI), E (R_RX == NO) e poi a sinistra

IF (L_RX == NO) e (M_RX == NO) e (R_RX == NO) e poi a sinistra

GoTo PRINCIPALI'************************************************* ***************

Errore di routine'********************** *******************

'************************************************* ***************'Errore di routine

ERRORE:

L_LED = L_RX

M_LED = M_RX

R_LED = R_RX

LOW MOTOR_2A_MINUS

LOW STEER_3A_PLUS

LOW STEER_4A_MINUS

MOTOR_1A_PLUS PWM, 122, 1

LOW MOTOR_1A_PLUS

GoTo PRINCIPALI'************************************************* ***************

MOTOR Initailization'***************** ******************

'************************************************* ***************MOTOR_INIT:

'L293 di inizializzazione del driver del motore

LOW MOTOR_1A_PLUS

LOW MOTOR_2A_MINUS

LOW STEER_3A_PLUS

LOW STEER_4A_MINUS

Ritorno'************************************************* ***************

'************** Initailization Direzione LED *************

'************************************************* ***************LED_INIT:

HIGH L_LED

HIGH M_LED

HIGH R_LED

Ritorno'************************************************* ***************

'****************** Routine di gestione interrupt *****************

'************************************************* ***************Disabilita

SW_OFF:

GoSub MOTOR_INIT

GoSub LED_INIT

INTCON.1 = 0

Riprendi SWITCH_ON

Permettere'************************************************* ***************

'********************* The End *******************

'************************************************* ***************Fine
 
Ciao glenjoy

È che la risposta per motivi di punti di raccolta, il modo più semplice.

Questo progetto mi ha portato mesi di duro lavoro, quindi è venuto dicendo che la sua linea di un seguace, seguace luce necessaria.

 
Cosa vuoi dire "si trasforma in umana" il suo un ro quistion SIFI si desidera monitorare e seguire un essere umano.

 
Ciao gidimiz
grazie per la tua guid
ma ho fatto tutto in analogico

 
Ciao,

arash_micro ha scritto:

Ciao gidimiz

grazie per la tua guid

ma ho fatto tutto in analogico
 
Ciao

È possibile utilizzare sensori infrarossi passivi rosso da seguire Homans, ma in tal caso essa dovrà seguire ogni oggetto che emana raggi infrarossi, tra cui le lampadine

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Ammiccare" border="0" />Qualsiasi altra cosa hai bisogno siete i benvenuti.

 

Welcome to EDABoard.com

Sponsor

Back
Top