zr_led8_595
可用於ros機器人調試的數據、狀態的顯示。
video
https://www.bilibili.com/video/av95249210
硬件節點
#subscribe 8led8 display
rospy.Subscriber("led8_data8", led8_data8, callback)
#service server ,screen light,set chr ,set leds and btns sort.
rospy.Service('zr_hw_cmd', hw_cmd, fun1)
ros節點
led8pub = rospy.Publisher('led8_data8', led8_data8, queue_size=10)
發佈數碼管顯示的字串,最長16個字符。
srv_name='zr_hw_cmd'
rospy.wait_for_service(srv_name)
消息
led8_data8.msg
/*----------------------------------------------------------------------*/
string input
字串不計“.”號,最多8個字符,支持數字,英文字母
通訊刷新頻率30hz
hw_cmd.srv
/*----------------------------------------------------------------------*/
string cmd
uint8[] input
---
uint8[] output
cmd命令支持的字符串有:“n”,“v”,“b”,“c”,“chr”
n代表name
v代表version
b代表brand
c代表copyright
chr代表自定義字形集,可以定義30個字形,需要參數數組input,input[0-29]就是字形數據。
設置自定義字形原理
'''
//數碼管字形
// - 8
// | | 3 7
// - 2
// | | 4 6
// - . 5 1
位順序:0B87654321
0B00000011, B10011111, B00100101, B00001101, B10011001
0 1 2 3 4
0x03 0x9f 0x25 0x0d 0x99
'''
根據規則,字形(0-10-A-Z)如下所示
0x3,0x9f,0x25,0xd,0x99,0x49,0x41,0x1b,0x1,0x9,0x11,0xc1,0x63,0x85,0x61,0x71,0x43,0x91,0x77,0x8f,0xb1,0xe3,0x55,0xd5,0xc5,0x31,0x19,0xf5,0x59,0xe1,0x83,0xc7,0xa9,0x47,0x89,0x6d
您可以根據需要定義自己的字形
‘|-’
0B11110001 0xf1
‘-|’
0B10011101 0x9d
使用chr命令將字形數組送入硬件緩存可以按數組順序調用
led8pub 發送字符消息即可顯示出配置的字符,1-30(注意編號從1開始)調用緩存數組[0-29]
‘\x01\x02\x03\x04\x05\x06\x07\x08 \x09\x0a\x0b\x0c\x0d\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e’
硬件內置字符支持數字和英文字母,字形如下
int numbers[10] = {0B00000011, B10011111, B00100101, B00001101, B10011001, B01001001, B01000001, B00011011, B00000001, B00001001 };
// 0 1 2 3 4 5 6 7 8 9
int characters[26] = {
B00010001, B11000001, B01100011, B10000101,
/*ABCD//*/
B01100001, B01110001, B01000011, B10010001,
/*EFGH//*/
B01110111, B10001111, B10110001, B11100011,
/*IJKL//*/
B01010101, B11010101, B11000101, B00110001,
/*MNOP//*/
B00011001, B11110101, B01011001, B11100001,
/*QRST//*/
B10000011, B11000111, B10101001, B01000111, B10001001, B01101101
/*UVWXYZ//*/
};
示例
roslaunch zr_led8_595 led8_fake.launch
roslaunch zr_led8_595 led8_demo.launch
源碼下載
gitbub
https://github.com/zaizhizhuang/zr