Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2603
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    191

Wszystko napisane przez Elvis

  1. Jak chodzi o książkę i płytkę, to rozdawali takie na szkoleniach ostatnio Książki jeszcze nie miałem czasu przeczytać, ale wydaje się bardzo ciekawa. Jest od podstaw, aż do uruchamiania FreeRTOS-a. Natomiast co do płytki, to nie wiem, czy to dobry wybór. Jest tania, ale na tym kończą się zalety. Za 150zł dostajesz 2 diody, joystick, łącze usb i procesor. To raczej niewiele, żeby nauczyć się jak procesor działa. Zostaje dołączyć coś własnego. I tutaj pojawia się problem - kto wymyślił taki kształt płytki(motylek) ??? Ja bym radził albo droższą płytkę ewaluacyjną (z większą liczbą układów na niej), albo tani układ, np. http://www.propox.com/products/t_174.html i samemu płytkę zrobić. Wszystko zależy na jakim jesteś poziomie z elektroniki. Ale płytka motylek to nieporozumienie.
  2. W największym skrócie, różnice między ARM7 i ARM9 są bardzo duże. ARM7 mają prędkości do ok. 70MHz, ARM9 - 150MHz. Poza tym ARM9 są bardziej mikroprocesorami niż mikrokontrolerami. Mają wbudowany układ MMU, pozwalają na uruchomienie na nich systemu operacyjnego (np. linux, windows ce). ARM7 są mniejsze, tańsze i pobierają mniej prądu. Służą raczej do budowy prostych urządzeń/sterowników. ARM7 można porównywać do AVR, natomiast ARM9 bardziej przypomina procesor np. Intel Pentium, niż mikrokontroler. Natomiast Cortex-M3, którego przykładem są układy STM32 to nowa wersja rdzenia armów. Pod wieloma względami jest to uproszczony ARM7, jednocześnie działający szybciej i z bardziej rozbudowanymi peryferiami. ARM9 to raczej nie jest procesor dla początkującego elektronika, radzę więc wybierać ARM7 lub Cortex-y. Parametry obu są dość podobne, jednak obecnie widać tendencję do tworzenia nowych mikrokontrolerów z rdzeniem cortex, więc prawdopodobnie w przyszłości będzie on popularniejszy niż ARM7.
  3. Rejestr nazywa się TCCR1B. Więc różnica to małe b, duże B, co dla kompilatora jest ważne. Ale chyba wszyscy wiedzą o co chodzi i problem nie dotyczy wielkości literki.
  4. Jeśli chcesz rozbudowywać robota, a nie wiesz jeszcze o co, to użyj większego procesora. Przykładowo Atmega16 w obudowie DIP40. Koszt niewiele wyższy, a będziesz miał zapas pinów.
  5. Ja używam VS2005, ale w express jest chyba tak samo. Tworzysz nowy projekt -> aplikację windows i pierwsze okienko masz od razu gotowe. Na początek powinno wystarczyć. Jak będziesz potrzebował kolejne, dodajesz formularz. Jak chodzi o programowanie portów, to komponent SerialPort powinien być dostępny w palecie. Dodajesz go do formularza standardowo i można rozpocząć działanie. [ Dodano: 11 Lis 09 11:00 ] W necie są tutoriale, wystarczy wpisać w google "c# serialport tutorial". Przykładowo to wygląda ciekawie: http://msmvps.com/blogs/coad/archive/2005/03/23/39466.aspx
  6. Okienka robi się najłatwiej w Visual Studio, tworzysz formularz i edytujesz myszką (jak w delphi, VB, itp). Co do portu szeregowego, to jest komponent SerialPort. Wystarczy umieścić na formularzu, skonfigurować i gotowe.
  7. Wygląda prawidłowo, może problem jest w innym miejscu programu?
  8. Jeśli wiesz jak, to nie ma różnicy w czym napiszesz program. Nie polecam tylko Javy, poza tym pełny wybór, C, C++, C#, Delphi, Visual Basic. Jak chodzi o Delphi to wybór o tyle słaby, że jest to już nieco archaiczne środowisko. Dawniej używałem C++ Buildera, ale są problemy z kompatybilnością (wersja 6 vs. Vista), więc pewnie z delphi też mogą być problemy. Jak chcesz łatwo zrobić aplikację okienkową to polecam C#.
  9. Możesz darować sobie dławik przy AVCC. Atmega8 ma błąd - AVCC jest wewnętrznie zwarte z VCC, więc dławik nic nie da.
  10. Masz błąd w instrukcjach: if(kod & 0x01) LCD_WriteText("1"); else LCD_WriteText("0"); Zamiast 0x01, 0x02, 0x03, 0x04, 0x05... powinno być 0x01, 0x02, 0x04, 0x08, 0x10, 0x20 itd.. Ogólnie sprawdzenie i-tego bitu (i liczone od 0) to test: if (kod & (1< Więc zamiast 16 razy pisać to samo można dać pętlę [ Dodano: 08 Lis 09 08:52 ] Do wyświetlania liczby proponuję kod: unsigned int mask; int i; .... mask = 0x8000; for (i=0;i<16;i++) { if (kod & mask) LCD_WriteText("1"); else LCD_WriteText("0"); mask >>=1; }
  11. Może warto zacząć od gotowego układu np. z avt? Na szybko znalazłem: http://sklep.avt.pl/p/pl/483064/analogowo-cyfrowy+analizator+widma+-+zestaw+do+samodzielnego+montazu.html Elektroniczna część jest bardzo prosta. Główny problem to program - trzeba policzyć transformatę Fouriera. Więc jest co robić Ale ogólnie układy akustyczne nie są łatwe, dlatego na początku dostałeś tyle złośliwych postów. Jeśli jesteś zupełnie początkującym to będzie ciężko, o wiele łatwiej zacząć od światłoluba. Jeśli chcesz spróbować sił i poznać problem, a na razie nie inwestować w elektronikę to proponuję zrobić analizator na PC. Czyli programik w C, który wczyta plik z dźwiękiem (np. w formacie .wav), policzy transformatę, wypisze rozkład częstotliwości składowych. Jak programik będzie działać, to reszta pójdzie z górki.
  12. Jeśli chcesz zrobić robota dźwiękowego, to proponuję najpierw zrobić analizator widma dźwięku. Później już będzie łatwo, możesz np. zrobić robota który tańczy, czy jeździ, gdy wykryje konkretny dźwięk.
  13. Do odczytu powinieneś używać PINB nie PORTB. Czyli w kodzie switch (PORTB) zmień na switch (PINB) [ Dodano: 02 Lis 09 06:33 ] Inna sprawa, że case 0: chyba jest niepoprawne (chyba że ma zwracać 1 jeśli nic nie naciśnięte). [ Dodano: 02 Lis 09 06:38 ] Nie wiem, jak zdefiniowane jest makro loop_until_bit_is_set(), ale chyba odczytuje ze złego rejestru. Nie chodzi o PORTB, ale UCSRA (nie wiem czy tak samo dla m128, sprawdzałem dla m8). Na początek wyrzuć wywołania loop_until_bit_is_set(), dodaj opóźnienia, powinno działać. Później dodaj oczekiwanie na koniec transmisji.
  14. C, kompilowany pod CrossStudio. Więcej informacji w artykule dostępnym tutaj: https://www.forbot.pl/forum/topics20/jak-rozpoczac-przygode-z-arm-ami-wersja-szybka-choc-droga-vt2258.htm
  15. Jeśli tak, to przepraszam, ale na tym forum jest tyle pytań od osób którym nie chce się samemu nic przeczytać. Na temat procesora najepiej przeczytać datasheet, tam jest wszystko: http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf Natomiast jeśli nie masz doświadczenia z procesorami to proponuję któryś z kursów C lub bascoma. Co do tej diody to chodziło mi o sterowanie diodą z procka, nie o przerzutnik bistabilny, bez urazy. [ Dodano: 28 Paź 09 12:20 ] Moja propozycja to zacznij od kursu C: http://www.kursc.forbot.pl/
  16. Malum, widzę że jesteś początkujący. Proponuję żebyś najpierw nauczył się trochę o elektronice, zanim zbudujesz robota. Nie miej mi tego za złe, ale chociaż podstawy trzeba opanować. Postaraj się najpierw zrobić proste układy, proponuję zacząć od migania diodą, czyli płytka tylko z procesorem i diodą. Jak poznasz trochę co i jak działa, zrobisz linefollowera. W tej chwili oczekujesz, że ktoś za ciebie przygotuje cały schemat. To nie problem, tylko czy nauczysz się tak czegoś?
  17. Chyba to samo. Na pewno Atmega8-16PU będzie ok, nie wiem co dokładnie znaczy Atmega8P. Nie kupuj tylko Atmega-16PA, chyba że chcesz w obudowie smd Nie polecam Atmegi8L (jest na obrazku). Może pracować z niższym napięciem, za to jest wolniejsza. [ Dodano: 27 Paź 09 06:55 ] Co do podłaczenia, to piny PC0 do PC5 mogą być wejściami ADC. Przy okazji korekta - 8 czujników można podłączyć tylko do wersji w obudowie SMD. Wiedzę, że w wersji przewlekanej max. 6, ale i tak powinno wystarczyć.
  18. Natomiast co do resetu, to kondensator powinien być między reset, a masą. Między reset, a 5V (vcc) można dać rezystor.
  19. Widzę, że oba vcc miały znaczyć co innego. Problem w tym, że użyłeś tej samej linii, więc są ze sobą połączone (nawet jeśli tego na schemacie nie widać). Jak nie wierzysz, to wygeneruj pcb, albo użyj narzędzia "show" w eagle.
  20. Nie znam attiny2313, z tego co widzę nie ma w nim ADC. Przy okazji, ADC to przetwornik analogowo-cyfrowy. Pozwala na mierzenie napięcia. Typowe nóżki procesora (tzw. I/O) dają tylko informację 0 - napięcie 0V, 1 - napięcie 5V. Za pomocą przetwornika można ustalić jakie napięcie jest podłączone, np. 1V, 1,5V itd. Jeśli chcesz zostać przy attiny to pozostaje polubić LM324. Schemat bez tego układu pracuje z procesorem atmega8. Na atmega8 można podłączyć 8 czujników bez potrzeby stosowanie LM324.
  21. Jeden układ LM324 daje możliwość obsługi 4 czujników, ale możesz zastosować dwa układy, a przez to do 8 czujników. Inna sprawa, że lepiej działa układ bez LM324 za to z podłączeniem do ADC procesora. Wtedy masz po pierwsze możliwość autokalibracji układu, po drugie możesz wykrywać nie tylko stan linia widoczna/nie, ale również częściowe najechanie na linię.
  22. Reset procesora masz zupełnie źle podłączony (połączyłeś do GND, czyli ciągle będzie reset). Poza tym VCC masz po obu stronach stabilizatora, więc zamiast 5V dasz na procek napięcie z baterii.
  23. Niestety, aż tak prosto nie będzie. Jeśli odbiornik będzie działał, a nadajnik zostanie wyłączony lub będzie poza zasięgiem, to na odbiorniku będą się pojawiały losowe dane (szum) - trochę jak z telewizorem lub radiem, jeśli nie ustawisz na działającą stację. Najlepiej byłoby na nadajniku wysyłać zadany sygnał (np. o częstotliwości 1kHz), a na odbiorniku filtrować tylko zadaną częstotliwość i sprawdzać czy działa. Jeśli chcesz spróbować najprościej, to na nadajniku podłącz 5V, a na odbiorniku podłącz prostu układ całkujący (rezystor + kondensator). Jeśli odbiornik będzie w zasięgu za filtrem będzie ~5V (może trochę mniej). Jeśli poza zasięgiem, to szum da około połowę, czyli ~2,5V. Dalej można podłączyć komparator i dostać czysty sygnał np. 0V dla poza zasięgiem, 5V w zasięgu. [ Dodano: 27 Paź 09 09:57 ] Zarys schematu o który mi chodzi: Z komparatora można zrezygnować, jeśli w docelowym układzie jest procesor i masz wolny przetwornik A/C.
  24. Jeśli radiowo i prosto to proponuje moduły HM-T868S i HM-R868S. W centrum obszaru można ustawić nadajnik, dołączyć do niego źródło sygnału (wystarczy najprostszy generator, np. na 555). Odbiornik można podłączyć do procesora i sprawdzać czy sygnał z generatora jest obecny. Albo lepiej zrobić filtr pasmoprzepustowy oraz detekcję analogowo. Trochę informacji o modułach przedstawiłem tutaj: https://www.forbot.pl/forum/topics20/radiowa-transmisja-danych-czyli-robot-zdalnie-sterowany-vt2207.htm Testowałem moduły na generatorze i oscyloskopie, więc do opisanego celu powinny wystarczyć.
×
×
  • Utwórz nowe...