Skocz do zawartości

mpsk2

Użytkownicy
  • Zawartość

    21
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O mpsk2

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Białystok
  1. Też ją polecam, tzn tą Oślą łaczkę, ostatnio pożyczyłem ją dla kolegi - jest mega zadowolony. To chyba jedna z najlepszych pozycji.
  2. Moja propozycja, dla zwiększenia skuteczności w jakimś dziale któryś z moderatorów mógł zamieścić temat o literaturze w temacie robotyki, z tym żeby go nikt nie zaśmiecał zbędnymi komentarzami
  3. Ja zacząłem od BASIC'a, ale strasznie szybko mnie odrzucił, potem Delphi, ale 1 program i się z nim pożegnałem. Kolejnym krokiem był HTML, ale szybko okazało się, że to nie to. Potem przyszedł czas na C++ - najlepszy dla mnie wybór. Trochę w tym siedziałem i potem gimnazjum się skończyło i zamiast iść na mat-infa poszedłem na mat-fiza. Teraz zainteresowałem się µC i piszę w C, korzystając z wiedzy posiadanej wcześniej. Assamblerem nigdy się nie zainteresowałem.
  4. Musi być laserowa, bo drukarka laserowa drukuje tonerem, a atramentowa tuszem. To jest najważniejsza różnica. Toner pod wpływem wysokiej temperatury się przykleja do wielu rzeczy, atrament już tak nie działa.
  5. Nie wiem jak to jest dokładnie z plikami z rozszerzeniem ".h". Jak kiedyś programowałem w MS VC++ lub DevC+++ to tam jak się dodało plik takiego typu to dla #include <NAZWA.h> szukał on tego pliku w folderze z bibliotekamie np. c\program files\devc++\library\NAZWA.h a dla ..\projekt\NAZWA.h w folderze z projektem Jak to się ma dla WinAVR i jak się tworzy projekt z kilku plików z rozszerzeniem ".c"??
  6. To jest tak jak z tym co mówi panie od PO - "Pamiętajcie, wojna może wybuchnąć w każdej chwili!"
  7. Tak a propos, nie doczytałem się, ale czemu to musi być w BASICU?
  8. hmm... masz racje, a jak to wyeliminować (oprócz odrzucenia opcji zasilania <7V) innych błędów brak??
  9. Witam Proszę o pomoc w sprawdzeniu tego co skleciłem z wiedzy własnej i internetu. Szczególnie program i płytki Chciałbym wiedzieć takie rzeczy jak "czy będzie działać" zanim zrobię. Zasilanie 7,2V pewnie, minimum 6V (akumulatorki) #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> //porty C robią za sterowanie silnikiem //porty D robią za wejście czujnika linii i wyjście 3 diod // //int SPT(); //silnik prawy tył //int SPP(); //silnik prawy przód //int SPS(); //silnik prawy stop //int SLT(); //silnik lewy tył //int SLP(); //silnik lewy przód //int SLS(); //silnik lewy stop int TYL(int); //jazda do tyłu - napisana int PRZ(int); //Jazda do przodu - napisana int SWL(); //skręć w lewo - napisana int SWP(); //skręć w prawo - napisana //int ZAW(); //zawróć - narazie musze miec roota, by wiedziec jak on się obraca (miejscu czy nie) int RNS(); //stop - napisana int PKR(); //procedura kierowania robota - napisana int POP(); //procedura obsłógi programu - napisana int PTL(); //przypisuje moim ułatwieniom numerki - napisane int ZTL(); //zeruje je - napisana int c1,c2,c3,c4; //zmienne definiowane globalnie mają pierwotnie wartość 0, zmienne numerowane od lewej int A;//info, tam była linia 0-nie było, 1-po lewej, 2-prawo, dla obu każę mu zawsze skręcać w lewo, narazie int main() { DDRD=0xF0;//4 pierwsze wejścia, 4 następne wyjścia - czujnik lini i 3 sygnalizatory - diody DDRC=0xFF;//8 wyjść, 6 pierwszych do sterowania silnikiem, następne 2 bez celu //pętla nieskończona POP(); return 0; } int POP(){ while(PKR()){_delay_ms(25);} return 1; } int ZTL(){c1=0;c2=0;c3=0;c4=0; return 1;} int PTL(){ if(PINC & 0x01)c1=1; if(PINC & 0x02)c2=1; if(PINC & 0x04)c3=1; if(PINC & 0x08)c4=1; return 1;} int PKR(){ //dla ułatwienia rozpiszę piny wejścia na zmienne PTL(); //w naszym przypdku wszystkie czujniki ustawione są w jednej lini //jeżeli 2 środkowe wskazują, że jest ok, a pozostałe, że nie to znaczy, że jest ok if((c2==c3==1) && (c1==c4==0)) {PRZ(); ZTL(); return 1;} //jeżeli 1 z 2 lewe działają to skręca w lewo if((c2==1 || c1==1) && (c3==c4==0)) {SWL(); ZTL(); return 1;} //jeżeli 1 z 2 prawe działają to skręca w prawo if((c2==c1==0) && (c3==1 || c4==1)) {SWP(); ZTL(); return 1;} //jeżeli żaden to pojedz 2s do przodu, //jak będzie po drodze to jazda, a jak nie to klapa, koniec (narazie bez zawracania) if(c1==c2==c3==c4==0){PRZ(); for(int i = 0 ; i < 8; i++){_delay_ms(255); PTL(); if(c1==1 || c2==1 || c3==1 || c4==1){ ZTL();return 1;} } ZTL(); return 0;} //3 linie po lewej if(c1==c2==c3==1 && c4==0 && A==0) {A=1; PRZ(2); PTL(); if(c1==c2==c3==c4==0){ TYL(2); ZTL();} else{PRZ();return 1;} } if(c1==c2==c3==1 && c4==0 && A==1) {SWL();for(int i = 0 ; i < 4; i++)_delay_ms(255);A=0; return 1; } //3 linie po prawej if(c4==c2==c3==1 && c1==0 && A==0) {A=2; PRZ(2); PTL(); if(c1==c2==c3==c4==0){ TYL(2); ZTL();} else{PRZ();return 1;} } if(c4==c2==c3==1 && c1==0 && A==2) {SWP();for(int i = 0 ; i < 4; i++)_delay_ms(255); return 1; } //4 czujniki - skręca w lewo if(c4==c2==c3==c1==1 && A==0) {A=1; PRZ(2); PTL(); if(c1==c2==c3==c4==0){ TYL(2); ZTL();} else{PRZ();return 1;} } if(c4==c2==c3==c1==1 && A==1) {SWL();for(int i = 0 ; i < 4; i++)_delay_ms(255); return 1; } } int RNS(){ PORTC=0x00; // stop } nt SWL(){ PORTD|=0x80; PORTC=0x78; // w prawy przód, lewy tył } int SWP(){PORTD|=0x40; PORTC=0xD4; // w prawy tył, lewy przód } int PRZ(int x=-1){PORTD|=0xC0; PORTC=0xD8; if(x==-1)return 1; x*=4; while(x--)_delay_ms(255); return 1; } int TYL(int x=-1){ PORTC=0x74; if(x==-1)return 1; x*=4; while(x--)_delay_ms(255); return 1; }
×
×
  • Utwórz nowe...