Skocz do zawartości

Kurs Arduino - #1 - podstawy Arduino oraz środowisko


Komentator

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.

Link do komentarza
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 😉

Link do komentarza
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)?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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ć?

Link do komentarza
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.

Link do komentarza
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.

Link do komentarza
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!

Link do komentarza
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ę.

Link do komentarza
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?

Link do komentarza
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
}
Link do komentarza
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.

Link do komentarza
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ć?

Link do komentarza
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!

Anonim
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.