Tražiš pomoć, a ne surađuješ. Kako da ti onda netko pomogne?
Arduino - projekti, ideje, savjeti, problemi
- poruka: 1.365
- |
- čitano: 442.102
- |
- moderatori:
DrNasty, pirat, XXX-Man, Lazarus Long, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Jel ima ko od vas encoder iz starog printera (senzor i disk) ili zna di ima za sitne pare?

Nemam. Oni imaju linijski optički enkoder? Na to ciljaš? Ako ti može proći rotacijski, a da ga ne uspiješ nabaviti, možeš si ga i sam napraviti, npr.
EDIT: sad sam uočio da si napisao "disk" pa znači da onda tražiš rotacijski.
Cilj mi je napravit 24x6 matrix ( shift reg i dek brojilo) spojit ga na arduino isprogramirat ga i to je vise manje to
i upakirat ga u neku ljepu kutijicu

Isprogramirati ga da radi - što?
Isprogramirati ga da radi - što?
Da upisem rijec i da ju on ispise il nesto u tom smislu

Isprogramirati ga da radi - što?
Da upisem rijec i da ju on ispise il nesto u tom smislu
Pa to bi ti trebala biti glavna stvar! Od toga se počne! Pa nije LED matrica svrha sama sebi. Odluči se prvo što želiš napraviti. Hoće to biti nekakav reklamni ili info-panel? Ne znam, da ispisuje naziv firme, kratki opis, tel. broj, adresu, radno vrijeme? Hoće u dućanu pokazivati proizvode koji su na akciji? Hoće to biti stanica za vremenske prilike, pa da prikazuje datum i vrijeme, temperaturu, vlagu u zraku, broj čestica u zraku?
Jesi ovako nešto mislio?
Termometar temeljen na Arduinu i LED matrici
1) LED matrica - način funkcioniranja i izvedba
2) Dohvaćanje trenutne temperature
3) Prikaz temperature na LED matrici
BTW Arduino (tj. neki ATmega mikrokontroleri) ti imaju interni senzor temperature, znači ni ne treba ti vanjski senzor. Pogledaj ovo.
Jesi ovako nešto mislio?
Termometar temeljen na Arduinu i LED matrici
1) LED matrica - način funkcioniranja i izvedba
2) Dohvaćanje trenutne temperature
3) Prikaz temperature na LED matrici
BTW Arduino (tj. neki ATmega mikrokontroleri) ti imaju interni senzor temperature, znači ni ne treba ti vanjski senzor. Pogledaj ovo.
Nesto tog tipa.
Znaci Arduino UNO R3 bi po ovome sto si dodao ima u sebi mjerac temperature?
I da li se onda uz to prikazivanje temperature moze staviti i opcija da ispsuje nesto sto se upise u serial monitoru?
Svaki Arduino koji ima neki od mikrokontrolera navedenih na stranici za koju sam dao link. Znači, senzor temperature imaju mikrokontroleri, između ostalih, ATmega328(p) i ATmega32U4. To znači da ga onda imaju pločice na kojima se nalaze ti mikrokontroleri, a to su npr. Uno, Nano, Pro Mini, Leonardo, Pro Micro.
Naravno. Ako još nisi odabrao pločicu, a želiš koristiti USB serijsku komunikaciju, onda ti u to spadaju: Uno, Nano, Leonardo, Pro Micro.
pločicu sam naručio preko interneta uno R3, pa bi trebala doc kroz kojih 1-2 tjedna
Pozdrav, htio bih napraviti autonomnu kosilicu(za početak mali običan robot) kroz dead reckoning koji bi trebao biti što točniji
relativno sam novi sa arduinom, dosta sam na raspi radio
Ovakav je plan
wheel encoders(magnet-ne baš točni)
IMU (zbog velike vibracije i buke nisu pouzdani)
GPS(+-6m)
Ultrasonic senzori(za sigurnost)
Kamera za prepoznavanje boje(dok nije zelena idi ravno)-RaspPI openCV-
napraviti dead reckoning, tako da arduino(ako bude moguće, ako ne onda raspPi) pamti podatke senzora, a RaspPi samo podatke kamere.
Kada bi robot ponavljao zacrtani put primarno bi koristio podatke senzora brojača okretaja kotača, ostali senzori bi se koristili kao sekundarni za provjeru, zaustavljanje, popravljanje položaja i sigurnost.
Možda je prevelik zalogaj, al mislim da ako idem senzor po senzor spajao neće biti problema?
Šta msilite jel dobar setup jel moguće da bude ok ovako?
Hvala unaprijed, svaki savjet kritika je dobrodošla
Pozdrav, htio bih napraviti autonomnu kosilicu(za početak mali običan robot) kroz dead reckoning koji bi trebao biti što točniji
relativno sam novi sa arduinom, dosta sam na raspi radio
Ovakav je plan
wheel encoders(magnet-ne baš točni)
IMU (zbog velike vibracije i buke nisu pouzdani)
GPS(+-6m)
Ultrasonic senzori(za sigurnost)
Kamera za prepoznavanje boje(dok nije zelena idi ravno)-RaspPI openCV-
napraviti dead reckoning, tako da arduino(ako bude moguće, ako ne onda raspPi) pamti podatke senzora, a RaspPi samo podatke kamere.
Kada bi robot ponavljao zacrtani put primarno bi koristio podatke senzora brojača okretaja kotača, ostali senzori bi se koristili kao sekundarni za provjeru, zaustavljanje, popravljanje položaja i sigurnost.
Možda je prevelik zalogaj, al mislim da ako idem senzor po senzor spajao neće biti problema?
Šta msilite jel dobar setup jel moguće da bude ok ovako?
Hvala unaprijed, svaki savjet kritika je dobrodošla
Enkoder ti nije najsretnije rjesenje jer zbog neravnina nikad nece znati kolko je udaljenosti okret kotaca
Pozdrav, htio bih napraviti autonomnu kosilicu(za početak mali običan robot) kroz dead reckoning koji bi trebao biti što točniji
relativno sam novi sa arduinom, dosta sam na raspi radio
Ovakav je plan
wheel encoders(magnet-ne baš točni)
IMU (zbog velike vibracije i buke nisu pouzdani)
GPS(+-6m)
Ultrasonic senzori(za sigurnost)
Kamera za prepoznavanje boje(dok nije zelena idi ravno)-RaspPI openCV-
napraviti dead reckoning, tako da arduino(ako bude moguće, ako ne onda raspPi) pamti podatke senzora, a RaspPi samo podatke kamere.
Kada bi robot ponavljao zacrtani put primarno bi koristio podatke senzora brojača okretaja kotača, ostali senzori bi se koristili kao sekundarni za provjeru, zaustavljanje, popravljanje položaja i sigurnost.
Možda je prevelik zalogaj, al mislim da ako idem senzor po senzor spajao neće biti problema?
Šta msilite jel dobar setup jel moguće da bude ok ovako?
Hvala unaprijed, svaki savjet kritika je dobrodošla
Enkoder ti nije najsretnije rjesenje jer zbog neravnina nikad nece znati kolko je udaljenosti okret kotaca
tog sam se i bojao, mozda kad bi stavio na sva 4 kotaca pa izvuc prosjek? stavio bih dva motora na straznje kotace tako da ako jedan prebaci ili zakaze ostali podaci mjerenja okretaja su tu
IMU ce provjeravati ako slucajno bot skrene s putanje(iako zbog vibracije nez kako ce bit to) + gps(neprecizan +-5m)(ako jedan pogonski kotač preskoči)
kamera za detektiranje rubova travnjaka((ne)zeleno)(ako oba kotača preskoče)
nez, jel postoji bolja metoda mjerenja udaljenosti?
tog sam se i bojao, mozda kad bi stavio na sva 4 kotaca pa izvuc prosjek? stavio bih dva motora na straznje kotace tako da ako jedan prebaci ili zakaze ostali podaci mjerenja okretaja su tu
IMU ce provjeravati ako slucajno bot skrene s putanje(iako zbog vibracije nez kako ce bit to) + gps(neprecizan +-5m)(ako jedan pogonski kotač preskoči)
kamera za detektiranje rubova travnjaka((ne)zeleno)(ako oba kotača preskoče)
nez, jel postoji bolja metoda mjerenja udaljenosti?
Ovo sa 4 enkodera bi povecalo preciznost, ali nisam siguran da bi na kraju sve to bilo ok + gps i to je to, ako nece funkcionirat onda mu sltavis neki data logger na sd karticu i vidis sta se je tocno dogadalo s ocitavanjem enkodera i gps-a i vidis koje podrucje treba poboljsanje.
Pozdrav svima.
Pocetnik sa m i nemam nikakvog iskustva sa ARDUINO ili slicnim elektronikama.
Pravio sam strug za drvo i sada razmisljam da uradin keke prepravke na njemu.
Planiran da doradim nosac alata koji ce se krece po dve ose.
Za pomeranje po osama planiram manuelno pomeranje, poluautomatski i automatski.
Nanuelno preko rucica koje cu okretati u zeljenom smeru.
Poluautomatski preko elektro motora i tastera za zaljeni smer.
Automatski preko istih elektro motora ali u odredjenom rasporedu kretanja.
Za ovu zadnju stavku Automatski planiram da koristim ARDUINO kao komandu.
Pre par godina sam imao istu ideju ali sam odustao iz nepoznavanja elektronike i rada ARDUINO ploce.
Pokusao sam da napravim neku semu ali i to mi je islo slabo.
Evo kako izgleda pokusaj. Mislim da sam dobro odradio poluautomatski mod ali nisam siguran.
Ovo sam uradio sa motorima 24V koje imam i probao.
A ovako bih trebalo da izgleda automatski mod. Pocetni i krajnji polozaj po obe ose osigurao bih sa mikroprekidacima koji bi odredjivali krajni polozaj alata.
Molimo bih vas ako neko ima volje da pomogne oko ovog projekta.
Hvala unapred Dejan
Stigao zaslon. OLED 128x64(ili 32 kako mi se čini).
Adafruitom GFX library ne radi.
Ovo je kod kojeg sam napisao(za test), no on kaže
exit status 1
'drawRect' was not declared in this scope
Kod:
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
void setup() {
drawRect(0, 0, 128, 64, 0x00);
}
void loop() {
}
Ne funkcionira tako. Pogledaj primjer koji dolazi uz Adafruit SSD1306 library.
Ne funkcionira tako. Pogledaj primjer koji dolazi uz Adafruit SSD1306 library.
Sad ne baca nikakav error, al kad uploada taj kod, na ekranu mi stoji Adafruit logo.
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
void setup() {
Serial.begin(9600);
// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
display.begin(SSD1306_SWITCHCAPVCC, 0x3D); // initialize with the I2C addr 0x3C (for the 128x32)
// init done
// Clear the buffer.
display.clearDisplay();
display.drawRect(10, 10, 20, 20, WHITE);
}
void loop() {
}
POPRAVIO:
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
void setup() {
Serial.begin(9600);
// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32)
display.display();
// init done
// Clear the buffer.
display.clearDisplay();
display.drawPixel(10, 10, WHITE);
display.display();
}
void loop() {
}
display.drawChar(10, 10, "99 km/h", WHITE, BLACK, 5);
Warning kaže
warning: invalid conversion from 'const char*' to 'unsigned char' [-fpermissive]
Problem je u tekstu, no ne znam kako ga riješiti.
Ovako, imam jedan problem. Koristim hall SENZOR za mjerenje brzine bicikla.
Dakle, kod koji sam napisao izgleda ovako
Varijabla
_brzina_uhvatio -> Služi da zaključavanje brojanja koliko je puta magnetić aktivirao senzor. Dakle, da mi ne bi dva puta ubrojao okretaj kotača.
_brzina_vrijeme -> Vrijeme kada je magnetić prvi put (nakon prošlog brojanja) aktivirao senzor.
_brzina_puta -> Mjeri koliko puta se kotač okrenuo u jednom mjerenju.
_PROMIJER_KOTACA -> Makro definicija promjera kotača(uzeo sam 2.1m za testiranje).
Kod tesitranja brzina skoći s 24 na 40+ km/h
Ne znam gdje griješim, al' ovo mi se čini da ne radi kako treba.
VIDEO:
Ovako, imam jedan problem. Koristim hall SENZOR za mjerenje brzine bicikla.
Dakle, kod koji sam napisao izgleda ovako
Varijabla
_brzina_uhvatio -> Služi da zaključavanje brojanja koliko je puta magnetić aktivirao senzor. Dakle, da mi ne bi dva puta ubrojao okretaj kotača.
_brzina_vrijeme -> Vrijeme kada je magnetić prvi put (nakon prošlog brojanja) aktivirao senzor.
_brzina_puta -> Mjeri koliko puta se kotač okrenuo u jednom mjerenju.
_PROMIJER_KOTACA -> Makro definicija promjera kotača(uzeo sam 2.1m za testiranje).
Kod tesitranja brzina skoći s 24 na 40+ km/h
Ne znam gdje griješim, al' ovo mi se čini da ne radi kako treba.
VIDEO:
Sta ti tocno znaci ovo _kocnica_1?
Mislim da bi ti bilo najbolje za ovo(brojanje okretaja kotaca) koristiti interruptove, tako da svaki put arduino registrira signal halla.
Ako neces koristiti interruptove, onda barem nakon registracije halla disableaj ponovnu aktivaciju na odredeno vrijeme(stavis tako da ti max brzina koju moze mjeriti bude 100km/h sta je overkill za bicikl, a opet ima dobar range)
Onda bi trebalo prestati skakati.
To mi je varijabla koju koristim kasnije. U biti, u njoj spremam vrijednost senzora, za sam iskoristio od kočnice(ušteda memorije :D).
Taj disable imam dok hall ne padne ispod granice koja mu je zadana. Kad padne ispod nje, opet može registrirati kotač(spreman je za novi nalet).
Sad koristim forumu ispod, brzina je očekivana no opet ima to preskakanje.
Sad tu dolazi još jedan problem. Ako bi ja išao dosta sporo, tipa da za jedan okretaj kotaća je potrebno više od jedne sekunde(_MAKS_BEZ_BRZINE), ipak bi išao nekom brzinom, a program bi govorio nulu.
Ako obrišem kod
/* if(_vrijeme - _brzina_vrijeme >= _MAKS_BEZ_BRZINE && _ekran == 1)
{
display.setCursor(0, 0);
display.setTextSize(2);
display.println("00 km/h ");
display.display();
}*/
To znači da će mi ostati zadnja brzina koju je izračunao. Dal ima netko od vas ideju kako napraviti način da kad stojim, bude nula.
Izgleda mi nemoguće, a opet mislim da mora biti neki način(kako kupovni ciklokompjuteri računaju brzinu?).
Hvala :)
while {
if(senzor) {
... blok 1
} else {
... blok 2
}
}
Znaci, senzor provjeravas u jednom kratkom vremenu i ako je senzor aktivan za vrijeme izvršavanja bloka 1 ili bloka 2, propustit ces da ga detektujes. Zato imas skokove u mjerenju.
Koristi interrupt.
Za te interuptove, dal ja moram koristiti i attachInterrupt()?
Koristiš analogni ili digitalni hall senzor?