El firmware que m’ha funcionat amb el CNC Shield d’Arduino és aquest:
https://github.com/Thingibox/EggBot/tree/master/Firmware
En aquest el servo ha d’anar al pin SpnEn
El motor que mou l’ou va al X i el motor que mou el rotulador al Y
Normalment si fas un Eggbot amb la versió free anomenada Eggduino, les extensions de Inkscape no reconeixen la placa. Cal fer això:
Editem el fitxer ebb_serial.py que trobarem al directori de les extensions de Inkscape extensions/axidraw_deps/plotink i busquem aquestes línies
ebb_port = None
for port in com_ports_list:
if port[1].startswith("EiBotBoard"):
ebb_port = port[0] # Success; EBB found by name match.
break # stop searching-- we are done.
if ebb_port is None:
for port in com_ports_list:
if port[2].startswith("USB VID:PID=04D8:FD92"):
ebb_port = port[0] # Success; EBB found by VID/PID match.
break # stop searching-- we are done.
return ebb_port
i fem aquests canvis:
ebb_port = "/dev/cu.usbserial-1420"
# for port in com_ports_list:
# if port[1].startswith("EiBotBoard"):
# ebb_port = port[0] # Success; EBB found by name match.
# break # stop searching-- we are done.
#if ebb_port is None:
# for port in com_ports_list:
# if port[2].startswith("USB VID:PID=04D8:FD92"):
# ebb_port = port[0] # Success; EBB found by VID/PID match.
# break # stop searching-- we are done.
return ebb_port
On si és un Linux posarem /dev/ttyUSB0 en la primera línia
Quan l’extensió busca l’eggbot li envia un caràcter “v” i espera resposta de la versió de firmware instal·lada. Doncs, en algunes combinacions d’Arduino i Firmware, la primera vegada no respon i no detecta la placa. Però si dupliquem la comprovació, la segona vegada funciona i tira endavant. Caldrà tocar aquestes línies del mateix miter ebb_serial.py del cas anterior.
Hem de buscar la funció testPort i buscar aquestes línies:
serial_port.write('v\r'.encode('ascii'))
str_version = serial_port.readline()
if str_version and str_version.startswith("EBB".encode('ascii')):
return serial_port
Només hem de duplicar les 2 primeres:
serial_port.write('v\r'.encode('ascii'))
str_version = serial_port.readline()
serial_port.write('v\r'.encode('ascii'))
str_version = serial_port.readline()
if str_version and str_version.startswith("EBB".encode('ascii')):
return serial_port
Amb això sembla que funciona en tots els casos. Weid, but true
Amb el Mac nou no funciona l’eggbot amb Arduinos originals, només amb Arduinos xinos.
Tampoc crea la plantilla Eggbot, però això és tan simple com crear una plantilla nova amb unes mides de 3200 x 800 pixels.