Ostatnio postanowiłem pobawić się z Arduino i do tego kupiłem tanie Arduino uno r3 z aliexpress (CH340 Atmega 328p) - od tego gościa: https://pl.aliexpress.com/item/1005006038084112.html Po problemach z instalacją pod Linuksem (chodzi o ten nieszczęsny CH340, który nie dość, że nie jest standardowo rozpoznawany, to daje jeszcze jakiś konflikt z oprogramowaniem do braille'a - ten sam vendor i produkt id dla sterownika) zdecydowałem się skompilować i uruchomić prosty projekt z miganiem diod (jeden z typowych przykładów z sieci). Jednak dioda LED migała nieregularnie (próbowałem zarówno z wbudowaną D13 jak i zewnętrzną podłączoną przez rezystor 330 omów na różnych pinach), więc nie tak, jak się spodziewałem podczas korzystania z funkcji opóźnienia.
Ostatecznie skompilowałem następujący kod:
Spodziewałbym się, że licznik będzie zwiększał się jeden po drugim w regularnych odstępach czasu. Jednakże przedziały czasowe wydają się być częściowo losowe, a kolejność liczników jest następująca (jeden z przykładów):
Moim skromnym zdaniem ten moduł nie działa poprawnie. Czy robię coś źle, czy jest to problem z urządzeniem Arduino? Wszelkie resety, rekompilacje itp. nie pomagają. Wybieram Arduino Uno, jako rodzaj sprzętu.
Dziękuję za sugestie.
Mój stary nos mówi mi, że albo jest coś nie tak z pamięcią, albo dochodzi do jakiś niekontrolowanych restartów (ale jedna mała dioda nie powinna ciągnąć tyle prądu, by nagle dochodziło do przeciążenia).
P.S. Szybkość portu szeregowego ustawiana jest na komputerze tak samo jak w programie Arduino.
Ostatecznie skompilowałem następujący kod:
int counter = 0;
void setup() {
Serial.begin(9600);
pinMode(10,OUTPUT);
pinMode(13,OUTPUT);
}
void loop() {
digitalWrite(10, HIGH);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(10, LOW);
digitalWrite(13, LOW);
delay(5000);
Serial.println(counter++);
}
Spodziewałbym się, że licznik będzie zwiększał się jeden po drugim w regularnych odstępach czasu. Jednakże przedziały czasowe wydają się być częściowo losowe, a kolejność liczników jest następująca (jeden z przykładów):
0
1
2
3
4
113
114
115
0
1
2
3
4
5
39
40
41
83
99
115
116
117
167
Moim skromnym zdaniem ten moduł nie działa poprawnie. Czy robię coś źle, czy jest to problem z urządzeniem Arduino? Wszelkie resety, rekompilacje itp. nie pomagają. Wybieram Arduino Uno, jako rodzaj sprzętu.
Dziękuję za sugestie.
Mój stary nos mówi mi, że albo jest coś nie tak z pamięcią, albo dochodzi do jakiś niekontrolowanych restartów (ale jedna mała dioda nie powinna ciągnąć tyle prądu, by nagle dochodziło do przeciążenia).
P.S. Szybkość portu szeregowego ustawiana jest na komputerze tak samo jak w programie Arduino.