ros中使用zr_led8_595

zr_led8_595
可用於ros機器人調試的數據、狀態的顯示。
在這裏插入圖片描述
zr_led8_595
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章