Буратино

Тема в разделе "Глядите, что я сделал", создана пользователем acos, 23 янв 2014.

  1. acos

    acos Официальный гик Администратор

    Всем привет. Решил рассказать про "проект выходного дня", который на меня напал после праздников.
    Сижу я, значит, за рабочим столом, смотрю вокруг на всякие, разбросанные по столу, шилды. И на Raspberry, и думаю: а почему бы их не соединить?
    Напомню:
    [​IMG]
    [​IMG]
    Нет, конечно, существует масса проектов под это дело, например, вот — люди на кикстартер похожее выкладывают http://blog.amperka.ru/389#more-389...ign=2014-01-17-arduberry&utm_medium=vkontakte (честное слово — я только потом узнал)).
    В итоге за выходные получилось вот что:
    [​IMG]
    Не очень конечно вау-вещь, но иначе за выходные не успеть)
    Резисторы на пинах 3, 5 — на 10 кОм. Это для I2C, который у Raspberry на этих пинах. Да, надо было сделать их опцианальными, и воткнуть туда джемпер. Но так уж сложилось)
    У raspberry pi два spi-порта. Первый я вывел на ICSP и пины 10 11 12 13. А на второй посадил аналогово-цифровой преобразователь MCP3008 http://ww1.microchip.com/downloads/en/DeviceDoc/21295d.pdf . Он будет у нас вместо пинов arduino A0-A5. Два оказались лишними. Подумал, что можно будет на них потом температурные датчики повесить — температуру проца малины измерять, и интернет-микрухи. Уж очень они горячие у неё).
    Без перемычек не обошлось, и без косяков — тоже. Перемычки — это эти вот smd нуль-резисторы (1206, с чёрточкой которые). На Vcc в ICSP вообще дорожку кинуть забыл*. Зато успел за выходные*) (эта фраза далее просто будет помечаться звёздочкой)).
    Все smd-конденсаторы — на 0,1 мкФ. Электролитические - какие попались. Что-то вроде 4,7 мкФ.
    Добавил регулятор напряжения http://files.amperka.ru/datasheets/l78xx.pdf . Теперь можно от 9 вольт её питать) Правда нагрузка на него такая, что он превращается в печку*) Ну ничего, тянет потихоньку.
    Далее. На плате 5 вольт и 3,3 вольта занесены как надо. Но надо помнить следующее — для напряжения 3,3 вольта используется регулятор малины*. И везде пишут, что нагрузка на 3,3-вольтовые пины малины не должна превышать 50 мА. Поэтому лучше всего питать периферию от 5 вольт. И поэтому что-то делать с logic level current. Потому что порты gpio малины имеют логический 3,3 и при этом никак не защищены от 5-вольтовых шилдов. И, в случае чего, малина может умереть*. Я на это пока забил, и не нагружал её особо. Там на питании только АЦП сидит. Хотя, зря я не подал питание на Vref*, так бы с шилдами, которые ref слушают, проще было бы. Или нет?
    В итоге: контакты паять было неудобно. Пайка получилась некрасивой*) На малине сидит немного громоздко*. Но в итоге получился довольно функциональный переходничёк. Завтра выложу фоточки). С АЦП уже игрался - всё работает. Питоний код тоже завтра, если вам интересно будет и успею.

    Пока на этом всё, скоро продолжение:)
     
    Последнее редактирование: 27 янв 2014
  2. acos

    acos Официальный гик Администратор

    Продолжаем. Подумал что "Мальвино" лучше подходит для названия)
    Итак фотки девайса:
    [​IMG]
    Да, пайка так себе) Можно накрыть её красивеньким шилдом, и тогда ничего не видно
    [​IMG]
    Здесь просто моторчик и просто датчик освещения - хотелось задействовать и АЦП и крутой шилд одновременно, с минимальным кодом.
    Код (Text):
    #!//usr/bin/python
    import RPi.GPIO as GPIO
    import spidev
    import time
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(7, GPIO.OUT)

    spi = spidev.SpiDev()
    spi.open(0, 1)
    count = 0

    def readadc(adcnum):
    # read SPI data from MCP3008 chip, 8 possible adc's (0 thru 7)
        if adcnum > 7 or adcnum < 0:
            return -1
        r = spi.xfer2([1, 8 + adcnum << 4, 0])
        adcout = ((r[1] & 3) << 8) + r[2]
        return adcout

    while True:
        if readadc(0)>500:
            GPIO.output(7,True)
        else:
            GPIO.output(7,False)
     
    Код взял у старика Джереми) http://jeremyblythe.blogspot.ru/2012/09/raspberry-pi-hardware-spi-analog-inputs.html
    Там же расписано, как разрешить работу SPI на Raspberry Pi, и установка библиотек для работы с ним. Если что-то непонятно — объясню)
    Ну и видео работы:



    Прикладываю .lay файлик, если кто захочет повторить. Ну или как основу для творчества.
     

    Вложения:

    • malvino.zip
      Размер файла:
      30,2 КБ
      Просмотров:
      249
    Последнее редактирование: 27 янв 2014
    NikitOS, egordorichev, ALev и ещё 1-му нравится это.