Wpis z mikrobloga

@Hefajstos_Kowalski: bo tu jeden serial idzie do czujnika a drugi na konsolę do peceta. Do czujnika wystarczy jeden, jeśli chcesz robić tak jak w przykładzie użyj biblioteki SoftwareSerial i zrób sobie drugi.
@MiQ27:
C:\Users\admin\Documents\Arduino\DrzewoCzujnikDuzyNowaBiblioteka\DrzewoCzujnikDuzyNowaBiblioteka.ino:20:1: warning: narrowing conversion of '274' from 'int' to 'unsigned char' inside { } [-Wnarrowing]

}; //Distance command package

^
C:\Users\admin\Documents\Arduino\DrzewoCzujnikDuzyNowaBiblioteka\DrzewoCzujnikDuzyNowaBiblioteka.ino:20:1: warning: large integer implicitly truncated to unsigned type [-Woverflow]

Takie errory.... Coś poradzisz dobry człowieku? Zamieszczam oba jeszcze w postaci screenow.
A tutaj kod:

/*The circuit:
RX is digital pin 10 (connect to TX of other device)
TX is digital pin 11 (connect to RX
Pobierz HefajstosKowalski - @MiQ27: 
C:\Users\admin\Documents\Arduino\DrzewoCzujnikDuzyNowaB...
źródło: comment_YIBoshOC8av7cJ2N7thXG7Iohp6L1quu.jpg
@Hefajstos_Kowalski: no przecież masz napisane czerwono na czarnym że próbujesz dużego integera (32 bity chyba) zmieścić w bajcie bez znaku (8 bitów czyli 0-255) i wywala przepełnienie (overflow)

#define checksum (headerH+headerL+deviceAddr+dataLength+getDisCMD)
to powyżej to jest domyślnie int. Tak bezpośrednio to nie można.
Musisz to policzyć na piechotę, zrobić z tego modulo 255 czy co tam program wymaga, skonwertować jawnie do unsigned char i dopiero dać jako parametr checksum w kodzie

unsigned
@MiQ27 Jest teraz problem z tym czujnikiem: miał wysyłać odległość przez nadajnik RF, ale po ustawieniu vwsetup() na jakąkolwiek wartość różną od 0 czujnik wywala cały czas odległość 0. Masz jakikolwiek pomysł?
To jest kod:

#include
#include

#define header_H 0x55 //Header
#define header_L 0xAA //Header
#define device_Addr 0x11 //Address
#define data_Length 0x00 //Data length
#define get_Dis_CMD 0x02 //Command: Read Distance
#define checksum (header_H+header_L+device_Addr+data_Length+get_Dis_CMD) //Checksum

SoftwareSerial NewSerial(10, 11);

int setDistance = 150;
@MiQ27: Jeśli cię to jeszcze ciekawi to:
Rozwiązałem problem więc może się komuś jeszcze przyda. Biblioteka VirtualWire koliduje w pewien sposób z pinami 10 i 11 - nie działa na nich PWM, nie działa na nich RX/TX przez bibliotekę SoftwareSerial, a jedynie HIGH/LOW.
@jedyny_sluszny: Łap tutaj czujnik razem z nadajnikiem

#include
#include
/*The circuit:
RX is digital pin 5 (connect to TX of other device)
TX is digital pin 6 (connect to RX of other device)*/

#define headerH 0x55 //Header
#define header
L 0xAA //Header
#define deviceAddr 0x11 //Address
#define data
Length 0x00 //Data length
#define getDisCMD 0x02 //Command: Read Distance
#define checksum (headerH+headerL+deviceAddr+dataLength+getDisCMD)