myro
Vytvořené odpovědi
-
AutorPříspěvky
-
Aleš
ÚčastníkJo, to by ten H-můstek s L298 utáhnout mohl. Sice ne kontinuálně, to by chtělo asi vyměnit chladič za větší, ale při ovládání joystickem to v jednom kuse asi nepojede. Jeden můstek s L298 tady mám, ovládám s ním krokový motor, a docela dost hřeje.
Příkladů zapojení je spousta:
http://www.geekonfire.com/wiki/index.php?title=Dual_H-Bridge_Motor_Driver
https://filderbaer.wordpress.com/2014/10/15/building-an-arduino-bluetooth-robot-car-part-2-controlling-dc-motors/
atd.
Do napájení motorů „Motor power supply“ se připojí těch 24V.
Software si ale budeš muset upravit sám. Nedá se to napsat „od stolu“ bez zkoušení. Bude potřeba to odladit s připojenýma motorama, protože se nedá odhadnout, co budou ty motory potřebovat, aby se rozeběhly, a jak bude potom vypadat rozsah regulace. Další všc je, že při reverzaci se bude muset nastavit nějaká prodleva. Nevím, co tím budeš pohánět, ale když se motor bude při zatížení točit na jednu stranu, a ty mu dáš reverz, tak vznikne takový proudový náraz, že to ten můstek nevydrží.
Další důvod, proč se to nedá napsat bez hardware je to, že jsem ten joystick nikdy v ruce neměl, takže nevím, jak je to přesné. Jestli je střed pokaždé 512 (asi ne), nebo jestli se tam bude muset udělat na středovou polohu nějaká díra dejme tomu od 500 do 524, atd.
Takže koupit moduly a hrát si. Příkladů je na internetu spousta. 🙂Cocohama
ÚčastníkJeden z motorů, které bych chtěl použít má označení RS-555SH-2670 24V (http://p.globalsources.com/IMAGES/PDT/SPEC/391/K1059537391.pdf).
Arduino bych rád využil z důvodu zapojení senzorů, displaye etc.
Nejde jen od DC motory. Laboruji i s 24V krokovými motory.
Problém je, že nevím jak napájet motor 24V, ale zároveň jej připojit k arduinu.
Aleš
ÚčastníkKdyby stačil směr, tak by na to stačil joystick, případně joystick + 4 relátka. Bez Arduina 🙂 Jaké označení mají ty motory (kvůli proudu) ?
Pro ovládání motorů se používají H-Bridge, např. s L298:
http://www.robotoid.com/appnotes/circuits-bridges.htmlCocohama
ÚčastníkPomocí joysticku bych chtěl měnit směr i řídit otáčky.
Aleš
ÚčastníkJak ovládat? Jenom směr, nebo i řídit otáčky?
charlie12
ÚčastníkTak se mi ho povedlo zapojit (snad správně). http://s30.postimg.org/7gwqfe7kx/DSC_0215.jpg a http://s1.postimg.org/6odlqp0dr/DSC_0216.jpg
Stáhl jsem si knihovnu LiquidCrystal_I2C
Kód:
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x20,A4,A5); void setup() { lcd.init(); lcd.backlight(); lcd.print("zkouska"); } void loop() { }
Poradíte, kde dělám chybu?
DíkyJakubD
ÚčastníkLcd použít nemůžu mám display připojený na seriový řadič https://www.sparkfun.com/products/258.
Zbyšek Voda
ÚčastníkPoužil bych něco na tento způsob: https://bastlirna.hwkitchen.cz/arduino-zaklady-blikani-bez-funkce-delay/
Aleš
ÚčastníkPoužij pžíkaz lcd.setCursor(x,y); x je pozice v řádku, y je číslo řádku. Takže když chceš např. zapsat na řádek 3, od začátku, nastavíš lcd.setCursor(0,3); a potom zapíšeš pomocí lcd.print(„text na řádku 3“); Text se zapíše na řádek 3, a ostatní řádky se nezmění. Program si uprav podle toho. Ještě je zajímavá funkce lcd.clear(); 🙂
Aleš
ÚčastníkAleš
ÚčastníkBMP085 je připojeno přes i2c sběrnici, a displej pravděpodobně také. Arduino má i2c sběrnici vyvedenu na A4 (SDA) a A5 (SCL). i2c sběrnice je paralelní, jednotlivá i2c zařízení se odlišují nastavenou adresou (ta je zadrátovaná přimo v zařízení). Takže BMP085 i displej zapojte paralelně k sobě a na piny A4 a A5. Bude vám to fungovat 🙂
hefi
ÚčastníkTo jako používáte pulseIn pro změření času ultrazvukového čidla?
Pokud jde o obejití neexistujícího pulseIn u malinkého Attiny, zkusil bych číst port normálně a změřit čas do jeho změny.digitalWrite(echoPin, HIGH); // vyšlu signál
unsigned long casVyslaniEcha = millis();
do
// tady nic, cekam
while(!digitalRead(inputPin)); // vykřičník neguje, takže smyčku opustí při návratu
unsigned long casLetuSignalu = millis() – casVyslaniEcha; // teď mám čas, co signál potřeboval k návratuLuke_CZ
ÚčastníkPísni na Skype: velky_ujezd
tribal.cz
ÚčastníkMohl by jsi mi sem dát nějaký příklad z tou tvojí funkcí?
tribal.cz
ÚčastníkŠlo pouze o teorii jinak je mi jasný že výsledek bude vypadat jinak teorie byla toto => jedno centrální zařízení (mega) a tři klientské (uno) každé přijímá z centrály data ty pak vypisuje na svůj displej + centrála vše ukládá na sd a zobrazuje na svém displeji jako celkový přehled toť vše
Luke_CZ
ÚčastníkKdyž už jsme u toho,tak na to, abys zobrazoval různé hodnoty na LCD, tak nepotřebuješ TŘI arduina, ale stačí ti naprosto jedno na který pověsíš x kusů I2C LCD, na těch se dá měnit I2C adresa. Navíc I2C má velmi limitovanou délku propojení.
hefi
ÚčastníkDíky za odpovědi.
Zkusím dát na + článku diodu, za ni měřící PIN a přes velký odpor na zem. Musím změřit, o kolik posouvá napětí. U tak malých proudů se budu pohybovat v tom koleni charakteristiky, tak uvidíme.
Alternativou by bylo dát diodu v závěrném směru paralelně k článku. Ta by žádný úbytek nezpůsobovala. Jenže když to nějaké trdlo otočí, ochráním sice procesor, ale nemohu zaručit, že mu článek ve zkratu třeba nebouchne.Ta druhá věc, vypnutí napájecího napětí, teď jsem k tomu viděl hezkou aplikaci u LM317 zdroje. Mezi vstupní napětí přes 30V a výstupní napětí regulované od 2V byla zapojena dioda v závěrném směru. Normálně zavřená. Pokud se ale odpojí napájecí napětí a kapacita na výstupu je vyšší než ta na vstupu, klesá napětí vstupu pod výstupní, otevře se dioda a vstup je „živen“ z výstupních kondenzátorů. Na elektronice zůstává pouze napětí diody 0,7V a nic se nezničí.
Petrs
ÚčastníkDobrý den,
na ten článek Waveform Generator jsem narazil, ale nedokázal jsem si z toho vytáhnout pouze tu sinusovku, musím to ještě jednou projít a snad se povede když si přečtu ještě něco o tom rezistorovém žebříku.Tento zdroj napětí by měl sloužit pro napětím řízený zdroj proudu pomocí, který bude připojen na neznámou impedanci, tak se chci ještě zeptat, dá se analogové usměrnění napětí nahradit digitálním tím, že využiji umocnění na 2?
děkuji Petr
lukbe
ÚčastníkJinak to odpojení by bylo možné realizovat pomocí relé, tak že po spuštění arduina se relé hned sepne–>> měří se U baterie a po odpojení arduina od napájení se relé odepne.
lukbe
ÚčastníkV případě problému č. 1 by se dala použít již zde zmiňovaná dioda. A jinak u problému 2, mne napadá použít nějaký obvod, kdy v případě že vstupní napětí klesne = vypnutí tak se i odpojí připojená baterie. Ale osobně si myslím že připojená baterie na analogový pin v případě vypnutí arduina ničemu neuškodí.
JakubD
Účastníkzkouším tě a nic 😀
tribal.cz
Účastníkok takže cele to bude vypadat nějak takto
mega
#include <Wire.h> #include <dht.h> dht sensor String vystup; int dht[] = {7, 8}; int temp1; int temp2; int hum1; int hum2; void setup() { Serial.begin(9600); Wire.begin(); } void loop() { sensor.read(dht[0]); temp1 = sensor.temperature; hum1 = sensor.humidity; sensor.read(dht[1]); temp2 = sensor.temperature; hum2 = sensor.humidity; Wire.beginTransmission(1) // prvni uno Wire.write(temp1#hum1); Wire.endTransmission(); Wire.beginTransmission(2) // Druhe uno Wire.write(temp2#hum2); Wire.endTransmission(); }
uno
#include <Wire.h> string value; int tempghum[]; void setup(){ Wire.begin(1); } void loop(){ while(!Wire.available()) { } value = Wire.read(); // do proměnné value se uloží příchozí hodnoty tedy teplota a vlhkost z jednoho ze senzorů getValue(var, '#', tempghum ) TFTscreen.println (tempghum[0]); //a zobrazíme pouze teplotu pro obě hodnoty... TFTscreen.print (tempghum[0]); TFTscreen.println (tempghum[1]); } String getValue(String data, char separator, int index) { int found = 0; int strIndex[] = { 0, -1 }; int maxIndex = data.length()-1; for(int i=0; i<=maxIndex && found<=index; i++){ if(data.charAt(i)==separator || i==maxIndex){ found++; strIndex[0] = strIndex[1]+1; strIndex[1] = (i == maxIndex) ? i+1 : i; } } return found>index ? data.substring(strIndex[0], strIndex[1]) : ""; }
příklad píšu jen pro to zda jsem správně pochopil tvojí funkci, takže jako parametry tovjí funkce je řetězec přijatý z megy, následně znak kterým původní proměnné odděluji a poslední parametr je výstupní proměnná do které se vše uloží resp do pole. Výsledné hodnoty potom poté mohu zobrazit například na displeji. je mi jasné že program na unu nejspíš ani nebude fungovat napsal sem to jen jako ukázku. Býval bych to hned vyzkoušel ale bohužel momentálně nejsem doma takže nemám přístup k arduinu. Pokud se pletu prosím oprav mne
Luke_CZ
ÚčastníkTak kolem šesté mě zkus na : velky_ujezd
Teď jdu na zahrádku.
Luke_CZ
ÚčastníkA co takhle využít hledání na webu? Máš to od 1Hz-50kHz.
http://www.instructables.com/id/Arduino-Waveform-Generator/Zbyšek Voda
ÚčastníkDobrý den,
to jenom s Arduinem nepůjde. I funkce analogWrite() totiž generuje PWM signál, což je taky digitál. Umí na pinu poslat buď 0, nebo 5V. Nic mezi.
Budete tedy potřebovat nějaký HW, například odporový žebřík.
Luke_CZ
ÚčastníkChápu-li to dobře, tak:
1, Mega bude číst data ze senzorů a ty posílat do dvou UNO
2, na UNO budeš číst sériová data a zobrazovat pouze vybrané hodnotyPokud to tak je, tak poskládej v MEGA načtená data do řetězce např:
#teplota1#teplota2#vlhkost1#vlhkost2 = na port pošleš tedy řetězec #20.5#21.4#62.7#58.4V každém UNO potom načteš z RX celej řetězec a ten zase rozebereš na jednotlivé hodnoty. Potom si jen zobrazíš ty, které budeš chtít.
Tady máš na to funkci:
String getValue(String data, char separator, int index) { int found = 0; int strIndex[] = { 0, -1 }; int maxIndex = data.length()-1; for(int i=0; i<=maxIndex && found<=index; i++){ if(data.charAt(i)==separator || i==maxIndex){ found++; strIndex[0] = strIndex[1]+1; strIndex[1] = (i == maxIndex) ? i+1 : i; } } return found>index ? data.substring(strIndex[0], strIndex[1]) : ""; }
tribal.cz
Účastníktak řekněme dvě dht22 jedna mega a dvě una spodní uno zobrazuje pouze teplotu z pravého sensoru a horní uno zobrazuje teplotu i vlhkost z levého sensoru.
ve výsledku půjde úplně o jiné zařízení ale pro příklad je následující situace více než dostačujícíhttps://drive.google.com/file/d/0B_QUj2kCn2H3U0lfZFFjNzlUWE0/view?usp=sharing
JakubD
Účastníkmno tak to asi nevyjde 😀 ICQ nepoužívám tak 6 let 😀 Skype nemáš ?
Luke_CZ
ÚčastníkHoď sem nějakou malůvku, jak to chceš mít zapojený a co to má dělat. Jinak ti nikdo nedokáže dobře poradit.
-
AutorPříspěvky