Skocz do zawartości
Komentator

Kurs Arduino - #1 - podstawy Arduino oraz środowisko

Pomocna odpowiedź

Mam pytanie odnośnie zestawu...

Większość potrzebnych w kursie elementów miałem, dokupiłem brakujące.

Natomiast nie wiem co ze stabilizatorem LM7805...

Mam stabilizator 78M05 w wersji D-PACK.

Czy mogę go wykorzystać zamiast polecanego?

I jak (i jakie) podłączyć kondensatory i czy są niezbędne?

Z góry dzięki za pomoc.

Udostępnij ten post


Link to post
Share on other sites

Rigid, raczej nie dasz rady włożyć tego stabilizatora w płytkę stykową. Kondensatory są konieczne. Najlepiej ceramiczne 100nF i jakieś elektrolityczne powyżej 10uF. Dobrze by było, gdybyś sprawdził kurs elektroniki - nie będziesz miał wtedy takich wątpliwości 😉

Udostępnij ten post


Link to post
Share on other sites

siemanko,

ja również miałbym pytanie odnośnie zestawu arduino uno plus, czy zestaw zawiera tą plastikową skrzynkę( jest widoczna na zdjęciach ale nie widnieje na liście poniżej, a bardzo by się przydała ;D)?

Udostępnij ten post


Link to post
Share on other sites

arasu, pewnie - wersje plus są zapakowane w kuferki, dokładnie takie, jak na zdjęciach 🙂

Udostępnij ten post


Link to post
Share on other sites

Witam!

Mam podobny problem do DawidG - program się kompiluje ale już nie wgrywa.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe2

Problem w niezainstalowanych w pełni sterownikach - których jako niepodpisane mój Windows 7 Ultimate 64-bit nie chce i już. Próbowałem wskazywać mu sterowniki ręcznie z dysku, tak Arduino.ini, Arduin Uno, jak i Arduino Uno R3. Pojawia się "System Windows odnalazł oprogramowanie sterownika dla tego urządzenia, ale napotkał błąd podczas próby zainstalowania". Ponawianie prób po restarcie bez wymagania podpisów nic nie daje, "bdcedit.exe/set nointegritychecks ON" również.

Macie może pomysły, co jeszcze próbować?

Udostępnij ten post


Link to post
Share on other sites

Kurojatka, Arduino oryginalne, czy klon?

Zrzuty ekranów z kursu pochodzą właśnie z W7 i nie miałem wtedy żadnych problemów z instalacjami.

Udostępnij ten post


Link to post
Share on other sites

Orginalne. Czytałem o sposobach, podobno działających na Home i Professional... ale u mnie nic 🙁

Udostępnij ten post


Link to post
Share on other sites

Kurojatka, jak masz możliwość, to sprawdź na innym komputerze, jak tam ruszy, to będzie można wyeliminować błąd po stronie sprzętowej.

Udostępnij ten post


Link to post
Share on other sites

Podłączyłem na innej maszynie z win8.1. Działa bez zarzutu. U siebie zainstalowałem VirtualBox, a na nim winXP, ale póki co "drugi" system (nie wiem dlaczego) w ogóle nie widzi portów... ktoś wie, jak skonfigurować COMporty w VirtualBox?

Ok, dopisek - może komuś pomoże 😉. Dopadłem starego kompa - dawcę organów. Win7Ultimate, wszystko zainstalowane analogicznie do obecnego sprzętu i... tam działa. Przełożyłem płytkę z USB ale to nic nie dało więc jeżeli ktoś miał podobne objawy do moich to macie pecha. Jedyne, co mogę wydedukować, to problem tkwi gdzieś na płycie głównej komputera. Ja się poddaję, będę testował programy na dawcy organów.

A co do kursu to wielkie dzięki, mój arduino wali teraz morsem po oczach. Pozdrawiam!

Udostępnij ten post


Link to post
Share on other sites

Kurojatka, a może warto jeszcze zajrzeć do BIOSu? Może tam coś blokuje jeszcze sprzęt?

Udostępnij ten post


Link to post
Share on other sites

Mam problem z (chyba) samą aplikacją Arduino piszę chyba ponieważ podczas sprawdzania programu przez przypadek kliknąłem coś (chyba) w narzędziach i teraz gdy gdy dostaję odp od Arduino pokazują mi się kwadraty itp. jak na zdj. co zrobić? Próbowałem reinstalować aplikacje wraz ze sterownikami USB, ale to nic nie daje. Co dziwne dzieje się tak tylko w jednej części kodu tej przy której pracowałem.

#define Fan 3
#define trigPin 12
#define echoPin 11
String inf;
bool L1 = false;
int predkosc;
int predkosci;
int infx;
bool wyb;
void setup()
{
 pinMode(trigPin, OUTPUT);
 pinMode(echoPin, INPUT);
 pinMode(Fan, OUTPUT);
 Serial.begin(9600);  //Baudrate: 9600
 Serial.println("Program zresetowany");
}
void loop() {
 if (Serial.available() > 0) { //Czy Arduino odebrano dane
   inf = Serial.readStringUntil('\n');
   infx = inf.toInt();
 } switch (infx) {
   case 1: //Prędkość silnika pierwszego
     wyb = false;
     S1();
     infx = 0;
     break;
   case 2: // lampka
     L();
     break;
   case 3: //proporcjonalnie odlegos do predkosci wiatraczka
     if (wyb == true) {
       predkosc = ODL();
       predkosci = map(predkosc, 0, 250, 100, 255);
       analogWrite(3, predkosci);
       //Serial.println("psl " + predkosci);
       wyb = true;
       delay(1000);
     } else if (wyb == false) {
       wyb = true;
     } break;
     default:
     infx = 0;
 } if (wyb == true) {
   infx = 3;
 }
}
void S1() { //Sterowanie wiatraczkiem
 String Obr;
 String Obr2;
 int Obr1;
 int x = 0;
 //Serial.println("S1"); testy
 while (x != 1) {
   //Serial.println("petla"); testowanie
   if (Serial.available() > 0) {
     Obr = Serial.readStringUntil('\n');
     x = 1;
   }
 }
 if (Obr != Obr2) {
   Serial.println("ps1 " + Obr);
 }
 Obr1 = Obr.toInt();
 //Serial.println(Obr1);  testowanie
 analogWrite(3, Obr1);
 Obr = Obr2;
 x = 0;
}
void L() { // funkcja lamki on/off
 if (L1 == false) {
   digitalWrite(8, HIGH);
   Serial.println("L1 ON");
   L1 = true;
 }
 else if (L1 == true) {
   digitalWrite(8, LOW);
   Serial.println("L1 OFF");
   L1 = false;
 }
}
int ODL() { //odl do szybkosci proprocjonalnie
 int a = 0;
 long czas, dystans;
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin, LOW);

 czas = pulseIn(echoPin, HIGH);
 dystans = czas / 58;
 if (dystans <= 250) {
   a = dystans;
   Serial.println("cm "+dystans);
   return a;
 }

}

Problem występuje w case 3. Wiem, że można lepiej to napisać ale to jeden z pierwszych programów jaki piszę.

Udostępnij ten post


Link to post
Share on other sites

Zakurek, sprawdziłeś poprawność połączenia USB - wszystko inne działa dobrze? Sprawdź też zwykły, prosty program wyświetlający kilka linijek, wtedy nie ma żadnego błędu?

Udostępnij ten post


Link to post
Share on other sites

Treker, sprawdziłem prosty program, działa bez żadnych problemów, a w tamtym programie tylko część kodu nie działa albo tylko część działa. Czy ma znaczenie jaki jest programator wybrany w programie? Może go przez przypadek zmieniłem. W tym momencie jest AVR ISP.

void setup(){
 Serial.begin(9600); //Ustawienie prędkości transmisji
 Serial.println("Witaj na Forbocie!"); //Jednorazowe wysłanie tekstu
}
void loop() {
 delay(5000);
 Serial.println("Minelo 5 sekund!"); //Wysyłanie w pętli
}

Udostępnij ten post


Link to post
Share on other sites

Zakurek, akurat nie mam przy sobie Arduino, więc ciężko mi sprawdzić, to w głowie, bo program nie jest zbyt czytelny. Może ktoś inny w międzyczasie znajdzie błąd 🙂 Jedyne, co mogę teraz poradzić, to komentowanie kolejnych bloków programu i uruchamianie go, aż znajdziesz fragment powodujący błędy.

Udostępnij ten post


Link to post
Share on other sites

Treker, problem rozwiązany zmieniłem

Serial.println("cm "+dystans);

na

Serial.print("cm ");
   Serial.println(dystans); 

i wszystko jest poprawnie wyświetlane, ale nadal nie rozumiem dlaczego przestało działać Serial.println("cm "+dystans); masz jakieś pomysły co mogło się zepsuć?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...