Pull to refresh

Comments 41

Даже китайцы осознали, что лапша "Досирак" и электроника брэнда "Хуёво" вряд ли будут иметь успех в России, поэтому сейчас мы знаем их как "Доширак" и "Хуавей". Вы это, того, с названиями поаккуратней, а то "Мискатино" как-то уж очень созвучно с "МыСкатино".

Доширак, это корейский бренд. Но если китайцы что-то там поняли, то это, видимо, хорошо.

Бейсик с номерами строк, прямо из 80-х, аж олдскулы свело ;). Есть же lua и micro python.

не думаю что любой из них на 8битных контроллерах поддерживается

STM32 (из заголовка) он четырежды восьмибитный ;)
ESP8266 вроде 8-битный, на нем поддерживается и lua и pythoh.
https://github.com/deemess/uLua

Но у бейсика (да еще и хитро подпиленного) есть фатальное достоинство: готовую программу в интернетах не найдешь, все ручками ;)

ESP8266 32-битный. Причём, базовая частота - 80 МГц, но можно и до 160 поднять, хотя качество работы "не гарантировано". При том, что у ATMEGA328P 2К ОЗУ и 32 К ЭСПЗУ, а у ESP8266 порядка 50К ОЗУ доступно программисту и, в самом частом варианте, 4М флэша на отдельной микросхеме. Причём, встречаются варианты с 16М. По крайней мере, видел такое в виде платы WeMos D1 mini Pro. В общем, это во много раз более мощный контроллер.

Что в Arduino хорошо, так это наличие библиотек под что угодно. Сервоприводы, часы, дисплеи.. На Бейсик, как я понимаю, все надо писать заново.

Ну что вы :) это исключительно ля учебных целей - чтобы вот именно интерактивно сегменты на индикаторе позажигать - а потом завернуть это в цикл и т.п. Для профессионального применения я считаю кроме Си и ассемблера в контроллерах ничего другого не надо.

Ну просто странно. Обычно стараются, чтобы результаты обучения на ранних стадиях можно было использовать дальше. А тут сразу тупик.

Там ребята смышлёные, нужно им просто возможности показать. 10-классник без проблем освоит ардуино сам - но просто пока не дашь в руках все эти контроллеры-светодиодики подержать - человек же плохо представляет почему по этому поводу какой-то ажиотаж

человек же плохо представляет почему по этому поводу какой-то ажиотаж

Боюсь, понимание получится приблизительно такое:

- Не понимаю почему все так восхищаются этим Карузо? Слуха у него нет, голоса нет, картавит, шепелявит, пришептывает. - Ооо! А вы слышали Карузо? - Да нет. Мне Рабинович его вчера напел.

Arduino как обучающая платформа почти прекрасна. Хочешь мигать лампочкой - вот тебе blink, крути как хочешь. Хочешь лезть в потроха - лезь, вот рядом исходники. Был бы еще и эмулятор и внутрисхемный отладчик - было бы идеально. А бейсик.. Ну помигал лампочкой. Что дальше?

Ну там статья начинается с того почему не ардуино :) в теории рассуждать всем хорошо - на практике когда у тебя 20 человек без знания языка и довольно плохо программирующие вообще - и полное отсутствие компов - это ситуация другая.

Ардуино всё-таки это тоже довольно детский лепет. Человеку который на нём "научился" потом на более адекватные контроллеры перейти и научиться читать доки - весьма сложно.

полное отсутствие компов

Вспомнилось босоногое детство, молодая Пугачева, урок информатики с нарисованной клавиатурой, заклинания на Бейсике, которые нужно переписывать в тетрадку А тут 21 век.. Вы же шутите? Шутите, правда?

Эти люди до сих пор ассемблер юзают, а Вы за бейсик переживаете.
Бейсик аж 60 лет назад появился, а питон - всего 33.

Что за тот Бейсик переживать? Деды его учили без компа, теперь внуки без компа учат. Ничего в этой школе не меняется.

Я в первой половине 90-х его на спектруме учил, а потом у меня информатика в школе началась.
А вот без компа я паскаль учил в начале 00-х, в ДИИИ (который после первого семестра и забросил, потому что ПК не было). И проги на бумажке пейсал.

вы так смешно про ассемблер говорите как будто это что-то из рук вон необычное. в мире реальных контроллеров (не детских ардуин) мы всё равно настолько близко к железу часто находимся что писать на си или на ассемблере - не столь принципиально. где нужно больше контроля над таймингом - там вставку и сделаешь.

И книжка у меня была по ассемблеру (x86, название и автора не вспомню и хз жива ли она, если и жива, то скоро скорей всего не будет). Т.к. работать было не на чем (на спектруме я с ассемблером не работал, хотя можно было бы, но мне в те времена бейсика хватало), то и не пробовал нго юзать даже.

вы голову включите вместо пугачёвой :) спецкурс по электронике раз в неделю - ради 2 часов раз в неделю кто-то будет в класс натаскивать гору компов? или требовать под занятия электроники компьютерный класс? проблема в общем не в компах а в том что болтунов много

требовать под занятия электроники компьютерный класс

Было бы логично. Если для занятий нужен компьютер - нужно организовать чтобы он был.

Скрытый текс

Сегодня идем нырять в
бассейн, а если будете хорошо себя вести - завтра воды туда нальем

ну у вас представление видимо что ресурсы резиновые - на шесть занятий в год мне нужны компьютеры - махнул волшебной палочкой - и они появились. на другие осциллографы понадобятся - махнул - появились осциллографы. и класс отдельный конечно где все это будет стоять. я чо, я согласен - хорошо бы ещё чтобы мне за это платили столько сколько платят на основной работе и можно было сосредоточиться на школе вместо тупого энтерпрайза. мечтать это не мешки ворочать конечно :)

на шесть занятий в год мне нужны компьютеры

Э.. ну 21 век же.. В школе же есть компуктерный класс. 6 занятий в год можно же организовать? Или компуктеры не включают чтобы дети там не сломали ничего?

Раньше всё было как то проще и доступнее. Спаял Спектрум - и можно развлекаться хоть с бейсиком хоть с ассемблером А тут.. Комп не дали, программировай на телефоне, никакого праздника ;)

А много вы в школе спектрумов спаяли-то :)

Компьютерные классы есть, но есть и 4-5 конкурирующих спецкурсов по программированию, все же такие программисты теперь - так что обычно там всё занято плотно :)

Ну и главное, как я сказал, учить ребят ардуинам в 9-11 классе мне реально скучно (я им даю в таких случаях написанную мной инструкцию и говорю "разберись дома" - это работает). Последние 2 года экспериментируем с AVR-ассемблером, телефона для того чтобы вбить пару десятков команд вполне достаточно - тут больше голова нужна. Но эт я отдельно расскажу.

Раньше всё было как то проще и доступнее. Спаял Спектрум - и можно развлекаться хоть с бейсиком хоть с ассемблером

И сейчас можно спаять (или купить готовый) аналог спектрума (разной степени паршивости и с програмной либо железной эмуляцией спектрума).
Правда купить какой-нибудь не самый свежий TVBox (на самые свежие линух не накатить, вроде бы, а только с флешки запускать) и поставить на него линух выйдет нередко дешевле. Ну и к боксу (как и спектруму) нужны будут моники/телики с клавомышью.
Вот только платка из статьи обойдётся дешевле. Тем более, что смарт у школьника чаще всего уже имеется.

Интересное приключение - перешивать TV box без компа, с помощью одного лишь телефона. Но зачем, Холмс? Возможно, в природе существуют школьники, которым родители смартфон купили, а комп для учебы не догадались купить. А если есть комп, пригодный для учебы - зачем хотеть корячиться с телефоном?

Для чего без компа?
Я говорил про то, чтобы подготовить оборудование взамен ПК. Его подготовит сама школа, а не ученики.
Ученики же винду/линух сами в школе не накатывают в компьютерных классах (ну кроме тех случаев, ко7да это предусмотрено планом занятий или возникла необходимость в этом и преподаватель разрешил).

Ученики же платку не прошивают и не паяют, а только вводят программу на бейсике.

как я сказал там проблема в основном в том что наши занятия электроникой в рамках школы пока не являются масштабным явлением - ради двух часов в неделю обставлять класс компьютерами не очень выгодно. ну и больше проблема что с классами напряженка. если купить 20 ноутбуков - это очевидно в пределах миллиона уложится (да меньше) - и держать их в шкафу доставая для занятия - понятно что в принципе это можно, но хорошо бы чтобы кто-то занимался этим больше чем 2 часа в неделю. энтузиастов пока не находится. я в какой-то год ездил ещё по субботам учить, но всё же это довольно геморно с учетом основной работы и т.п.

на практике когда у тебя 20 человек без знания языка и довольно плохо программирующие вообще

Си для ребят сложноват

пробую уже детищ мучать ассемблером для AVR

C сложное, будем учить ассемблер, 6 занятий в год достаточно. Но без компьютера.

что_здесь_вообще_происходит_мем.жпг

Вы возможно не очень в теме, извините :) Си значительно сложнее ассемблера. Ассемблер-то для AVR на одной страничке умещается. Просто большие программы на нём писать гораздо менее удобно.

brainfuck еще проще.

Просто большие программы на нём писать гораздо менее удобно.

Что может быть проще helloworld blink? Код из интернетов, комментарии урезаны, чтобы остались только занчащие строки.

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}
#define __SFR_OFFSET 0
#include "avr/io.h"
.global main
main:
  sbi   DDRB, 5     ; Set PB5 as output
blink:
  sbi   PINB, 5     ; Toggle PINB
  ldi   r25, hi8(1000)
  ldi   r24, lo8(1000)
  call  delay_ms
  jmp   blink
delay_ms:
  ldi   r31, hi8(4000)
  ldi   r30, lo8(4000)
1:
  sbiw    r30, 1
  brne    1b
  sbiw    r24, 1
  brne    delay_ms
  ret

Ассемблерный код более громоздкий. 100500 способов допустить ошибку и не понять что воще происходит. Для тех, кто в программировании не силен - самое то что надо, ага.

В ардуине с отладкой никак, только через print. Добавить в С Serial.print() - просто, спасибо авторам фреймворка. 2 строчки дописать. Добавить print в ассемблерный код.. ну-ну. Не то чтобы это запредельно сложное, регистры читать да флаги проверять, но все вручную. И математику, да. Умножение с делением, да.

И все это за 6 занятий в год и без компьютера.

На моём сайте есть задачки и на брейнфак, так что я немного в курсе. И на ассемблер для intel-4004 например для развлечения.

Да, строчек больше. Но когда очередное ардуино-дитя приходит с вопросом как запустить таймер (с копипастом из стековерфлоу) или "пачиму я массив не могу из функции вот так передать" и так далее - сразу становится ясно что нет. На си не легче.

Но разделим обязанности - я школьников учу, а вы занимайтесь рассуждениями в комментах на хабре :)

очередное ардуино-дитя приходит с вопросом как запустить таймер

А пафосу то.. Человек сам пытался что-то сделать, но у него не вышло. Ну как бы учитель затем и нужен, чтобы на вопросы отвечать и ошибки помогать исправить. Знания о всех тонкостях конфигурирования таймеров они с ассемблером воще не связаны.

пачиму я массив не могу из функции вот так передать

На ассемблере самостоятельно он до этой задачи и не дойдет никогда.

Преподаватель электроники в школе, да ещё и как хобби. +100500 вам в карму.

Поддерживаю полностью.

В своё время, лет 30-ть назад, в школе тоже преподавал Байсик, потом ввел Паскаль. Большинство просто переписывало у 2-3 человек в классе. Это в физ-мат лицее. Куда уж там Си.

Сейчас, после перерыва в 20 лет преподаю электронику, 3D, печать и т.д. в Кванториуме. У нас вроде и дети мотивированные, а программирование (и не только) заходит вообще с трудом. Пока делают по шаблону, всё хорошо, всем нравится. А как только «подумать надо», то всё – тупик. Единицы, кто идёт хорошо.

PS Сейчас, робототехнике учат аж в детских садах :-( Как я говорю, совсем скоро начнут робототехнику изучать на 3-м месяце. А i=i+1 также не понятно почти всем.

да, это интересное явление - для детей столько робототехники доступно - но технологических прорывов пока не наблюдается. к сожалению многие кружки по-моему вообще открываются "по франшизе", больше с целью отъёма денег у родителей. туда же спидкубинг, ментальная арифметика и прочее.

лет 30 назад преподавать - это уважам. непростые были очень времена :)

Действительно, очень много "кружков" по франшизам. И, в основном, для отъёма денег, как Вы написали.
Но очень много и бесплатных. Как например Кванториумы. Их сейчас более 160 по стране. Правда с преподавателями трудно. Наша организация и до Квантоирума была бесплатна для детей и родителей.

У меня в Хайтеке более 80 детей и ещё из соседних школ на Труды (наконец-то опять так называется урок, который был Технология) один раз в неделю приходит еще примерно 60. Из всех человек 8-10 есть хорошо понимающих.

Уже давно зрелая кроссплатформенная экосистема http://b4x.com, в составе которой был и проект мобильного интерпретатора, подобного этому.

Технологическая - в данной реализации в память Ардуино влезают только небольшие сравнительно программы - ну и возможности их конечно ограничены теми функциями которые в интерпретаторе предусмотрены.

Вам нужна электронная плата с SD картой.
Вот тут их много
https://stm32-base.org/boards/
https://stm32-base.org/boards/STM32F407VET6-STM32-F4VE-V2.0

Тогда можно ваши команды исполнять из текстового файла на SD карте и закидывать разные скрипты. Неограниченного размера строк.

И вообще это выглядит не как Basic а как обыкновенные команды CLI.
https://habr.com/ru/articles/694408/

Было бы здорово, если бы в в Бэйсике Мискатино реализовали циклы FOR...NEXT, DO...WHILE, DO...UNTIL как в MCS BASIC-52 и чтобы оператор IF привели к традиционному виду IF...THEN.

Давеча игрался с BASIC-52 на китайском микроконтроллере CH552, современном клоне восьмибитного Intel 8051 с 256 байтами ОЗУ. Приятные ощущения, будто вернулся в детство.

видимо данная версия ближе к ZX-бейсику :) точнее дело в том что эти "блочные" конструкции - они из диалектов бейсика которые не ориентированы на построчный ввод / выполнение (хотя for/next и в ZX-бейсике был) - и из-за этого попросту возникает непонятка - если пользователь ввёл строчку в которой начало блока... что дальше интерпретатору делать :)

но кстати код там незамысловатый, при желании его несложно модифицировать и нашлёпнуть на любой понравившийся контроллер

Sign up to leave a comment.

Articles