|
A klónok CH340 Soros-USB illesztőjének drivere ( Letöltés)
Utánanézek hátha tudok szerezni uj bootloadert, na meg persze hogy be tudom-e juttani a con**tronixba hogy felrakják. Akkor kap egy tisztességes tápot is.
Bootloader-en az ATMEGA16U2-t érted? Csak mert az nem az.  Az egy HW-s USB támogatással felvértezett uC, amire egy USB to serial programot töltöttek. A bootloader az ATMEGA328p szoftverének egy része.
Az adatlapon azt irta hogy bootloader, igaz lehet a typical applications alatt...
természetesen ATMEGA16U2-re gondoltam. TME-nél van is
Te mennyiért is vetted ezt a kártyát? A tme-nél kb. 2x annyiba kerül egy ilyen uC, mint amennyiért kínából vehetsz egy új UNO-t.
A másik pedig, hogy azért egy QFN package-t nem olyan könnyű ám beforrasztani kézzel. Persze be lehet, de nem egyszerű és minimum forrólevegős forrasztóállomás kell hozzá.
A kártyát 53 lejért vettem az uj ic 20 lej+ a posta kb 15lej az atmega328 12lej, mondasz te valamit.
A forrasztást az egyik iteni gyárban tudtam volna elvégezni/végeztetni. Megnézem az aliexpressen hátha van free shipping.
A legolcsóbb, amit találtam az $3.18 (ingyenes szállítással), ami ugye kevesebb mint 13 lej. Igaz ez SMD-s ATMEGA328P-t használ és valószínűleg azt az újonnan elterjedt kínai USB-s chipet, a típusa most nem jut eszembe.
Nos én keresgetek THT verzió után, mivel szeretnék vele többet felprogramozni, esetleg kissebbeket is.
Ezt leltem Bővebben: Link
Érdekes hogy nem tudnak méretarányos képet feltenni róla.
 Ahhoz nem kell egész kártya. Vegyél egy USBasp-ot. Az áramköreidre pedig tervezz egy ICSP csatlakozót és simán programozhatod arduino-val, nem kell külön kártya.
Ezen a képen egyébként pont egy ATMEGA16U2-s kártyát "forrasztok" egy grillsütőben (rendes hőkarakterisztika szerint szilárdtestrelés vezérlővel). Bővebben: Link A hozzászólás módosítva: Feb 27, 2015
Ez lesz az. Picit drágább de ezen nagyjából az eredeti megoldást kapod.
Sziasztok! Miért van az, hogy ha a webszerverbe a weboldalt sd-ről olvasom be, akkor kezeli az ékezetes karaktereket, ha meg az avr-ben van a weboldal, akkor krix-kraxok lesznek? Hogyan lehetne avr-ből ékezetet iratni a weboldalon, teszem azt mint az lcd-nél createChar-rel.
Ha minden igaz 60 napon belül megkapom.
Sziasztok! Egy dologgal nem boldogulok: adott egy fájl az sd kártyán, amit olvasok, majd ennek a tartalmát bele kéne tenni, egy tömb char változóba (char valami[]). Ezt hogyan lehetne kivitelezni?
Ebből próbálj meg elindulni ez működik, a munkatársam próbálta ki én még nem.
Hol van az adatbázis mert van mikor kívülről nem elérhető.
Le sikerül tölteni? A hozzászólás módosítva: Feb 27, 2015
Át kell nevezni a mappát letöltés után ékezet nélküli névre akkor kibontható.
Sziasztok! Abban szeretnék segítséget kérni, hogy mint már a múltkor írtam, nagyon meglassult a megámon a progi, és a webszerverből érkező adatokat egy stringhez fűzöm, és ezt nézem indexOf-fal így nyerek belőle adatokat, viszont ha az indexOf-fokat kiveszem a progiból, akkor jó, tehát ezek miatt lassult meg, hogyan tudnám a webszerveres adatokat feldolgozni másképp? Előre is köszi!
Adafruit ILI9341
Lehet nyomtatni a Idézet: „tft.setCursor(x,y);” ponttol szamitva balra. Vagyis van egy valtozom es az mindig tartsa a jobbra illesztest egy adott ponthoz, ha valtozik is (tobb vagy kevesebb szamjegyu) ?
Koszonom.
Szia!
Letöltöttem, kicseréltem a libeket ezekre, le is fordult, de a mysql azt írja a logba:
Access denied for user 'test'@'192.168.0.100' (using password: YES)
Az arduino pedig ezt:
Connecting...
Error: 88 = +wheezy1-log ¨ mjN%lry* ÿ÷ a,VNa~w[?hos mysql_native_password .
Connection failed.
Teszteltem a felhasználó/jelsó párost van jogosultsága, User:test Password:asd , egy raspberry pi "b" -n van a mysql. (ez csak a teszt.)
Milyen sql beállításokat használtok amivel működik?
Karakter készlet? nekem UTF-8
SQL szerver verzió? nekem 5.5.41-0+wheezy1-log
Jelszó kivonatolása? nálam MYSQL 4.1+
Köszi
Synology DS111 NAS-on fut.
Sziasztok! Vettem két nRF24L01-et és két arduino nanot, összeraktam de a sketchben még a minta sem fordul le.
A kód most csak ennyi:
#include <SPI.h>
#include "printf.h"
const uint8_t num_channels = 128;
uint8_t values[num_channels];
const int num_reps = 100;
const uint64_t pipes[2] = { 0xABCDABCD71LL, 0x544d52687CLL }; // Radio pipe addresses for the 2 nodes to communicate.
byte data[32]; //Data buffer for testing data transfer speeds
unsigned long counter, rxTimer; //Counter and timer for keeping track transfer info
unsigned long startTime, stopTime;
bool TX=1,RX=0,role=0;
void setup(void)
{
radio.begin();
radio.setAutoAck(false);
radio.startListening();
radio.stopListening();
}
void loop(void)
{
}
A hibaüzenet:
nrf_tx.cpp.o: In function `__static_initialization_and_destruction_0':
C:\Program Files (x86)\Arduino/nrf_tx.ino:6: undefined reference to ` RF24:: RF24(unsigned char, unsigned char)'
nrf_tx.cpp.o: In function `setup':
C:\Program Files (x86)\Arduino/nrf_tx.ino:22: undefined reference to ` RF24::begin()'
C:\Program Files (x86)\Arduino/nrf_tx.ino:23: undefined reference to ` RF24::setAutoAck(bool)'
C:\Program Files (x86)\Arduino/nrf_tx.ino:25: undefined reference to ` RF24::startListening()'
C:\Program Files (x86)\Arduino/nrf_tx.ino:26: undefined reference to ` RF24::stopListening()'
Olyan mintha nem találná a header fájlban a funkciót de nemértem miért.
Szia! Én is foglalkoztam már nRF24L01-nel, nekem a progival nem volt semmi gond, de az eszköz nem működött. Én innen vettem a libraryt ill. a progit: Bővebben: Link A hozzászólás módosítva: Márc 5, 2015
Sziasztok! Van egy 16x16-os led mátrix panelem (kép csatolva), nagynehezen találtam is hozzá progit, működik is, csak az a gondom, hogy nagynon macerás mindíg átváltani hexába, hogyan lehetne ezt megoldani, hogy binárisan lehessen a kiírást bevinni a progiba? Vagy esetleg hogyan lehetne egyszerűsíteni ma progin?
//***************************************************************************
//***********************************************************************/
#include <Arduino.h>
//IO
#define LEDARRAY_D 2
#define LEDARRAY_C 3
#define LEDARRAY_B 4
#define LEDARRAY_A 5
#define LEDARRAY_G 6
#define LEDARRAY_DI 7
#define LEDARRAY_CLK 8
#define LEDARRAY_LAT 9
unsigned char Display_Buffer[2];
const unsigned char Word1[1][32] =
{
0xFF,0x86,0xF6,0xF6,0x86,0xBF,0xBC,0xBD,0x85,0xF5,0xF4,0xF7,0xF7,0xF7,0xD7,0xEC,
0xFF,0x07,0xF7,0xF7,0x07,0xBF,0x03,0xBB,0xBB,0xBB,0x03,0xBF,0xB7,0xBB,0x81,0x3B,/*"强",1*/
};
void setup()
{
pinMode(LEDARRAY_D, OUTPUT);
pinMode(LEDARRAY_C, OUTPUT);
pinMode(LEDARRAY_B, OUTPUT);
pinMode(LEDARRAY_A, OUTPUT);
pinMode(LEDARRAY_G, OUTPUT);
pinMode(LEDARRAY_DI, OUTPUT);
pinMode(LEDARRAY_CLK, OUTPUT);
pinMode(LEDARRAY_LAT, OUTPUT);
}
void loop()
{
Display(Word1);
}
//************************************************************
//*************************************************************
void Display(const unsigned char dat[][32])
{
unsigned char i;
for( i = 0 ; i < 16 ; i++ )
{
digitalWrite(LEDARRAY_G, HIGH);
Display_Buffer[0] = dat[0][i];
Display_Buffer[1] = dat[0][i+16];
Send(Display_Buffer[1]);
Send(Display_Buffer[0]);
digitalWrite(LEDARRAY_LAT, HIGH);
delayMicroseconds(1);
digitalWrite(LEDARRAY_LAT, LOW);
delayMicroseconds(1);
Scan_Line(i);
digitalWrite(LEDARRAY_G, LOW);
delayMicroseconds(100);;
}
}
//****************************************************
//****************************************************
void Scan_Line( unsigned char m)
{
switch(m)
{
case 0:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
break;
case 1:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
break;
case 2:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
break;
case 3:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
break;
case 4:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
break;
case 5:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
break;
case 6:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
break;
case 7:
digitalWrite(LEDARRAY_D, LOW);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
break;
case 8:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
break;
case 9:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
break;
case 10:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
break;
case 11:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, LOW);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
break;
case 12:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, LOW);
break;
case 13:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, LOW);digitalWrite(LEDARRAY_A, HIGH);
break;
case 14:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, LOW);
break;
case 15:
digitalWrite(LEDARRAY_D, HIGH);digitalWrite(LEDARRAY_C, HIGH);digitalWrite(LEDARRAY_B, HIGH);digitalWrite(LEDARRAY_A, HIGH);
break;
default : break;
}
}
//****************************************************
//****************************************************
void Send( unsigned char dat)
{
unsigned char i;
digitalWrite(LEDARRAY_CLK, LOW);
delayMicroseconds(1);;
digitalWrite(LEDARRAY_LAT, LOW);
delayMicroseconds(1);;
for( i = 0 ; i < 8 ; i++ )
{
if( dat&0x01 )
{
digitalWrite(LEDARRAY_DI, HIGH);
}
else
{
digitalWrite(LEDARRAY_DI, LOW);
}
delayMicroseconds(1);
digitalWrite(LEDARRAY_CLK, HIGH);
delayMicroseconds(1);
digitalWrite(LEDARRAY_CLK, LOW);
delayMicroseconds(1);
dat >>= 1;
}
}
Ez ugyan az amit én belinkeltem  de nem fordul le....
Első lépés: módosítsd a header hivatkozásaidat a külső könyvtáraknál így :
#include " nRF24L01.h" ===> #include < nRF24L01.h>
Második: ellenőrizd, hogy jó helyre tetted-e a könyvtárakat ( RF24.h, nRF24L01.h, stb.):
...\Arduino\libraries\ mappába kell készíteni neki egy saját mappát és bemásolni oda. Ez a könyvtár nem a program files-ban van, hanem amit te kijelöltél munkamappának és ahol a sketch-eket tartod.
Harmadik: lépj ki és indítsd újra az Arduino szerkesztőt (csak ilyenkor frissíti a külsős könyvtárakat)
Próbáld újra lefordítani.
Természetesen meg lehet adni a számokat binárisan is. 0xFF helyett írd azt, hogy 0b11111111 például.
Alapértelmezetten nem lehet. Viszont készíthetsz egy módosított osztályt, amivel felülírod ezt a viselkedést és akkor megoldható anélkül, hogy mindent nulláról kéne készítened.
Maga az Adafruit könyvtár is hasonlóan oldotta meg a szabvány print, println stb. utasításokat (alaposztálya az absztrakt print osztály és önmaga definiálja a write metódus kódját) ezért használhatóak a megszokott utasítások.
Ja igen, ha pedig karakterkészletet szeretnél 16x16-osat, akkor javaslom, hogy lopd ki az UTFT könyvtár BigFont karakterkészletét a DefaultFonts.c fájlból.
Megvan a baj, a cpp fájlt nem másoltam be a mappába. Na mostmár fordul, tettem még a kódhoz viszont így újabb hibaüzenetet kapok:
#include <SPI.h>
#include <printf.h>
const uint64_t pipes[2] = { 0xDEDEDEDEE7LL, 0xDEDEDEDEE9LL };
boolean stringComplete = false; // whether the string is complete
static int dataBufferIndex = 0;
boolean stringOverflow = false;
char charOverflow = 0;
char SendPayload[31] = "";
char RecvPayload[31] = "";
char serialBuffer[31] = "";
bool done = false;
int len = 0;
void setup(void) {
Serial.begin(57600);
printf_begin();
radio.begin();
radio. setDataRate(RF24_250KBPS );
radio. setPALevel(RF24_PA_MAX );
radio.setChannel(70);
radio.enableDynamicPayloads();
radio.setRetries(15,15);
radio. setCRCLength(RF24_CRC_16 );
radio.openWritingPipe(pipes[0]);
radio.openReadingPipe(1,pipes[1]);
radio.startListening();
radio.printDetails();
Serial.println();
Serial.println("RF Chat V0.90");
delay(500);
}
void loop(void) {
nRF_receive();
serial_receive();
} // end loop()
void serialEvent() {
while (Serial.available() > 0 ) {
char incomingByte = Serial.read();
if (stringOverflow) {
serialBuffer[dataBufferIndex++] = charOverflow; // Place saved overflow byte into buffer
serialBuffer[dataBufferIndex++] = incomingByte; // saved next byte into next buffer
stringOverflow = false; // turn overflow flag off
} else if (dataBufferIndex > 31) {
stringComplete = true; // Send this buffer out to radio
stringOverflow = true; // trigger the overflow flag
charOverflow = incomingByte; // Saved the overflow byte for next loop
dataBufferIndex = 0; // reset the bufferindex
break;
}
else if(incomingByte=='\n'){
serialBuffer[dataBufferIndex] = 0;
stringComplete = true;
} else {
serialBuffer[dataBufferIndex++] = incomingByte;
serialBuffer[dataBufferIndex] = 0;
}
} // end while()
} // end serialEvent()
void nRF_receive(void){
len = 0;
if(radio.available() ){
done = false;
while( !done ){
len = radio.getDynamicPayloadSize();
done = radio.read(&RecvPayload,len);
delay(5);
}
RecvPayload[len] = 0; // null terminate string
Serial.print("R:");
Serial.print(RecvPayload);
Serial.println();
RecvPayload[0] = 0; // Clear the buffers
}
} // end nRF_receive()
void serial_receive(void){
if (stringComplete) {
strcat(SendPayload,serialBuffer);
// swap TX & Rx addr for writing
radio.openWritingPipe(pipes[1]);
radio.openReadingPipe(0,pipes[0]);
radio.stopListening();
bool ok = radio.write(&SendPayload,strlen(SendPayload));
Serial.print("S:");
Serial.print(SendPayload);
Serial.println();
stringComplete = false;
// restore TX & Rx addr for reading
radio.openWritingPipe(pipes[0]);
radio.openReadingPipe(1,pipes[1]);
radio.startListening();
SendPayload[0] = 0;
dataBufferIndex = 0;
} // endif
} // end serial_receive()
nrf_tx.ino: In function 'void nRF_receive()':
nrf_tx.ino:91:14: error: void value not ignored as it ought to be
Error compiling.
|
|