Cześć Mirki,

Zamierzam zacząć swoją przygodę z Arduino, jednak stoję przed małym dylematem. Na początku chciałbym kupić jakiś starter kit, tylko pytanie czy lepiej wziąć coś oryginalnego typu to: https://nettigo.pl/products/starter-kit-dla-arduino-uno-wersja-rozszerzona, czy równie dobrze można skorzystać z chińczyka, np. tego http://www.aliexpress.com/item/UNO-KIT-Upgraded-version-of-the-For-Starter-Kit-the-RFID-learn-Suite-Stepper-Motor-ULN2003/1207142899.html ? Czas i tak znajdę dopiero w połowie czerwca, więc oczekiwanie na przesyłkę mnie nie przeraża.

#arduino
@grad: No to wybór prosty- bierz od chińczyka. Zamawiałem dużo rzeczy z chin, wszystkie przyszły nawet szybko (2-3tyg) Wszystkie działają. A za zaoszczędzone pieniądze dokup sobie więcej szpejozy:) Im więcej tym fajniej.
Aczkolwiek moim zdaniem, najlepiej wziąć jakiś mały zestaw pobawić się, zobaczyć czy się podoba i dokupić potem rzeczy do jakiegoś projektu który chcesz zrealizować.
@grad: Mój chińczyk jest kompatybilny (UNO), mini już nie jest i trochę miałem z tym zachodu żeby działało. A ten który jest w zestawie z ali to nie wiem czy jest kompatybilny, aż tak się nie znam. Pewnie jakiś mirek będzie wiedział, więc musisz poczekać. Ja kupowałem najpierw samo arduino, diody i płytkę stykową, dopiero potem resztę a i tak nie mam czasu żeby się tym pobawić.
Mireczki, #arduino #elektronika - jest sobie arduino podpięte z zasilacza który ma step-down DC do 5v. Step down zasilany jest z 9V zasilacza. Moduł nadający 433MHz ma wpięcie + bezpośrednio do +9V. W momencie nadawania sygnału (im większy Vin tym mocniej) całe Arduino się resetuje. Wsadzienie 1000uF kondziorka między + i - nie pomaga (zarówno przy module nadawczym, jak i zasilaniu). Any ideas?
@pneumokok: jeżeli w.w. diody zabezpieczające nie pomogą, to sprawdź dokładnie czy to zasilanie dobrze podłączyłeś, w szczególności połączenia mas.

chodziło mi o schemat twojego rozwiązania zasilania, ten z linku w niczym nie pomoże.
#arduino
Jak zatrzymać program, aż nie przyjdą dane na serial (SoftwareSerial)?
Można tak

while (!serial.available());
tylko to jest bez żadnego timeoutu. Ja zrobić z nim? Pewnie da się używając w środku tego while delaya, instrukcji if i jakiejś zmiennej zliczającej, ale czy tak jest "ładnie"?
Chciałbym sobie "gadać" przez serial monitor (z arduino ide) z modułem gsm, podłączonym przez SoftwareSerial. Czy tak (w loop()):

if (gsm.serial.available())
Serial.print((char)gsm.serial.read());
if (Serial.available())
gsm.serial.print((char)Serial.read());

powinno to działać? Bo zdaje się nie działać: jak wysyłam np. AT+CSQ, powinienem dostać odpowiedź w stylu

+CSQ: ,
a dostaję np.

AT+Q
Mogę robić coś głupiego, bo nie mam z tym doświadczenia.
(gsm.serial to obiekt SoftwareSerial)
#arduino #uart #gsm
@pret0rian8: z dokumentacji, odpowiedź na ATDT:

ATD
a jak po tym jeszcze raz wcisnę enter, to

ERROR
Ogólnie jest tak, jakby wysyłane były pierwsze trzy znaki, co wydaje mi się bardzo dziwne..
Mirki z #wroclaw znające #arduino czy ktoś pomógłby mi w kodzie za przysłowiową flaszkę? Trzeba wysłać po serialu wartości 16 potencjometrów, pytałem o to w zeszłym roku, mirki wklejały mi kod ale za każdym razem miałem błędy, wolę to komuś ogarnietemu przynieść bo sprawa może być prosta i korzystna dla obu stron. (arduino, mux, 16 potencjometrów i kabel usb. Przesyłanie działa ale potencjometry mają problem z utrzymaniem wartości na której sie zatrzymały)
@baletny: po raz kolejny wykop pomógł, dzięki panowie, w tamtym roku też to przez mirko próbowałem załatwiać ale każdy kod się wykładał a tak czułem że jakąś linię trza dodać i zadziała. zdrowie zatem:) wołam @AlcoMatt bo też grzebał przy podobnej zabawce. Gotowy kod który działa:

int lastTemp[16][4];

void setup() {
Serial.begin(115200);
while (!Serial) ;
``````
pinMode(10, OUTPUT);
``````
pinMode(16, OUTPUT);
``````
pinMode(14, OUTPUT);
``````
pinMode(15, OUTPUT);
``````
}
void wyslij(byte Channel, byte ControlValue, byte Controller){
byte stala = 0xB0 + Channel-1;
Serial.write(stala);
Serial.write(Controller);
Serial.write(ControlValue);
``````
}
int wartosc(byte var){
//10,16,14,15,A0
digitalWrite(10, bitRead(var, 0));
digitalWrite(16, bitRead(var, 1));
pull-up


@pneumokok: http://en.wikipedia.org/wiki/Pull-up_resistor
Możesz połączyć oba razem ale jeśli na jednym pinie nadajesz drugi ustawiasz jako wejście w stanie wysokiej impedancji to znaczy do rejestru DDRx wpisujesz zero i do rejestru PORTx też wpisujesz zero. Wtedy taki pin nie reaguje na to co sie z nim dzieje ale też nie stawia żadnych oporów drugiemu, by robił co zechce. I wtedy jak jeden nadaje drugi zwisa.
Zaczynasz nadawać ustawiasz ten pin na
Mirki mireczki mam pytanie do #majsterkowanie #arduino #elektronika #diy.

Mam płytkę prototypową, taką jak na zdjęciu poniżej i okazała sie za długa do mojego projektu musze ją obciąć i nie mam pojecia czym i jak.... wydawało mi sie ze jest zrobiona ze słabego plastiku ale jest na tyle twardy ze ciężko to przeciąć.... jakieś pomysły ?
Pobierz
źródło: comment_lUiKVU7F6rIi5d8CmVhHDy0FQ2NibciH.jpg
@Forbot: a może by ktoś wyjaśnił, jak się ma (i skąd się bierze) arduinowe bezsensowne numerowanie portów "digital I/O" oraz "analog" (i w różnych arduinowych płytkach różne), przez co nijak nie wiadomo (a przynajmniej nie wprost) jak to się przekłada na porty fizyczne, normalnie oprogramowywane w innych okolicznościach (np "zwykłe c") jako 8bitowo-zgrupowane PORTx.y (np. "port numer 37" to który pin którego portu na Atmedze 256 a który na atmedze64) i
Drogie Mirki, pomocy!
Zakupiłem ATmegi8L, programator USBasp, dodałem odpowiednie wpisy do ArduinoIDE, skompilowałem Optiboot z odpowiednimi fusami i nie działa mi programowanie tej atmegi przez port szeregowy - znaczy się w ten sam sposób co programuje się zwykłe Arduino, błąd avrdude stk500_getsync() not in sync - oczywiście reset podłączony jak trzeba, próbowałem też ręcznie. Jak przez programator wrzucam program to wszystko działa. Jak wrzucony program coś na Serial wyświetla to też mogę
zmiana BOOT* wpływa na LOWFUSE i HIGHFUSE, prawda? jeśli tak, to w obu Pro Mini są takie same. Ta sama zawartość flasha.


@WebSpider: Tylko na high-fuse. I nie ma to nic do zawartości flasha! Fusebity programują się oddzielnie, osobno, zapisują się w avr gdzie indziej i nie są zawarte w flashu (ani w pliku .hex flasha).
@WebSpider: To przepraszam, nie zrozumiałem..., popraw mnie jak się mylę, bo z Arduino mam blade doświadczenie:
- z tego co piszesz działa Ci programowanie i odczyt tylko używając programatora USBasp?
- bootloader arduino używa uarta(seriala) do programowania, i dzięki temu nie potrzebujemy USBasp?
- twój problem jest taki, że nie działa upload programu używając połączenia szeregowego, a sam uart(serial) działa, i możesz sobie swobodnie komunikować się z mikrokontrolerem wysyłając i odbierając
Mirki, w związku z tworzeniem projektu komputera pokładowego do mojego autka na arduino chciałbym podłączyć mu odczyt prędkości z VSS. Do testów mam Mondeo MK2, które nie daje praktycznie żadnych informacji po OBD2. Chcę to zrobić koniecznie w Mondeo, bo jak spłonie to nie będzie tak szkoda (ʘʘ) I teraz pytanie - orientuje się ktoś na jakiej zasadzie działa VSS w mondku? Wiem, że na każdy obrót koła
Może idiotyczne pytanie - usiłuję dojść do tego, o co chodzi z numeracją pinów w arduino (konfiguracja softu Marlin dla płytki Rumba na ATMega256). NIJAK nie zgadza mi się to co jest w pliku, z tym co mam na schemacie, ani z sposobem numeracji wg arduino.
Przykładowo:
W sofcie Marlin >1.0.0 jest w pins.h definicja dla płytki RUMBA:

#define X_STEP_PIN 17
#define X_DIR_PIN 16
#define X_ENABLE_PIN 48
#define X_MIN_PIN 37
#define X_MAX_PIN
edit: nie działa KILL bo jakiś mądry na płytce interfejsu graficznego "full graphic smart controler" podpiął przycisk opisany STOP pod linię RESET (i faktycznie - po prostu resetuje Atmegę) zamiast pod linię KILL