Arduino nano v.3
Moderatorzy: moderatorzy2014, moderatorzy
-
- Posty: 151
- Rejestracja: piątek 06 sty 2012, 00:47
- Lokalizacja: Nowy Dwór Gdański
Arduino nano v.3
Witam! Poszukuje osoby ,która pomogła by przy zaprogramowaniu arduino -prosty sterownik-nie wiem dlaczego,ale nie mogę już wgrać żadnego softu-wywala błąd,a wcześniej było ok.
-
- Posty: 151
- Rejestracja: piątek 06 sty 2012, 00:47
- Lokalizacja: Nowy Dwór Gdański
Binary sketch size: 1190 bytes (of a 30720 byte maximum)
avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Już teraz nie miga dioda od loadera.
Kupiłem arduino nano v.3 z wgranym bootloaderem,kartę 4 przekaźników,gdyż potrzebuję mały i prosty sterownik -włączenie 4 przekaźników z czasowym opóźnieniem ich załączenia po przyciśnięciu przycisku a po ponownym ich wyłączenie w odwrotnej kolejności.
avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Już teraz nie miga dioda od loadera.
Kupiłem arduino nano v.3 z wgranym bootloaderem,kartę 4 przekaźników,gdyż potrzebuję mały i prosty sterownik -włączenie 4 przekaźników z czasowym opóźnieniem ich załączenia po przyciśnięciu przycisku a po ponownym ich wyłączenie w odwrotnej kolejności.
Rzadko się zdarza, żeby walnął bootloader, bo bez podpinania się pod ISP programatorem i zmiany fusebitów, nie można go wywalić z arduino, a sam z siebie raczej się nie "walnie", no chyba że oczywiście cała atmega jest uwalona ;)paku pisze:Coś z transmisją albo walnął bootloaderslawek2011 pisze:avrdude: stk500_getsync(): not in sync: resp=0x30
Powyższy błąd często się zdarza, przyczyn może być wiele. źle wybrana płytka w IDE, źle wybrany port (czasem na innym COM jest coś podpięte jeszcze i IDE niepoprawnie wykrywa), albo stare IDE (w nowszych arduino jest inny bootloader, na szybszej prędkości działa).
Mi się ten błąd czasem pojawia bez powodu, pomaga restart IDE i unplug&plug arduino z usb.
S500 | ZMR250 | HK FPV250 | Sky Surfer II 1400 | Wing Wing Z-84 | Reely Rhino II
-
- Posty: 151
- Rejestracja: piątek 06 sty 2012, 00:47
- Lokalizacja: Nowy Dwór Gdański
Często ten błąd pojawia się gdy są jakieś śmieci w windowsie w związku z portami COM...czasem wystarczy restart komputera i czary-mary naprawia się.slawek2011 pisze:Panowie dziwna sprawa-dzisiaj zabrałem się za nano i odziwo ładuje się wszystko poprawnie
infekcja FPV postępuje w zastraszającym tempie...
-
- Posty: 151
- Rejestracja: piątek 06 sty 2012, 00:47
- Lokalizacja: Nowy Dwór Gdański
Jak rurek pisze USB się sypło i naprawiło jak to w windzie.
Sprawdź tylko jak ze sterowaniem tymi przekaźnikami - to znaczy czy ci prądu styknie, zresztą nie wiem co to za płytka. Jak specjalnie do nano to pownie ktoś to przemyślał.
To jest proste wysil się trochę ....slawek2011 pisze:a tak przy okazji to czy ktoś jest w stanie napisać taki prosty sofcik
Sprawdź tylko jak ze sterowaniem tymi przekaźnikami - to znaczy czy ci prądu styknie, zresztą nie wiem co to za płytka. Jak specjalnie do nano to pownie ktoś to przemyślał.
Pamiętaj - Każdy dobry uczynek będzie słusznie ukarany :)
-
- Posty: 151
- Rejestracja: piątek 06 sty 2012, 00:47
- Lokalizacja: Nowy Dwór Gdański
-
- Posty: 151
- Rejestracja: piątek 06 sty 2012, 00:47
- Lokalizacja: Nowy Dwór Gdański
int buttonPin = 7;
int ledPins[] = {2,3,4,5};
int buttonPushCounter = 0;
int buttonState = 0;
int lastButtonState = 0;
void setup()
{
pinMode(ledPins[2],OUTPUT);
pinMode(ledPins[3],OUTPUT);
pinMode(ledPins[4],OUTPUT);
pinMode(ledPins[5],OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
buttonPushCounter++;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter, DEC);
}
else {
Serial.println("off");
}
}
lastButtonState = buttonState;
if (buttonPushCounter % 2 == 0) {
digitalWrite(ledPins[2],HIGH);
delay(200);
digitalWrite(ledPins[3], HIGH);
delay(200);
digitalWrite(ledPins[4], HIGH);
delay(200);
digitalWrite(ledPins[5], HIGH);
} else {
digitalWrite(ledPins[5],LOW);
delay(200);
digitalWrite(ledPins[4], LOW);
delay(200);
digitalWrite(ledPins[3], LOW);
delay(200);
digitalWrite(ledPins[2], LOW);
}
}
Tyle tylko,że działają piny D5 i D4 oraz TX
int ledPins[] = {2,3,4,5};
int buttonPushCounter = 0;
int buttonState = 0;
int lastButtonState = 0;
void setup()
{
pinMode(ledPins[2],OUTPUT);
pinMode(ledPins[3],OUTPUT);
pinMode(ledPins[4],OUTPUT);
pinMode(ledPins[5],OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
buttonPushCounter++;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter, DEC);
}
else {
Serial.println("off");
}
}
lastButtonState = buttonState;
if (buttonPushCounter % 2 == 0) {
digitalWrite(ledPins[2],HIGH);
delay(200);
digitalWrite(ledPins[3], HIGH);
delay(200);
digitalWrite(ledPins[4], HIGH);
delay(200);
digitalWrite(ledPins[5], HIGH);
} else {
digitalWrite(ledPins[5],LOW);
delay(200);
digitalWrite(ledPins[4], LOW);
delay(200);
digitalWrite(ledPins[3], LOW);
delay(200);
digitalWrite(ledPins[2], LOW);
}
}
Tyle tylko,że działają piny D5 i D4 oraz TX
Tak na szybko:
Zadeklarowałeś tablicę int ledPins[] = {3,4,5,6};
Ma ona 4 elementy o indeksach od 0 do 3.
Więc odwołanie pinMode(ledPins[4],OUTPUT); jest błędne, bo w nawiasie kwadratowym mogą być tylko cyfry od 0 do 3. 0 odpowiada wartości 3 w tablicy, 1 odpowiada wartości 4 itd.
Tak samo dalej odwołanie digitalWrite(ledPins[5],HIGH); jest błędne.
Zadeklarowałeś tablicę int ledPins[] = {3,4,5,6};
Ma ona 4 elementy o indeksach od 0 do 3.
Więc odwołanie pinMode(ledPins[4],OUTPUT); jest błędne, bo w nawiasie kwadratowym mogą być tylko cyfry od 0 do 3. 0 odpowiada wartości 3 w tablicy, 1 odpowiada wartości 4 itd.
Tak samo dalej odwołanie digitalWrite(ledPins[5],HIGH); jest błędne.
Pzdr. -----MIŚ-----