Spisu treści:
Wideo: TA-ZON-BOT (Line Follower): 3 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
TA-ZON-BOT
El tazon siguelineas
Hemos realizado este robot siguelineas con la ayuda de los nuestros absolwentów (gracias minimakers).
Ha sido un proyecto express para poder participar en la OSHWDEN de A Coruña.
oshwdem.org/2017/06/oshwdem-2017/
traduktor google
TA-ZON-BOT
Miska podąża za linią
Z pomocą naszych uczniów stworzyliśmy tego robota, który podąża za tobą (dzięki minimakerom).
Udział w OSHWDEN w A Coruña był ekspresowym projektem.
oshwdem.org/2017/06/oshwdem-2017/
tłumacz Google
Krok 1: Krok 1: Komponenty
Los componentes que hemos utilizados
han sido los siguientes.
Una pieza redonda de metacrilato. (Podéis utilizar cualquier diseño, nuestra base mide lo justo para colocar el tazón bocabajo).
1 Tazón de desayuno (que sirve para concentrar al robot en la linea).
2 ruedas de un juguete reciclado.
2 motores con las siguientes especificaciones:
Specyficzne (Para 6V):
Wymiary: 26 x 10 x 12 mm
Stosunek reduktora: 30:1
Średnica del eje: 3mm (con ranura de bloqueo)
Napięcie nominalne: 6Vcc (puede funcionar entre 3 a 9Vcc)
Velocidad de giro sin carga: 1000 obr./min
Consumo sin carga: 120mA (1600mA con carga)
Moment obrotowy: 0,6 kg/cm (maks.)
Peso: 10 gram
Enlace de tienda online:
1 placa Arduino UNO (reciclada de un proyecto antiguo)
1 osłona dla silników Adafruit v2.3:
1 Un porta pilas de 8 pilas AAA(no utilizamos 2 fuentes de alimentación).
6 tornillos y tuercas para unir los elementos como se ve en la imagen
bridas para los motores, una goma elástica para sujetar el porta pilas y un trozo de una lamina de plásticos para la base del porta pilas.
1 array de sensores QTR-8RC con las siguientes características;
Specyfikacje matrycy czujnika odbicia QTR-8x • Wymiary: 2,95" x 0,5" • Napięcie robocze: 3,3-5,0 V • Prąd zasilania: 100 mA • Format wyjściowy dla QTR-8A: 8 napięć analogowych od 0 V do napięcia zasilania • Format wyjściowy dla QTR-8RC: 8 cyfrowych sygnałów zgodnych z We/Wy, które mogą być odczytywane jako czasowy wysoki impuls • Optymalna odległość wykrywania: 0,125" (3 mm) • Maksymalna zalecana odległość wykrywania dla QTR-8A: 0,25" (6 mm) • Maksymalna zalecana odległość wykrywania dla QTR-8RC: 0,375" (9,5 mm) • Waga bez kołków głowicy: 0,11 uncji (3,1 g) Lo podéis encontrar en:
tienda.bricogeek.com/componentes/257-array-…
Ensamblar todo … prróximamente un vídeo más detallado…
Komponenty, których użyliśmy, były następujące.
Okrągły kawałek metakrylanu. (Możesz użyć dowolnego wzoru, nasza podstawa wystarczy, aby umieścić miskę do góry nogami).
1 miska śniadaniowa (używana do skoncentrowania robota na linii).
2 kółka zabawki z recyklingu.
2 silniki o następujących specyfikacjach:
Dane techniczne (dla 6V): Wymiary: 26 x 10 x 12 mm Przełożenie reduktora: 30: 1 Średnica wału: 3mm (z rowkiem blokującym) Napięcie znamionowe: 6Vdc (może pracować w zakresie od 3 do 9Vdc) Prędkość obrotowa bez obciążenia: 1000rpm Zużycie bez obciążenia: 120mA (1600mA z obciążeniem) Moment obrotowy: 0,6kg/cm (max) Waga: 10 gramów
Link do sklepu internetowego:
1 płytka Arduino UNO (recykling ze starego projektu)
1 osłona dla silników Adafruit v2.3:
1 Pojemnik na 8 baterii AAA (nie używamy 2 zasilaczy).
6 śrub i nakrętek do łączenia elementów, jak widać na obrazku
kołnierze do silników, elastyczną gumę do trzymania uchwytu baterii i kawałek arkusza plastiku na podstawę uchwytu baterii.
1 tablica czujników QTR-8RC o następującej charakterystyce;
Dane techniczne matrycy czujnika odbicia QTR-8x • Wymiary: 2,95 "x 0,5" • Napięcie robocze: 3,3-5,0 V • Prąd zasilania: 100 mA • Format wyjściowy dla QTR-8A: 8 napięć analogowych od 0 V do napięcia zasilania • Format wyjściowy dla QTR-8RC: 8 cyfrowych sygnałów zgodnych z We/Wy, które mogą być odczytywane jako czasowy wysoki impuls • Optymalna odległość wykrywania: 0,125 "(3 mm) • Maksymalna zalecana odległość wykrywania dla QTR-8A: 0,25" (6 mm) • Maksymalna zalecana odległość wykrywania dla QTR-8RC: 0,375 "(9,5 mm) • Waga bez kołków głowicy: 0,11 uncji (3,1 g) Można go znaleźć w:
tienda.bricogeek.com/componentes/257-array-de-sensores-infrarojos-qtr-8rc-digital.html
Złóż wszystko… wkrótce bardziej szczegółowy film…
Krok 2: Krok 2: Inspiracja
Para probar el funcionamiento del los
motores hemos seguido esta ayuda del blog www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafr…
Es un resumen muy bueno de los diferentes motores que controla esta shield.
Para calibrar el sensor QTR-8RC podéis seguir el tutorial de
Y un ultimo enlace que os puede ayudar es este instructable;
www.instructables.com/id/Arduino-based-lin…
Aby przetestować wydajność silników, śledziliśmy ten blog wsparcia www.programarfacil.com
programarfacil.com/blog/arduino-blog/adafruit-motor-shield-arduino/
To bardzo dobre podsumowanie różnych silników, którymi steruje ta tarcza.
Aby skalibrować czujnik QTR-8RC, skorzystaj z samouczka
www.youtube.com/watch?v=_ZeybIDd80s&list=PLlNY7ygeCIzCuq0jSjPD8_LfcAsPKUcGL&index=6
I ostatni link, który może ci pomóc, to ten instruktażowy;
www.instructables.com/id/Arduino-based-line-follower-using-Pololu-QTR-8RC-l/
Krok 3: Krok 3: Kod
las conexiones entre el array de
sensores y las placas las hicimos de la siguiente manera:
El Led ON va al pin cyfrowy 12
Los 8 sensores van desde el
numer 1 al pin 8
numer 2 al pin 9
numer 3 al pin 2
numer 4 al pin 3
numer 5 al pin 4
numer 6 al pin 5
numer 7 al pin 6
numer 8 al pin 7
El código va sin repasarlo (se aceptan sugerencias)
#włączać
#włączać
#włączać
#włączać
// Utwórz obiekt osłony silnika z domyślnym adresem I2C
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
// Lub utwórz go z innym adresem I2C (powiedzmy do układania w stos)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield (0x61);
// Wybierz 'port' M1, M2, M3 lub M4. W tym przypadku M1
Adafruit_DCMotor *silnik1 = AFMS.getMotor(1);
// Możesz również zrobić inny silnik na porcie M2
Adafruit_DCMotor *silnik2 = AFMS.getMotor(2);
// Zmień poniższe wartości, aby dopasować je do silników, wagi, typu kół itp.
#zdefiniuj KP.2
#zdefiniuj KD 5
#zdefiniuj M1_DEFAULT_SPEED 50
#zdefiniuj M2_DEFAULT_SPEED 50
#zdefiniuj M1_MAX_SPEED 70
#zdefiniuj M2_MAX_SPEED 70
#define MIDDLE_SENSOR 4
#define NUM_SENSORS 8 // liczba używanych czujników
#define TIMEOUT 2500 // czeka na 2500 nas, aż wyjścia czujnika spadną
#define EMITTER_PIN 12 // emiter jest kontrolowany przez cyfrowy pin 2
#define DEBUG 0 // ustaw na 1, jeśli potrzebne jest wyjście debugowania szeregowego
QTRSensorsRC qtrrc((unsigned char) {8, 9, 2, 3, 4, 5, 6, 7}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);
unsigned int sensorValues[NUM_SENSORS];
pusta konfiguracja()
{
opóźnienie (1000);
ręczna_kalibracja();
set_motors(0, 0);
}
int ostatni błąd = 0;
int last_proportional = 0;
całka int = 0;
pusta pętla()
{
Serial.początek(9600); // skonfiguruj bibliotekę szeregową na 9600 bps
Serial.println("Adafruit Motorshield v2 - test silnika DC!");
AFMS.początek(); // utwórz z domyślną częstotliwością 1,6KHz
//AFMS.początek(1000); // LUB z inną częstotliwością, powiedzmy 1KHz
// Ustaw prędkość startową, od 0 (wył.) do 255 (maks. prędkość)
silnik1->ustawiona prędkość(70);
motor1->run(DO PRZODU);
// włącz silnik
motor1->run(RELEASE);
silnik2->ustawiona prędkość(70);
silnik2->uruchom(NAPRZÓD);
// włącz silnik
motor2->run(RELEASE);
niepodpisane czujniki int[5];
int pozycja = qtrrc.readLine(czujniki);
błąd int = pozycja - 2000;
int motorSpeed = KP * błąd + KD * (błąd - lastError);
ostatni błąd = błąd;
int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - prędkość silnika;
// ustaw prędkość silnika za pomocą dwóch powyższych zmiennych prędkości silnika
set_motors(leftMotorSpeed, rightMotorSpeed);
}
void set_motors (int motor1speed, int motor2speed)
{
jeśli (motor1speed > M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; // ogranicz prędkość maksymalną
jeśli (motor2speed > M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; // ogranicz prędkość maksymalną
jeśli (motor1speed < 0) motor1speed = 0; // utrzymuj silnik powyżej 0
jeśli (motor2speed < 0) motor2speed = 0; // utrzymuj prędkość silnika powyżej 0
motor1-> setSpeed (silnik1speed); // ustaw prędkość silnika
motor2-> setSpeed (silnik2speed); // ustaw prędkość silnika
motor1->run(DO PRZODU);
silnik2->uruchom(NAPRZÓD);
}
nieważna ręczna_kalibracja() {
wew;
dla (i = 0; i < 250; i++) // kalibracja zajmie kilka sekund
{
qtrrc.kalibracja(QTR_EMITTERS_ON);
opóźnienie(20);
}
if (DEBUG) { // jeśli true, generuj dane czujnika przez wyjście szeregowe
Serial.początek(9600);
for (int i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtrrc.kalibrowaneMinimumOn);
Serial.print(' ');
}
Serial.println();
for (int i = 0; i < NUM_SENSORS; i++)
{
Serial.print(qtrrc.kalibrowaneMaximumOn);
Serial.print(' ');
}
Serial.println();
Serial.println();
}
}
Bueno a ver que tal se nos da este proyecto „express” en la competición del OSHWDEM.
Zalecana:
Line Follower na Tinkercad: 3 kroki
Line Follower w Tinkercad: Robot A-Line Follower, jak sama nazwa wskazuje, jest zautomatyzowanym pojazdem prowadzonym, który podąża za wizualną linią osadzoną na podłodze lub suficie. Zwykle linia wizualna jest ścieżką, którą podąża robot podążający za linią i będzie to czarna linia na
Robot Line Follower z PICO: 5 kroków (ze zdjęciami)
Robot Line Follower z PICO: Zanim będziesz w stanie stworzyć robota, który może zakończyć cywilizację, jaką znamy i będzie w stanie zakończyć rasę ludzką. Najpierw musisz być w stanie stworzyć proste roboty, takie, które mogą podążać za linią narysowaną na ziemi, a tutaj będziesz
Line Follower Robot Arduino i L293D Shield: 4 kroki
Line Follower Robot Arduino i L293D Shield: Line Follower to bardzo prosty robot idealny dla początkujących elektroników. Robot porusza się po linii za pomocą czujnika iR. Czujnik posiada dwie diody, jedna dioda wysyła światło podczerwone, druga dioda odbiera światło odbite od powierzchni. Wh
Tablica szkolna Arduino Line Follower Wallrides: 8 kroków (ze zdjęciami)
Tablica Arduino Line Follower Wallrides Classroom Whiteboard: Podążanie za linią na ziemi jest zbyt nudne! Próbowaliśmy spojrzeć pod innym kątem na osoby śledzące linię i przenieść ich na inny samolot – na tablicę szkolną. Zobacz, co z tego wyszło
Robot Line Follower bez Arduino: 4 kroki
Robot Line Follower bez Arduino: W tej instrukcji nauczę Cię, jak wykonać linię podążającą za robotem bez użycia arduino. Użyję bardzo łatwych kroków, aby wyjaśnić. Ten robot będzie używał czujnika zbliżeniowego IR do śledzenia linii. Nie będziesz potrzebować żadnego rodzaj doświadczenia w programowaniu do b