Мазмуну:

CircyPython Itsybitsy M4 Express 1 менен: Орнотуу: 9 кадам
CircyPython Itsybitsy M4 Express 1 менен: Орнотуу: 9 кадам

Video: CircyPython Itsybitsy M4 Express 1 менен: Орнотуу: 9 кадам

Video: CircyPython Itsybitsy M4 Express 1 менен: Орнотуу: 9 кадам
Video: Itsy Bitsy Circuit Python - First Program 2024, Ноябрь
Anonim
CircyPython Itsybitsy M4 Express 1 менен: Орнотуу
CircyPython Itsybitsy M4 Express 1 менен: Орнотуу

Жаңы коддоо? Scratch гана колдонулган жана LED, коммутаторлор, дисплейлер жана сенсорлор менен физикалык эсептөөгө оңой мүмкүнчүлүк берген тексттик тилге өтүүнү каалайсызбы? Анда бул сиз үчүн болушу мүмкүн.

Мен байкадым, бул сайтта Arduino IDE аркылуу Arduinos менен коддоо боюнча көптөгөн көрсөтмөлөр бар, бирок Python жөнүндө өтө аз. Мен 1968 -жылдан бери кодированиени үйрөтүп келем. (Ал кезде биз аны программалоо деп атадык жана киргизүү үчүн Hollerith карталары менен FORTRAN IV колдондук!) Ошол күндөрдөн бери мен студенттер менен ар кандай тилдерди (11 жаштан чоң кишилерге чейин), анын ичинде LISP, Pascal жана башка көптөгөн тилдерди колдоном. BASIC боюнча ар кандай версиялар.

Жакында Улуу Британиянын көптөгөн мектептери Python программасын сабактарында колдоно башташты, анткени окуучулар Scratch же текст билдирүүлөрүнө окшош "блок" коддоосунан өтүшөт. Python, балким, Arduino IDE колдонууга караганда оңой кадам. CircuitPython коду USB диск сыяктуу эле кодду иштеп чыгуу тактасына сактоо менен аткарылышы мүмкүн. Мен неберемдин башталгыч мектебинин коддоо клубунда 8 жаштан 11 жашка чейин физикалык эсептөө үчүн Python программасын ийгиликтүү колдондум.

Мен Adafruit's Itsybitsy M4 Expressти төмөнкү себептерден улам бул көрсөтмөлөр үчүн колдонууну чечтим:

  • Арзан - $ 15 (£ 15)
  • CircuitPython менен орнотуу жана программалоо оңой (коддоону жаңы баштагандар үчүн идеалдуу Python версиясы)
  • Санарип киргизүү/чыгаруу казыктары - Blinkies менен ойноо абдан кызыктуу
  • Аналогдук казыктар - 12 бит ADC жана DAC - жогорку тактык
  • Кызыл LED жана RGB DotStar LEDлери орнотулган
  • Неопикселдерди түз айдайт
  • I2C жана SPI колдоого алынган - сенсорлор жана дисплейлер үчүн
  • Кеңири китепканада айдоочулардын кеңири диапазону
  • Тез жана күчтүү - 120 МГцте чуркаган өтө ылдам ATSAMD51 Cortex M4 процессору
  • Эстутумдун көптүгү - CircuitPython коду же маалымат файлдары үчүн 2 MB SPI Flash эс тутуму
  • Adafruitтен толук колдоо, толук документтер, гиддер жана интернет жардам форуму
  • Бир гана эски ноутбук же компьютер керек - атайын монитор, клавиатура, кубат булагы же чычкан жок.
  • Колдонуучу Python менен тажрыйбага ээ болгондон кийин, ошол эле тактада Arduino IDEге которула алат.

Бул биринчи көрсөтмө тактаңызды кантип орнотууну жана биринчи скрипттерди иштетүүнү түшүндүрөт.

1 -кадам: Баштоо үчүн эмне керек

Баштоо үчүн эмне керек
Баштоо үчүн эмне керек

Аппараттык:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • microUSB кабели
  • Компьютер - эски ноутбук жасайт
  • Кандооч
  • Solder
  • Breadboard
  • Аялдардын баш тилкеси (Милдеттүү эмес)

Программалык камсыздоо:

Му редактору

Https://codewith.mu сайтынан Му редакторун жүктөп алыңыз

Аны компьютериңизге орнотуңуз. Сайттагы толук нускамалар менен абдан оңой.

2 -кадам: CircuitPython орнотулгандыгын текшериңиз

Бул CircuitPython орнотулгандыгын текшериңиз
Бул CircuitPython орнотулгандыгын текшериңиз

Компьютериңизде File Explorerди ачыңыз.

USB кабелинин кичинекей учун Itsybitsyдеги туташтыргычка сайыңыз.

Кабелдин экинчи учун компьютериңиздеги USB портуна сайыңыз.

Сиз CIRCUITPY деп аталган жаңы дискти көрүшүңүз керек. (Болбосо; UPDATE барагына өтүңүз.)

Boot_out дегенди эки жолу чыкылдатыңыз жана сиз мындай билдирүүнү көрүшүңүз керек:

Adafruit CircuitPython 3.1.1on 2018-11-02; Adafruit ItsyBitsy M4 Express samd51g19 менен

Бул сизде CircuitPythonдун эски версиясы бар экенин көрсөтүп турат, анткени биз азыр 4 -версиядабыз. Бул азырынча жакшы болот, биз версияны кийинчерээк жаңыртабыз. Adafruit көбүнчө CircuitPythonду жакшыртат жана жаңыртууларды жарыялайт. Бул жаңыртууларды орнотуу абдан оңой.

Документтер папкаңызга өтүңүз жана анын ичинде Code-with-Mu деп аталган жаңы папка түзүңүз.

Му редакторун баштаңыз

3 -кадам: Биринчи программаңыз үчүн Му редакторун колдонуу

Биринчи программаңыз үчүн Му редакторун колдонуу
Биринчи программаңыз үчүн Му редакторун колдонуу

Редактордун жогору жагындагы Сериал сүрөтчөсүн чыкылдатыңыз. Бул экрандын астындагы REPL терезесин ачышы керек. Төмөнкү сол бурчта Adafruit деп жазылышы керек. Му бир CircuitPython тактасы компьютерге туташканын тааныды.

Биз азыр биринчи программабызды же сценарийибизди жаза алабыз. Жогорку терезеде чычканды басып, териңиз:

басып чыгаруу ("Салам, Дүйнө!")

Сактоо сүрөтчөсүн басыңыз. CIRCUITPY дискти тандаңыз. Аталыш кутучасына main.py терип, Сактоо баскычын басыңыз.

Бул көп нерсени кылат. Сиздин скрипт Itybitsy -ге "main.py" аты менен сакталат. Мындай аталыштагы каалаган файл дароо коллегия тарабынан аткарылат. Басып чыгаруудан алынган билдирүү төмөнкү, REPL терезесинде пайда болот.

Программанын линиясын түзөтүү:

басып чыгаруу ("\ nСалам, кодер!") жана Сактоо сүрөтчөсүн чыкылдатыңыз.

Бир нече окшош басып чыгарууну кошуп көрүңүз жана жаңы кодуңузду иштетиңиз.

Сценарий жүктөөдө Itsybitsey'иңизди көрүңүз. Жаркылдаган жашыл DotStar КЫЗЫЛ түскө өтүп, сценарий сакталганда Жашылга кайтат.

Келгиле, эмне болорун көрүү үчүн ката кетирели. Жөн эле акыркы цитатанын белгисин жок кылып, скриптти кайра иштетиңиз. Редактор катаны көрсөтөт жана чыгаруу катанын түрүн көрсөтөт - синтаксис - жана саптын номери - катаны оңдоого жардам берүү үчүн. DotStar түсүн өзгөртүү менен катаны көрсөтөт. Бул тууралуу кененирээк кийинки бөлүмдө.

Катаны оңдоп, скриптти кайра иштетиңиз.

Эми биз скриптибизди коопсуз жерде сакташыбыз керек, ошондо аны кийин колдоно алабыз.

Скриптиңиздин үстүндөгү өтмөктү эки жолу чыкылдатыңыз. Документтериңизге Code-with-Mu папкасына өтүңүз жана скриптиңизди FirstProg.py сыяктуу пайдалуу файл аты менен сактаңыз. Файлдын аты жана жолу редактордун ылдый жагында жаркырап турганын байкаңыз.

4 -кадам: Экинчи скриптиңиз - Көз ирмем

Экинчи Скриптиңиз - Блинк
Экинчи Скриптиңиз - Блинк

Сценарийди териңиз, аны main.py катары CIRCUITPYге сактап, мурунку main.py'ди алмаштыруу үчүн Ооба дегенди басыңыз.

(ItsyBitsyге сактап жатканда ар дайым main.py файл атын колдонуңуз. CircuitPython дароо жаңы скриптти иштетет.)

Сценарий эмне кылат:

  • Тактадагы пин аттары үчүн китепканаларды импорттойт, кечигүүнү жана санарип казыктарды башкарууну көзөмөлдөө убактысы,
  • Борттогу кызыл LEDге чыңалуу үчүн 13 -пинди орнотот
  • LEDди күйгүзүү жана өчүрүү үчүн чексиз цикл иштейт
  • LED жаркылдайт деп кыска кечигүүлөрдү күтөт.

Сценарийде эмне болуп жатканын түшүндүрүү үчүн көптөгөн комментарийлер бар. Комментарийлер "#" белгиси менен башталат. Алар ошол кездеги ой жүгүртүүңүздү эске салууга жардам берүү үчүн адамдар үчүн. Жакшы сценарийлерде комментарийлер көп.

  1. Sleep () сөздөрүндөгү баалуулуктарды өзгөртүүгө аракет кылыңыз.
  2. Жарык диодду өчүрүлгөндөн эки эсе көп күйгүзүңүз.
  3. Кечигүүлөр өтө кыска болсо эмне болот? (0,001 секунд)

Скрипттин үстүндөгү өтмөктү эки жолу чыкылдатыңыз жана Blink.py аты менен Code-with-Mu папкасына сактаңыз.

5 -кадам: CircuitPython версияңызды жаңыртуу

CircuitPython версияңызды жаңыртуу
CircuitPython версияңызды жаңыртуу

Https://circuitpython.org/downloads интернетке өтүңүз. Itsybitsy M4 Expressтин сүрөтүн басыңыз (M0 версиясы эмес).

. UF2 файлын жүктөө үчүн кызгылт көк баскычты басыңыз.

File Explorerди иштетип,. UF2 файлын табыңыз

Itsybitsy M4 Expressти USB портуна туташтырып, анын дискин табыңыз - CIRCUITPY

Кичине баштапкы абалга келтирүү баскычын эки жолу чыкылдатыңыз жана файлдын аты CIRCUITPYден ITSYM4BOOT болуп өзгөрүшү керек. Сиз абдан тез эки жолу басуу керек.

UF2 файлын сүйрөп, аны ITSYM4BOOT дискке түшүрүңүз. UF2 файлы IBM4 тактасына көчүрүлөт жана дисктин аты CIRCUITPYге кайтып келет.

CIRCUITPY дискти тандап, boot_out файлын эки жолу чыкылдатыңыз.

Сиз жаңыртылганын текшерүү үчүн жаңы версиянын номерин окуй аласыз.

Lib деп аталган CIRCUITPY дискте жаңы папка жасаңыз. Бул сенсорлор жана дисплейлер үчүн драйверлерди кармоо үчүн кийинчерээк Instructablesга керек болот.

Mu редакторун өчүрүп күйгүзүңүз. IBM4тен main.py файлыңызды жүктөп, кайра IBM4ке сактаңыз. Кызыл LED жаркырай башташы керек.

Эгер сиз баштапкы абалга келтирүү баскычын бир чыкылдатуу менен жүктөлгөн main.py скриптин кайра баштайт.

6 -кадам: REPL

REPL
REPL

Редактордун ылдый жагындагы Серия сүрөтчөсү менен кошулган жана өчүрүлгөн терезе басып чыгаруу терезесинен алда канча көп.

"Окуу-баалоо-басып чыгаруу цикли (REPL), ошондой эле интерактивдүү жогорку деңгээл же тил катмары деп аталат, бир колдонуучунун кириштерин (б.а. бирдиктүү сөз айкаштарын) талап кылган, интерактивдүү компьютердик программалоо чөйрөсү, аларды баалайт жана натыйжасын кайтарат. колдонуучуга; REPL чөйрөсүндө жазылган программа бөлүкчө аткарылат. " (Гугл)

Негизинен, эгер сиз REPLге бир гана python билдирүүсүн жазсаңыз, ал аны дароо аткарат. Кел, аны сынап көрөлү.

REPL терезесинен чычканыңызды басыңыз.

Скриптиңизди иштетип жатканда ачкычты басып, (CTRL-C) таптап коюңуз. Бул сиздин сценарийиңизди токтотот.

REPLге кирүү үчүн каалаган баскычты таптаңыз жана '>>>' чакырыгы пайда болот.

басып чыгаруу (4 + 100)

Ошол замат кайра 104 жооп келет

Сүрөттү карап, өзүңүздүн бир нече сүрөтүңүздү сынап көрүңүз. (+, -, *, /, // жана %аракет кылыңыз)

Муну байкап көрүңүз:

>> импорттук тактасы

>> дир (такта)

['_class_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11 ',' D12 ',' D13 ',' D2 ',' D3 ',' D4 ',' D5 ',' D7 ',' D9 ',' I2C ',' MISO ',' MOSI ',' RX ', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']

>>

Бул IBM4 тактасында жеткиликтүү пин аттарынын тизмеси

Жумшак өчүрүп күйгүзүү үчүн CTRL-D терип, main.py кайра баштаңыз.

Тактаңыз ажыратылууда

Компьютерден ажыратуу алдында дайыма CIRCUITPY дискти чыгарыңыз. Ал маалыматтарды өткөрүп жатканда эч качан аны сууруп албаңыз.

7 -кадам: Буттарды кийүү

Бутун кийүү
Бутун кийүү
Бутун кийүү
Бутун кийүү

Эркектердин баш аттары такта үчүн өтө узун, андыктан алардын 2син туура узундукка кескиле/кескиле.

Аларды нандын үстүнө түртүп, үстүнө IBM4 коюп, аларды ээрчиңиз. Такта өйдө жакта экенин текшериңиз! (Чип үстүндө)

Эркектин башын үстүнө койбоңуз. Мен бардык төөнөгүчтөрдү колдоно алышым үчүн үстү боюнча 5 аялдын баш тилкесин колдоном. Баштын тилкесин кесилген жерге жакын, бекем кармоо үчүн вице колдонуңуз. Тешиктин ортосун кесүү үчүн курч темир устаны колдонуңуз - жез туташтыргычы сиз кескен сайын түшүп калат. Тыкан бүтүрүү үчүн кесилген жерди бериңиз - оюк жок..

Түйрүктөргө ширетүү кыйын эмес. Arduino жана Electronics курстарын караңыз, эгер сиз мурда ширетүүчү колдоно элек болсоңуз. Лайк алууну билүү, сиз долбоорлоруңуздун узакка созулган версияларын тактада тактап, анан кайра колдоно аласыз.

Тактанын ысып кетишине жол бербөө үчүн, мен сизге бир жагын ылдый, андан кийин экинчи жагын эритип салбоону сунуштайм. Боштуктарды калтырып, кийинчерээк толтуруңуз. башкача айтканда, 10, RX, 2, A3, RS, BAT, 9, MI …… ж.б.

8 -кадам: CircuitPython RGB Status Light - каталарды табууга жардам берүү үчүн

CircuitPython RGB Status Light - каталарды табууга жардам берүү үчүн
CircuitPython RGB Status Light - каталарды табууга жардам берүү үчүн

ItsyBitsy M4 Express жана башка көптөгөн M0 жана M4 такталарында CircuitPythonдун статусун көрсөтүүчү тактада бир гана NeoPixel же DotStar RGB LEDи бар. Бул жерде (C) жана пин A0 ортосунда.

Бул жерде түстөр жана жаркыроо эмнени билдирет:

  • туруктуу Жашыл: code.py (же code.txt, main.py, же main.txt) иштеп жатат
  • кагышып жаткан Жашыл: code.py (ж.б.) бүттү же жок
  • башталганда туруктуу САРЫ: (4.0.0-alpha.5 жана андан жаңыраак) CircuitPython коопсуз режимде башталаарын көрсөтүү үчүн баштапкы абалга келтирүүнү күтүп жатат
  • САРЫ СЫРАП: Circuit Python коопсуз режимде: ал бузулуп, кайра башталды
  • туруктуу АК: REPL иштеп жатат
  • туруктуу КӨК: boot.py иштеп жатат

Төмөндө бир нече жолу жаркыраган түстөр Python өзгөчөлүгүн көрсөтүп, андан кийин катанын сап номерин көрсөтөт. Биринчи жаркыроонун түсү катанын түрүн көрсөтөт:

  • GREEN: IndentationError
  • CYAN: SyntaxError
  • АК: NameError
  • ORANGE: OSError
  • КЫЗЫЛ: ValueError
  • САРЫ: башка ката

Булардан кийин саптын номерин, анын ичинде жердин маанисин көрсөткөн жарк этүү пайда болот. АК жаркыроо - миңдеген, КӨК - жүздөгөн, САРЫ - ондогон, ЦЯН - бирөөнүн орду. Ошентип, мисалы, 32 -саптагы ката САРЫ үч жолу, андан кийин CYAN эки жолу жаркырайт. Нөлдөр өтө узун караңгы боштук менен көрсөтүлөт.

Буларды саноо абдан кыйын. Скриптти иштеп жатканда REPL терезеси дайыма ачык болсун жана ката кабарлары англис тилинде ошол жерде пайда болот.

9 -кадам: Алга карай - Сизге

Алга карай - Сизге
Алга карай - Сизге

Мен бул Нускаманы баштаганда, мен бул CircuitPython жана Физикалык Эсептөөнү изилдеген сериянын биринчиси болот деп күткөм. Менин кийинки планым арифметика, светодиоддор, өчүргүчтөр, потенциометрлер жана киргизүү билдирүүлөрү менен негизги киргизүү жана чыгууну жабуу. Ал ошондой эле цикл ыкмаларын жана тизмектерди (массивдерди) камтыйт.

Мен аны жазардан мурун, аудиторияга ылайыкташтыруу үчүн, бир нече пикир сурайм.

Мен билгим келген нерселердин түрлөрү:

  • Ылдамдык жакшыбы?
  • Детал өтө көп, өтө азбы же туурабы?
  • Сиз практикалык көнүгүүлөрдү каалайсызбы?

Сизге.

Сунушталууда: