Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję

Kurs budowy robotów - #4 - pierwsze programowanie

Autor Wiadomość
Komentator 




Posty: 548
Otrzymał 15 piw(a)
Wysłany: 06-01-2017, 23:48   Kurs budowy robotów - #4 - pierwsze programowanie


Jeśli nasz robot stoi już na 3 kołach, to możemy spokojnie zabrać za główną część kursu, czyli programowanie. Nie użyjemy gotowej biblioteki, wszystko napiszemy wspólnie od pustego szkicu. Dzięki temu opisane zagadnienia będzie można łatwo zastosować przy innych projektach. Zajmiemy się również częstym problemem, który pojawia się podczas budowy pierwszych robotów.
UWAGA, to tylko wstęp!
Dalsza część artykułu dostępna jest na darmowym blogu Forbota.

Kliknij, aby przeczytać całość!


Poniżej znajdują się komentarze naszych użytkowników powiązane z tym artykułem.


Przeczytałeś artykuł? Dodaj komentarz!
Postaw piwo autorowi tego posta
 
 
Więcej szczegółów
Wystawiono 1 piw(a):
ZombiZiomek
ZombiZiomek 



Posty: 5
Otrzymał 1 piw(a)
Wysłany: 07-01-2017, 10:57   

Dioda się świeci, a koła stoją :-/

__________
Komentarz dodany przez: Treker
Problem rozwiązany, przyczyna: niepoprawnie założone wtyczki na przewody od silnika.

Postaw piwo autorowi tego posta
 
 
qbeczek 



Posty: 14
Skąd: Włocławek
Programuję w:
C/C++
Wysłany: 07-01-2017, 13:09   

Nie wiem jak to się stało, że wcześniej tego nie zauważyłem, ale generalnie to nie mam zworki, da się to jakoś zastąpić?

Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 7204
Pomógł: 111 razy
Otrzymał 477 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 07-01-2017, 13:13   

ZombiZiomek, przy tak małej ilości informacji ciężko udzielić odpowiedzi. Nie wiadomo, czy i jaki program wgrałeś, czy podłączone jest zasilanie (koszyk z bateriami) itd. Artykuł pisany był na podstawie dokładnie takich elementów jakie są w zestawie (przynajmniej nic mi nie wiadomo o żadnych zmianach). Jeśli jesteś przekonany, że wszystko zrobiłeś identycznie jak w artykule i nic nie blokuje napędów, to musisz przedstawić trochę więcej szczegółów - jakieś zdjęcie, opis, co dokładnie zrobiłeś, czy program z poprzedniego artykułu działał itd.

Przy okazji proszę Cie o trochę wyrozumiałości, odpisywałem na Twoje maile rano, wieczorem, w tygodniu, w piątek, który był dniem wolnym, dziś w sobotę, która z reguły też jest dniem wolnym, więc wysyłanie kolejnych maili nie przyspieszy moich odpowiedzi.... Po prostu też czasami nie siedzą przy komputerze, jak tylko jestem dostępny to staram się na wszystko odpowiadać.

qbeczek, właśnie się okazało, że chyba faktycznie do kilku osób trafiły płytki bez zworek. Oczywiście doślemy, jeśli będą potrzebne. Na ten moment można sprawę rozwiązać przekładając jedną zworkę, z tych które było przy czujnikach. Inna opcja to wykorzystanie przewodu żeńsko-żenskiego do zestawów uruchomieniowych :)


Sprawdź! >> Kurs ARDUINOKurs podstaw elektronikiKurs STM32
  
Postaw piwo autorowi tego posta
 
 
ZombiZiomek 



Posty: 5
Otrzymał 1 piw(a)
Wysłany: 07-01-2017, 13:54   

Ok, wgrywalem program testowy i ten gotowy z funkcjami, wszystko robilem wg kursu, zasilanie jest, kable przy silniku sie trzymają, a silniki się nie kręcą


qbeczek, ja użyłem poprostu innej zworki.

  
Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 7204
Pomógł: 111 razy
Otrzymał 477 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 07-01-2017, 14:02   

ZombiZiomek, ok teraz przynajmniej coś widać :) Będę miał dostęp do swojego robota koło 16 to wtedy wszystko porównam i dam znać. Do tego czasu sprawdź dla pewności, czy dla wyższego PWM również się nic nie dzieje (np. 150), czyli wgraj dokładnie ten kod:

Kod programu: Zaznacz cały

#define L_PWM 5
#define L_DIR 4
#define R_PWM 6
#define R_DIR 9
#define LED 13
 
void setup() {
  //Konfiguracja pinow od mostka H
  pinMode(L_DIR, OUTPUT);
  pinMode(R_DIR, OUTPUT);
  pinMode(L_PWM, OUTPUT);
  pinMode(R_PWM, OUTPUT);

  pinMode(LED, OUTPUT);
}
 
void loop() {
  //Obroty silnika przez sekundę do przodu z prędkością 100
  digitalWrite(L_DIR, 0); //Ustawienie kierunku
  analogWrite(L_PWM, 150); //Ustawienie predkosci
  digitalWrite(LED, 0); //Zmiana stanu diody
  delay(1000); //Opoznienie 1 sekunda
  //Zatrzymanie silnika na sekundę
  digitalWrite(L_DIR, 0); //Ustawienie kierunku
  analogWrite(L_PWM, 0); //Wylaczenie silnika
  digitalWrite(LED, 1); //Zmiana stanu diody
  delay(1000); //Opoznienie 1 sekunda
}


Jak rozumiem silniki nie wydają też żadnego dźwięku, tak? Jeśli masz miernik, to sprawdź czy na złączach silnika lewego pojawia się jakieś napięcie (możesz mierzyć przykładając miernik do śrubek w złączu).


Sprawdź! >> Kurs ARDUINOKurs podstaw elektronikiKurs STM32
  
Postaw piwo autorowi tego posta
 
 
Elvis 



Posty: 1037
Pomógł: 75 razy
Otrzymał 197 piw(a)
Skąd: wawa
Programuję w:
C, asm

Wysłany: 07-01-2017, 14:05   

Jeśli mogę coś doradzić, to proponowałbym do kodu dodać jakąś migającą diodę. Wtedy będzie wiadomo czy program został poprawnie wgrany i czy procesor robi to co powinien.

__________
Komentarz dodany przez: Treker
Właśnie w tej samej chwili edytowałem wklejony program i to dodawałem ;)

Postaw piwo autorowi tego posta
 
 
ZombiZiomek 



Posty: 5
Otrzymał 1 piw(a)
Wysłany: 07-01-2017, 14:14   

Program wgrany, dioda mruga silniki nic nie robią i nie wydają dżwięków. Miernika niestety nie mam.

Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 7204
Pomógł: 111 razy
Otrzymał 477 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 07-01-2017, 14:16   

ZombiZiomek, ok dziękuję za informację - sprawdzę moje pomysły w praktyce i dam znać po 16. Jeśli ktoś inny ma podobny problem (niedziałające silniki), to proszę o informację wraz z datą zakupu zestawu, będziemy wtedy badać temat z producentem shieldów.


Sprawdź! >> Kurs ARDUINOKurs podstaw elektronikiKurs STM32
Postaw piwo autorowi tego posta
 
 
ZombiZiomek 



Posty: 5
Otrzymał 1 piw(a)
Wysłany: 07-01-2017, 14:17   

Treker, Dzięki :D

Postaw piwo autorowi tego posta
 
 
qbeczek 



Posty: 14
Skąd: Włocławek
Programuję w:
C/C++
Wysłany: 07-01-2017, 14:41   

U mnie jeden działa, tzn lewy, a prawy niestety nie. Tak samo jak u kolegi dioda mruga a silnik stoi.

__________
Komentarz dodany przez: Treker
Problem rozwiązany, przyczyna: niepoprawnie założona wtyczka na przewód od silnika.

Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 7204
Pomógł: 111 razy
Otrzymał 477 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 07-01-2017, 14:44   

qbeczek, powyższy program ma właśnie wysterować jeden silnik - więc wszystko jest dobrze. Drugi możesz sprawdzić kolejnym programem umieszczonym w artykule.


Sprawdź! >> Kurs ARDUINOKurs podstaw elektronikiKurs STM32
Postaw piwo autorowi tego posta
 
 
qbeczek 



Posty: 14
Skąd: Włocławek
Programuję w:
C/C++
Wysłany: 07-01-2017, 14:49   

Właśnie o to mi chodzi, wgrałem program na lewy działa, sprawdzam prawy nie działa, ale już znalazłem błąd jest w połączeniu silnika, bo zmieniłem wejścia i lewy działa w wejściu na prawy.

Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 7204
Pomógł: 111 razy
Otrzymał 477 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 07-01-2017, 14:53   

qbeczek, czyli winny jest u Ciebie prawy silnik, tak? Sprawdź dla pewności, czy masz poprawnie założone wtyczki (może przypadkiem zacisnęły się na izolacji kabla)?


Sprawdź! >> Kurs ARDUINOKurs podstaw elektronikiKurs STM32
Postaw piwo autorowi tego posta
 
 
qbeczek 



Posty: 14
Skąd: Włocławek
Programuję w:
C/C++
Wysłany: 07-01-2017, 15:20   

Dokładnie tak było, źle były zaciśnięte kable... Dzięki Treker, jesteś naprawdę cierpliwy. Pozdrawiam! :)

Postaw piwo autorowi tego posta
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku

Skocz do:  

Nie rozwiązałeś swojego problemu? Zobacz podobne tematy: Kurs STM32 - #4 - St... Kurs STM32 - #3 - Pł... Kurs Arduino - #9 - ... Kurs STM32 - #5 - Ko...
lub przeszukaj forum po wybranych tagach: elektronika, komentarze, majsterkowanie, robotyka


Powered by phpBB modified by Przemo © 2003 phpBB Group
Popularne kursy: Arduinopodstawy elektroniki