Vojtěch Vosáhlo
Vytvořené odpovědi
-
AutorPříspěvky
-
Vojtěch VosáhloÚčastník
Díky,
tam jsem začal a poměrně úspěšně. Jde o to že například k objektu SerialUSB jsem nenašel žádnou oficiální dokumentaci, ale spíše nápomocné stránky viz.
A k dalším funkcím které by mělo arduino zvládnout a jsou uvedené na ofiko stránkách, cituji…you can use the M0 as a client USB peripheral (acting as a mouse or a keyboard connected to the computer) or as an USB host device…
sice knihovny existují, ale jsou podporovány v arduinu IDE od arduino.org
Asi jsem se spíš zamotal do situace, a taky úplně nechápu 32-bit vývojářství. Je to docela nepřehledný, když se obě „arduina“ takhle roždělili 😀
Vojtěch VosáhloÚčastníkJá jsem dělal s tip120 a většinou vše zapájím na ňáký univerzální pcb. Testuju to normálně na breadboardu na malejch proudech a pak to postavim. Myslím že třeba HW kitchen něco postaveného už má, a nebo z číny…
Vojtěch VosáhloÚčastníkJe pravda že je to taková nehezky začarovaná smyčka ale neleze mi do hlavy jak jsem to teda dělal já ? arduino ani jiný programátor jsem rozhodně nepoužil…
Vojtěch VosáhloÚčastníkNo je pravda že to je asi kravina, to usb je přes firmware… Pak už asi nezbývá nic jiného než druhý programátor, lidi to dělají i arduinem tak to můžete zkusit.
Vojtěch VosáhloÚčastníkOk, pokud tyhle dva piny propojíte. Dejte tam něco co se pak dá jednoduše odstranit. S propojenými piny to zkuste připojit do pc, zapnout avrdudess, dát programmer jako usbasp a u chipu detect. I když to v žádném návodu není popsáno, mělo by to najít tu megu 8. Opět to zkuste a budem pokračovat.
Vojtěch VosáhloÚčastníkPředpokládal bych že ten náš ztracený jumper jsou ty 2 neosazené piny na spodní straně desky. Zkuste za pomoci pinoutu toho procesoru co je osazený přeměřit ty dva piny. Jeden by měl jít na reset procesoru a druhý na PB2. Můžete napsat progress 😉
Vojtěch VosáhloÚčastníkNějaký odkaz na to co jste koupil, nebo obrázek? Já neznám žádné nové USBasp a vždy jsem firmware musel updatovat. Ale jde aktualizovat přes usb, není potřeba žádný programátor.
Vojtěch VosáhloÚčastníkJo, to je dost možné. Nenašel jsem mocinformací takže jsem spíš tipoval…
Vojtěch VosáhloÚčastníkDobrý den,
moc dokumentace u toho není ale zkuste odstranit ten jumper a pak to napájet externě.Vojtěch VosáhloÚčastníkJak jsem již psal, tahle chyba je normální, pojistka se zapíše jen se nepřečte zpět ve správném tvaru… USBasp vám asi na ser. komunikaci stejně nepomůže 😉
Vojtěch VosáhloÚčastníkNeni vůbec za co. Je hezký že se tu alespoň jednou za měsíc někdo objeví a já můžu pomoct. Je to jako takovej vedlejší projekt ?
Hodně štěstí do budoucnaVojtěch VosáhloÚčastníkMyslim že by měla, můžete to kdykoliv vyměnit když to odejde a dát tam něco lepšího…
Až na to bude zas síla tak to můžete vylepšit.Vojtěch VosáhloÚčastníktak připojte oba děliče na A0 a A1 a nahrajte tento kód. Musíte si ještě dovyplnit nějaké definice. Vstup z levého blinkru jsem dal na A0, z pravého na A1.
#include <Adafruit_NeoPixel.h> ////// NASTAVENI LEVEHO PASKU #define PIN_L_PASEK pin l pasku #define NUM_LEDS_L_PASEK pocet led l pasku Adafruit_NeoPixel l_pasek = Adafruit_NeoPixel(NUM_LEDS_L, PIN_L_PASEK, NEO_GRB + NEO_KHZ800); ////// NASTAVENI PRAVEHO PASKU #define PIN_P_PASEK pin p pasku #define NUM_LEDS_P_PASEK pocet led p pasku Adafruit_NeoPixel p_pasek = Adafruit_NeoPixel(NUM_LEDS_P, PIN_P_PASEK, NEO_GRB + NEO_KHZ800); ////////////POCET LED JEDNOHO Z PASKU #define NUM_LEDS NUM_LEDS_L_PASEK ////// NASTAVENI VSTUPNICH PINU #define L_BLINKR_PIN A0 #define P_BLINKR_PIN A1 void setup() { /// Nastaveni pinu na ktere pujdou vstupy/ blinkry pinMode(L_BLINKR_PIN, INPUT); pinMode(R_BLINKR_PIN, INPUT); ///Nastaveni pasku l_pasek.begin(); l_pasek.show(); p_pasek.begin(); p_pasek.show(); } void loop() { if(analogRead(P_BLINKR_PIN) > 500 && analogRead(L_BLINKR_PIN) < 500) { colorWipe(0xff,0xa2,0x00, 40, 1); colorWipe(0x00,0x00,0x00, 5, 1); } if(analogRead(L_BLINKR_PIN) > 500 && analogRead(P_BLINKR_PIN) < 500) { colorWipe(0xff,0xa2,0x00, 40, 0); colorWipe(0x00,0x00,0x00, 5, 0); } if(analogRead(L_BLINKR_PIN) > 500 && analogRead(P_BLINKR_PIN) > 500) { colorWipe(0xff,0xa2,0x00, 40, 2); colorWipe(0x00,0x00,0x00, 5, 2); } } void colorWipe(byte red, byte green, byte blue, int SpeedDelay, int pasek) { if(pasek == 0){ for(uint16_t i=0; i<NUM_LEDS_L_PASEK; i++) { setPixelL_PASEK(i, red, green, blue); showL_PASEK(); delay(SpeedDelay); } } if(pasek == 1){ for(uint16_t i=0; i<NUM_LEDS_P_PASEK; i++) { setPixelP_PASEK(i, red, green, blue); showP_PASEK(); delay(SpeedDelay); } } if(pasek == 2){ for(uint16_t i=0; i<NUM_LEDS; i++) { setPixelL_PASEK(i, red, green, blue); setPixelP_PASEK(i, red, green, blue); showL_PASEK(); showP_PASEK(); delay(SpeedDelay); } } } void showL_PASEK() { #ifdef ADAFRUIT_NEOPIXEL_H // NeoPixel l_pasek.show(); #endif #ifndef ADAFRUIT_NEOPIXEL_H // FastLED FastLED.show(); #endif } void setPixel_L_PASEK(int Pixel, byte red, byte green, byte blue) { #ifdef ADAFRUIT_NEOPIXEL_H // NeoPixel l_pasek.setPixelColor(Pixel, l_pasek.Color(red, green, blue)); #endif #ifndef ADAFRUIT_NEOPIXEL_H // FastLED leds[Pixel].r = red; leds[Pixel].g = green; leds[Pixel].b = blue; #endif } void showP_PASEK() { #ifdef ADAFRUIT_NEOPIXEL_H // NeoPixel p_pasek.show(); #endif #ifndef ADAFRUIT_NEOPIXEL_H // FastLED p_pasek.show(); #endif } void setPixel_P_PASEK(int Pixel, byte red, byte green, byte blue) { #ifdef ADAFRUIT_NEOPIXEL_H // NeoPixel p_pasek.setPixelColor(Pixel, p_pasek.Color(red, green, blue)); #endif #ifndef ADAFRUIT_NEOPIXEL_H // FastLED leds[Pixel].r = red; leds[Pixel].g = green; leds[Pixel].b = blue; #endif }
Vojtěch VosáhloÚčastníkTo je možná nejlepší způsob, třeba se něco dotýkalo země a nešlo to…
Vojtěch VosáhloÚčastníkZemě můžete odpojit, stačí že je to napájené z motorky…
-
AutorPříspěvky