Проект индикаторного дерева чуток задерживается. Сложно оказалось это дело собрать красиво. Термоусадка садится криво, провода с буквами, изоляция торчит -_- Так что пока взялся за ягоду.
Буквально сегодня запилили отверстие в корпусе под шлейф для портов ввода-вывода. Сразу попробовал засветить светодиодом, а там оказалась полная путаница с портами и их нумерацией.. Таблицы для первой ревизии, таблицы для второй ревизии, таблицы самого чипа и его портов.. да в добавок и в разных языках программирования цифры чуток различаются.
- http://elinux.org/Rpi_Low-level_peripherals
- http://pi.gadgetoid.co.uk/post/012-wiringpi-as-a-ruby-gem
- http://elinux.org/RPi_BCM2835_GPIOs#GPIO1
- http://code.google.com/p/raspberry-gpio-python/
- http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/turing-machine/two.html
И вот последняя ссылка из списка вроде бы дает лучи надежды. Причем взгляд первым делом конечно пал на схему.. А потом взглянул на заголовок. Ухты. Кембридж :) В продвинутых университетах уже во всю изучают это дело!
Никак не хотел раньше изучать python, но по работе пришлось, а теперь и в этой ситуации помог. Библиотека на ruby использует какие-то другие привязки портов, может потом разберусь. Вот собственно самый примитивный код для мигания. Заодно проверю подсветку синтаксиса.
#!/usr/bin/python
import time
import RPi.GPIO as GPIO
print '[init]'
GPIO.setmode(GPIO.BOARD)
GPIO.setup(3, GPIO.OUT)
print '[start]'
for x in [1,2,3]:
print '[+ on]'
GPIO.output(3, True)
time.sleep(1)
print '[- off]'
GPIO.output(3, False)
time.sleep(1)
print '[end]'