I can't select a serial port because none shows up.
When I use Upload Using Programmer I get:
Sketch uses 22,124 bytes (4%) of program storage space. Maximum is 524,288 bytes.
processing.app.debug.RunnerException: Please select a programmer from Tools->Programmer menu
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingProgrammer(SerialUploader.java:319)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:91)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
at processing.app.Sketch.upload(Sketch.java:1186)
at processing.app.Sketch.exportApplet(Sketch.java:1160)
at processing.app.Sketch.exportApplet(Sketch.java:1132)
at processing.app.Editor$DefaultExportAppHandler.run(Editor.java:2506)
at java.lang.Thread.run(Thread.java:745)
Please select a programmer from Tools->Programmer menu
Contents of Programmers.txt after I edited it
avrisp.name=AVRISP_MKII
avrisp.communication=serial
avrisp.protocol=stk500v1
avrisp.program.protocol=stk500v1
avrisp.program.tool=avrdude
avrisp.program.extra_params=-P{serial.port}
avrispmkii.name=AVRISP_MK2
avrispmkii.communication=serial
avrispmkii.protocol=stk500v2
avrispmkii.program.protocol=stk500v2
avrispmkii.program.tool=avrdude
avrispmkii.program.extra_params=-Pusb
usbtinyisp.name=USBtinyISP
usbtinyisp.protocol=usbtiny
usbtinyisp.program.tool=avrdude
usbtinyisp.program.extra_params=
arduinoisp.name=ArduinoISP
arduinoisp.protocol=arduinoisp
arduinoisp.program.tool=avrdude
arduinoisp.program.extra_params=
usbasp.name=USBasp
usbasp.communication=usb
usbasp.protocol=usbasp
usbasp.program.protocol=usbasp
usbasp.program.tool=avrdude
usbasp.program.extra_params=-Pusb
parallel.name=Parallel Programmer
parallel.protocol=dapa
parallel.force=true
parallel.delay=200
parallel.program.tool=avrdude
parallel.program.extra_params=-F
arduinoasisp.name=Arduino as ISP
arduinoasisp.communication=serial
arduinoasisp.protocol=stk500v1
arduinoasisp.speed=19200
arduinoasisp.program.protocol=stk500v1
arduinoasisp.program.speed=19200
arduinoasisp.program.tool=avrdude
arduinoasisp.program.extra_params=-P{serial.port} -b{program.speed}
usbGemma.name=Arduino Gemma
usbGemma.protocol=arduinogemma
usbGemma.program.tool=avrdude
usbGemma.program.extra_params=
usbGemma.config.path={runtime.platform.path}/bootloaders/gemma/avrdude.conf
STK500 firmware version v1 and v2 use different serial protocols.
Using the 'stk500' protocol tells avrdude to try and autodetect the
firmware version. If this leads to problems, we might need to add
stk500v1 and stk500v2 entries to allow explicitely selecting the
firmware version.
stk500.name=Atmel STK500 development board
stk500.communication=serial
stk500.protocol=stk500
stk500.program.protocol=stk500
stk500.program.tool=avrdude
stk500.program.extra_params=-P{serial.port}
Notes about Dangerous Prototypes Bus Pirate as ISP
Bus Pirate V3 need Firmware v5.10 or later
Bus Pirate V4 need Firmware v6.3-r2151 or later
Could happen that BP does not have enough current to power an Arduino board
through the ICSP connector. In this case disconnect the +Vcc from ICSP connector
and power Arduino board in the normal way.
buspirate.name=BusPirate as ISP
buspirate.communication=serial
buspirate.protocol=buspirate
buspirate.program.protocol=buspirate
buspirate.program.tool=avrdude
buspirate.program.extra_params=-P{serial.port}