Menu English Ukrainian Rosyjski Strona główna

Bezpłatna biblioteka techniczna dla hobbystów i profesjonalistów Bezpłatna biblioteka techniczna


ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ
Darmowa biblioteka / Schematy urządzeń radioelektronicznych i elektrycznych

Prosty robot. Encyklopedia elektroniki radiowej i elektrotechniki

Bezpłatna biblioteka techniczna

Encyklopedia radioelektroniki i elektrotechniki / Sprzęt do sterowania radiowego

Komentarze do artykułu Komentarze do artykułu

W artykule przedstawiono schemat prostego "robota". Idzie do światła, a jeśli nie ma źródła światła, aktywowany jest tryb „Swobodnego wyszukiwania”, tj. robot pojedzie, a w razie kolizji odjedzie i zawróci.

Prosty robot. Schemat ideowy robota
(kliknij, aby powiększyć)

Sercem robota jest mikrokontroler firmy ATMEL: AT90S2313, ale można zastosować dowolny inny tej firmy, mikrokontroler ten posiada 2kb pamięci programu, 15 portów I/O, dostępne zasilanie - 4-6V. Silniki będą sterowane przez „sterownik silnika” - mikroukład L293D (analog krajowy - KR1128KT4A). Jako czujnik zdecydowano się zastosować fotorezystory SF3-1.

Robot składa się z dwóch silników. Oto jak będą działać w przypadku niektórych działań:

Zespół Silnik podróżny Silnik huśtawki
do przodu (F) naprzód przestań
przód-prawo (FR) naprzód naprzód
przód-lewo (FL) naprzód назад
tył (B) назад przestań
tył prawo (BR) назад naprzód
tył lewy (BL) назад назад
tył lewy (BL) przestań przestań

Używane elementy radiowe w obwodzie:

Mikrokontroler AT90S2313

Mikroukład L293D (analog domowy - KR1128KT4A)

2 fotorezystor SF3-1

Kwarc przy 4 MHz

Kondensatory 22-24pF

Stabilizator 7805 (lub KREN5A)

Rezystor 100 omów (opcjonalnie)

dwa silniki

Power Vbat - 4 baterie AA lub 1 korona (9V)

Zasilanie Vm - 1 korona (9V)

Po złożeniu układu należy wgrać program do mikrokontrolera i robot jest gotowy:

/************************************************** **** ***

Typ chipa: AT90S2313

Częstotliwość zegara: 4,000000 MHz

Model pamięci : Mały

Rozmiar zewnętrznej pamięci SRAM: 0

Rozmiar stosu danych: 32

************************************************** ***** **/

#zawiera <90s2313.h>

#zawierać

#włączać

// przypisanie definicji dla wygody pracy z urządzeniami peryferyjnymi

#define PORT OUT

#definiuj SILNIK_F 7

#define SILNIK_B 6

#zdefiniuj TURN_R 5

#zdefiniuj TURN_L 4

#define W PIND

#definiuj ŚWIATŁO_R 0

#define ŚWIATŁO_L 1

#define ZDERZAK_F 2

#define ZDERZAK_B 3

// Możliwe tryby jazdy

wyliczenie {STOP, F, FR, FL, B, BR, BL};

//------------------------------------------------ ------------------------------

// Opóźnienie t x 10ms

//------------------------------------------------ ------------------------------

void Delay_10ms (niepodpisany wykres)

{znak ja;

dla(i=0;i

// tabela prawdopodobieństw wyboru kierunku ruchu

// na podstawie aktualnego kierunku ruchu

znak bez znaku p[7][7] =

{14, 43, 57, 71, 86, 93, 100,

7, 43, 71, 100, 100, 100, 100,

7, 50, 93, 100, 100, 100, 100,

7, 50, 57, 100, 100, 100, 100,

29, 29, 29, 29, 57, 79, 100,

36, 36, 36, 36, 71, 93, 100,

36, 36, 36, 36, 71, 79, 100};

// aktualny kierunek ruchu

unsigned char this_move;

//------------------------------------------------ ------------------------------

// Włącz kombinację silników do ruchu w danym kierunku

//------------------------------------------------ ------------------------------

void go (kierunek znaków bez znaku){

przełącznik (kierunek) {

sprawa STOP:

SILNIK_WYJ=0;

OUT.SILNIK_B=0;

WYJŚCIE.TURN_R=0;

WYJŚCIE.TURN_L=0;

break;

przypadek F:

SILNIK_WYJ=1;

OUT.SILNIK_B=0;

WYJŚCIE.TURN_R=0;

WYJŚCIE.TURN_L=0;

break;

sprawa FR:

SILNIK_WYJ=1;

OUT.SILNIK_B=0;

WYJŚCIE.TURN_R=1;

WYJŚCIE.TURN_L=0;

break;

sprawa FL:

SILNIK_WYJ=1;

OUT.SILNIK_B=0;

WYJŚCIE.TURN_R=0;

WYJŚCIE.TURN_L=1;

break;

przypadek B:

SILNIK_WYJ=0;

OUT.SILNIK_B=1;

WYJŚCIE.TURN_R=0;

WYJŚCIE.TURN_L=0;

break;

sprawa BR:

SILNIK_WYJ=0;

OUT.SILNIK_B=1;

WYJŚCIE.TURN_R=1;

WYJŚCIE.TURN_L=0;

break;

sprawa BL:

SILNIK_WYJ=0;

OUT.SILNIK_B=1;

WYJŚCIE.TURN_R=0;

WYJŚCIE.TURN_L=1;

break;

}

}

//------------------------------------------------ ------------------------------

// Wybór kierunku ruchu w kolejnym kroku zgodnie z tabelą prawdopodobieństwa

//------------------------------------------------ ------------------------------

znak bez znaku next_move(void){

niepodpisany charpp, ja;

pp = rand()/327; // pobierz losową liczbę 0..99

for (i=0;i<7;i++){ // wyszukaj dopasowanie w tabeli prawdopodobieństwa

if (p[this_move][i] > pp) przerwa;

}

this_move = i; // zapisz nowy otrzymany kierunek jako bieżący

zwrot(i);

}

//------------------------------------------------ ------------------------------

// Obsługa przerwania przedniego zderzaka (INT0 = PD2)

//------------------------------------------------ ------------------------------

przerwanie [EXT_INT0] void ext_int0_isr(void)

{

if(to_przeniesienie==FR) idź(BL);

if(this_move==FL) idź(BR);

w przeciwnym razie idź (B);

Opóźnienie_10ms(250); // odlot w ciągu 2.5 x 2 sekundy

Opóźnienie_10ms(250);

this_move=B;

}

//------------------------------------------------ ------------------------------

// Obsługa przerwania tylnego zderzaka (INT1 = PD3)

//------------------------------------------------ ------------------------------

przerwanie [EXT_INT1] void ext_int1_isr(void)

{

if(this_move==BR) idź(FL);

if(this_move==BL) go(FR);

w przeciwnym razie idź(F);

Opóźnienie_10ms(250); // odlot w ciągu 2.5 x 2 sekundy

Opóźnienie_10ms(250);

this_move=F;

}

//------------------------------------------------ ------------------------------

// „Losowy spacer”

//------------------------------------------------ ------------------------------

unsigned char walk(void){

// ta pętla organizuje „swobodne poruszanie się” podczas

// brak sygnału z żadnego z czujników światła

while((IN.LIGHT_R) && (IN.LIGHT_L)){

idź(następny_przesuń()); // uzyskaj następny kierunek ruchu i

Opóźnienie_10ms(250); // poruszaj się w tym kierunku przez 2.5 sekundy

}

// ta pętla organizuje ruch do światła, podczas gdy

// jest sygnał z co najmniej jednego z czujników światła

podczas((IN.LIGHT_R==0) || (IN.LIGHT_L==0)){

if((IN.LIGHT_R==0) && (IN.LIGHT_L==0)) go(F);

w przeciwnym razie if(IN.LIGHT_R==0) go(FR);

w przeciwnym razie if(IN.LIGHT_L==0) go(FL);

}

powrót(0);

}

//------------------------------------------------ ------------------------------

// Główny program

//------------------------------------------------ ------------------------------

void main (void)

{

DDRB=0xff; // przypisz wszystkie linie portu B do wyjścia

PORTB = 0x00; // i ustaw je nisko

DDRD=0x00; // przypisz wszystkie linie portu D do wejścia

PORTD=0xff; // podłącz wewnętrzne rezystory obciążenia

// Inicjalizacja zewnętrznych przerwań

// INT0: włączone

// Tryb INT0: Opadająca krawędź

// INT1: włączone

// Tryb INT1: Opadająca krawędź

GIMSK=0xC0;

MCUCR=0x0A;

GIFR=0xC0;

// włącz przerwania

#asm("sei")

// uruchom główną pętlę

while(1) spacer();

}

Pobierz program, plik oprogramowania układowego i schemat robota w formacie sPlan

Publikacja: cxem.net

Zobacz inne artykuły Sekcja Sprzęt do sterowania radiowego.

Czytaj i pisz przydatne komentarze do tego artykułu.

<< Wstecz

Najnowsze wiadomości o nauce i technologii, nowa elektronika:

Nowy sposób kontrolowania i manipulowania sygnałami optycznymi 05.05.2024

Współczesny świat nauki i technologii rozwija się dynamicznie i każdego dnia pojawiają się nowe metody i technologie, które otwierają przed nami nowe perspektywy w różnych dziedzinach. Jedną z takich innowacji jest opracowanie przez niemieckich naukowców nowego sposobu sterowania sygnałami optycznymi, co może doprowadzić do znacznego postępu w dziedzinie fotoniki. Niedawne badania pozwoliły niemieckim naukowcom stworzyć przestrajalną płytkę falową wewnątrz falowodu ze stopionej krzemionki. Metoda ta, bazująca na zastosowaniu warstwy ciekłokrystalicznej, pozwala na efektywną zmianę polaryzacji światła przechodzącego przez falowód. Ten przełom technologiczny otwiera nowe perspektywy rozwoju kompaktowych i wydajnych urządzeń fotonicznych zdolnych do przetwarzania dużych ilości danych. Elektrooptyczna kontrola polaryzacji zapewniona dzięki nowej metodzie może stanowić podstawę dla nowej klasy zintegrowanych urządzeń fotonicznych. Otwiera to ogromne możliwości dla ... >>

Klawiatura Primium Seneca 05.05.2024

Klawiatury są integralną częścią naszej codziennej pracy przy komputerze. Jednak jednym z głównych problemów, z jakimi borykają się użytkownicy, jest hałas, szczególnie w przypadku modeli premium. Ale dzięki nowej klawiaturze Seneca firmy Norbauer & Co może się to zmienić. Seneca to nie tylko klawiatura, to wynik pięciu lat prac rozwojowych nad stworzeniem idealnego urządzenia. Każdy aspekt tej klawiatury, od właściwości akustycznych po właściwości mechaniczne, został starannie przemyślany i wyważony. Jedną z kluczowych cech Seneki są ciche stabilizatory, które rozwiązują problem hałasu typowy dla wielu klawiatur. Ponadto klawiatura obsługuje różne szerokości klawiszy, dzięki czemu jest wygodna dla każdego użytkownika. Chociaż Seneca nie jest jeszcze dostępna w sprzedaży, jej premiera zaplanowana jest na późne lato. Seneca firmy Norbauer & Co reprezentuje nowe standardy w projektowaniu klawiatur. Jej ... >>

Otwarto najwyższe obserwatorium astronomiczne na świecie 04.05.2024

Odkrywanie kosmosu i jego tajemnic to zadanie, które przyciąga uwagę astronomów z całego świata. Na świeżym powietrzu wysokich gór, z dala od miejskiego zanieczyszczenia światłem, gwiazdy i planety z większą wyrazistością odkrywają swoje tajemnice. Nowa karta w historii astronomii otwiera się wraz z otwarciem najwyższego na świecie obserwatorium astronomicznego - Obserwatorium Atacama na Uniwersytecie Tokijskim. Obserwatorium Atacama, położone na wysokości 5640 metrów nad poziomem morza, otwiera przed astronomami nowe możliwości w badaniu kosmosu. Miejsce to stało się najwyżej położonym miejscem dla teleskopu naziemnego, zapewniając badaczom unikalne narzędzie do badania fal podczerwonych we Wszechświecie. Chociaż lokalizacja na dużej wysokości zapewnia czystsze niebo i mniej zakłóceń ze strony atmosfery, budowa obserwatorium na wysokiej górze stwarza ogromne trudności i wyzwania. Jednak pomimo trudności nowe obserwatorium otwiera przed astronomami szerokie perspektywy badawcze. ... >>

Przypadkowe wiadomości z Archiwum

Fale akustyczne w leczeniu urazów mięśni 15.07.2016

Specjaliści z Uniwersytetu w Salzburgu (Austria) odkryli, że ekspozycja na akustyczne fale uderzeniowe ma pozytywny wpływ na regenerację uszkodzonych mięśni i może być stosowana jako obiecująca terapia dla sportowców w przyszłości.

Praca specjalistów poświęcona jest pozaustrojowej terapii falą uderzeniową (Extracorporeal Shock Wave Therapy lub ESWT) - metodzie leczenia schorzeń układu mięśniowo-szkieletowego za pomocą akustycznych fal uderzeniowych o małej mocy. Terapia ta sprawdziła się w leczeniu więzadeł i ścięgien, ale austriaccy naukowcy postanowili wyjść poza zwykły zakres i przetestować, jaki wpływ na mięśnie będzie miała ESWT.

„O ile nam wiadomo, nikt nie przeprowadził eksperymentów, które wykazałyby, jak korzystny wpływ ESWT na uszkodzenia mięśni – jedna z najczęstszych przyczyn kontuzji w uprawianiu sportu. ESWT może przyspieszyć proces gojenia się mięśni, umożliwiając sportowcom powrót do sportu w możliwie najkrótszy czas” – mówi dr Angela Zissler z Uniwersytetu w Salzburgu i główna autorka badania.

Terapia falą uderzeniową mechanicznie stymuluje tkanki, gromadzi i wyzwala podział komórek macierzystych, które zastępują martwe komórki w organizmie. Według badań fale uderzeniowe stymulują czynniki sygnalizacyjne w tkankach mięśniowych. Te czynniki z kolei uruchamiają pracę komórek progenitorowych, które do pewnego momentu są na niskim poziomie zróżnicowania, ale w odpowiednim momencie zaczynają się rozwijać w dorosłą komórkę, a następnie we włókna mięśniowe.

Zissler wierzy, że ESWT ma wielkie nadzieje w dziedzinie leczenia kontuzji sportowych. Niska częstotliwość (ok. 1 uderzenie na sekundę) i niska moc (poniżej 0,2 mJ/mm2) akustycznych fal uderzeniowych umożliwiają stosowanie terapii bez stosowania środków przeciwbólowych. Terapia jest nieinwazyjna, trwa nie dłużej niż 15 minut i nie wywołuje skutków ubocznych, dzięki czemu może konkurować z tradycyjną fizjoterapią.

Inne ciekawe wiadomości:

▪ Dozymetr światła

▪ sztuczne drewno

▪ Drewno o dużej wytrzymałości

▪ W Układzie Słonecznym odkryto nową planetę

▪ Rozmrażanie powierzchni w sekundę

Wiadomości o nauce i technologii, nowa elektronika

 

Ciekawe materiały z bezpłatnej biblioteki technicznej:

▪ sekcja serwisu dla lubiących podróżować - wskazówki dla turystów. Wybór artykułów

▪ artykuł Od wielkiego do śmiesznego jeden krok. Popularne wyrażenie

▪ artykuł Jaka jest najlepsza pora dnia na naukę? Szczegółowa odpowiedź

▪ artykuł Lukrecja. Legendy, uprawa, metody aplikacji

▪ przedrostek artykułu - Howler. Encyklopedia elektroniki radiowej i elektrotechniki

▪ artykuł Korektor graficzny w LA3607. Encyklopedia elektroniki radiowej i elektrotechniki

Zostaw swój komentarz do tego artykułu:

Imię i nazwisko:


Email opcjonalny):


komentarz:





Wszystkie języki tej strony

Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn

www.diagram.com.ua

www.diagram.com.ua
2000-2024