Le immagini dei prodotti sono solo a scopo informativo e potrebbero presentare piccole differenze, a seconda del lotto e del fornitore. Le specifiche e i prezzi dei prodotti potrebbero essere soggetti a modifiche senza preavviso. Facciamo del nostro meglio per aggiungere specifiche quanto più precise e corrette possibili alla pagina del prodotto, ma è possibile che non siano del tutto corrette. Se identifichi un caso del genere, ti preghiamo di segnalarcelo.
Il prodotto è destinato agli specialisti e richiede personale qualificato e autorizzato. Il prodotto non include istruzioni di montaggio/uso . La messa in funzione del prodotto da parte di persone non qualificate comporta la perdita della garanzia secondo i Termini e Condizioni presenti sul sito.
Le specifiche tecniche indicate (corrente, potenza, ecc.) rappresentano valori massimi consentiti in condizioni ideali di funzionamento. Per un utilizzo sicuro e una durata ottimale, si raccomanda di utilizzare il prodotto in regime continuo a non più del 50% dei valori massimi specificati.
Modulo di Inseguimento Linea, 3 Canali, TCRT5000, 5V
Modulo IR a 3 sensori TCRT5000 per il rilevamento di linee nere su sfondi chiari, ideale per robot che seguono linee e progetti Arduino. Fornisce 3 uscite digitali separate L, C, R per il posizionamento a sinistra, al centro e a destra e per correzioni rapide della direzione. Funziona a 5V, ha comparatori integrati per un segnale stabile e LED di stato per una rapida verifica.
Spedito entro giovedì 27 agosto
Spedizione veloce gratuita per ordini superiori a 100EUR nella maggior parte de paesi UE.
Spediamo dal nostro magazzino entro 24 ore
Ricevi punti a ogni ordine, per un valore del 5%.
Il modulo con 3 sensori TCRT5000, destinato al rilevamento di una linea nera su sfondo chiaro, compatibile con Arduino, e frequentemente utilizzato nei robot seguilinea.
Ogni sensore funziona sul principio della riflessione infrarossa, in modo che le superfici chiare riflettano diversamente rispetto a quelle scure, e il robot può determinare la posizione della linea in tempo reale.
Il modulo offre 3 uscite separate, indicate come L, C e R, per sinistra, centro e destra, il che permette correzioni rapide di direzione e facile integrazione con Arduino o altri microcontrollori. Le uscite sono digitali (i sensori sono analogici ma il modulo integra un comparatore per trasformare l'uscita in segnale digitale 0 e 1).
Il sensore TCRT5000 ha una distanza ottica di rilevamento di circa 1 mm, che varia in base alla regolazione, alla superficie e alla luce ambientale. Per questo motivo i sensori devono essere posizionati molto vicino alla superficie di rilevamento per ridurre gli effetti della luce ambientale.
Il modulo integra LED di stato che confermano visivamente il rilevamento della linea, utili per il debug e la verifica rapida del funzionamento.
Specifiche:
Tensione di alimentazione: 5V
Tipo: modulo sensore seguilinea
Numero sensori: 3
Modello sensore: TCRT5000
Tipo di rilevamento: infrarosso riflettente
Rilevamento: linea nera
Output: 3 canali
Uscita: Digitale
Distanza ottica sensore TCRT5000: 0.2 mm - 15 mm
Distanza di picco TCRT5000: circa 2.5 mm
Distanza pratica su moduli seguilinea: circa 1 mm - 2 mm, in base alla regolazione e alla superficie
Pinout:
| Pin | Descrizione |
|---|---|
| VCC | Alimentazione modulo, solitamente 5V |
| GND | Massa |
| L | Uscita sensore sinistra |
| C | Uscita sensore centro |
| R | Uscita sensore destra |
Utilizzo:
Il modulo si collega a 5V e GND, e le uscite L, C e R si collegano ai pin digitali del microcontrollore.
Durante il funzionamento, ogni sensore legge separatamente la superficie sotto di esso, e il controller decide se il robot procede dritto, svolta a sinistra o a destra. Per buoni risultati, i sensori devono essere montati vicino al suolo, solitamente a 1-2 millimetri dalla superficie, e il percorso deve avere un contrasto chiaro. La distanza reale di rilevamento dipende dal colore del materiale e dalla luce ambientale.
Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.
Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.
Avertismente generale de siguranta:
Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.
Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.
Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.
Nu lasati produsul alimentat nesupravegheat in timpul testelor.
Produsul nu este jucarie si nu este destinat copiilor.
Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.
Identificare produs:
Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.
Producator / Importator / Distribuitor:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Website: www.sigmanortec.ro
Persoana responsabila in UE:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Documentatie si siguranta:
Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].
TEST CODE:
const int leftSensor = 2;
const int centerSensor = 3;
const int rightSensor = 4;
void setup() {
pinMode(leftSensor, INPUT);
pinMode(centerSensor, INPUT);
pinMode(rightSensor, INPUT);
Serial.begin(9600);
}
void loop() {
int leftState = digitalRead(leftSensor);
int centerState = digitalRead(centerSensor);
int rightState = digitalRead(rightSensor);
Serial.print("L: ");
Serial.print(leftState);
Serial.print(" C: ");
Serial.print(centerState);
Serial.print(" R: ");
Serial.println(rightState);
if (centerState == LOW && leftState == HIGH && rightState == HIGH) {
Serial.println("Move forward");
} else if (leftState == LOW) {
Serial.println("Turn left");
} else if (rightState == LOW) {
Serial.println("Turn right");
} else {
Serial.println("Line lost or stop");
}
delay(100);
}
LINE FOLLOWER CODE, H BRIDGE:
// 3-channel line follower with H-bridge driver
// Assumption: sensor output is LOW when black line is detected
const int sensorLeft = 2;
const int sensorCenter = 3;
const int sensorRight = 4;
// Motor driver pins
const int ENA = 5;
const int IN1 = 6;
const int IN2 = 7;
const int IN3 = 8;
const int IN4 = 9;
const int ENB = 10;
// Speed values
const int baseSpeed = 150;
const int turnSpeed = 130;
void setup() {
pinMode(sensorLeft, INPUT);
pinMode(sensorCenter, INPUT);
pinMode(sensorRight, INPUT);
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENB, OUTPUT);
stopMotors();
}
void loop() {
int L = digitalRead(sensorLeft);
int C = digitalRead(sensorCenter);
int R = digitalRead(sensorRight);
// LOW = black line detected
if (C == LOW && L == HIGH && R == HIGH) {
moveForward(baseSpeed, baseSpeed);
}
else if (L == LOW && C == HIGH) {
turnLeft(turnSpeed, baseSpeed);
}
else if (R == LOW && C == HIGH) {
turnRight(baseSpeed, turnSpeed);
}
else if (L == LOW && C == LOW && R == HIGH) {
turnLeft(100, baseSpeed);
}
else if (R == LOW && C == LOW && L == HIGH) {
turnRight(baseSpeed, 100);
}
else if (L == LOW && C == LOW && R == LOW) {
moveForward(baseSpeed, baseSpeed);
}
else {
stopMotors();
}
delay(10);
}
void moveForward(int leftSpeed, int rightSpeed) {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, leftSpeed);
analogWrite(ENB, rightSpeed);
}
void turnLeft(int leftSpeed, int rightSpeed) {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, leftSpeed);
analogWrite(ENB, rightSpeed);
}
void turnRight(int leftSpeed, int rightSpeed) {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
analogWrite(ENA, leftSpeed);
analogWrite(ENB, rightSpeed);
}
void stopMotors() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
analogWrite(ENA, 0);
analogWrite(ENB, 0);
}