Шрифт:
Интервал:
Закладка:
Я вел курсы начального программирования и отметил очень широкий спектр способностей у студентов. Для некоторых программирование было естественным процессом мышления, в то время как другие считали его чрезвычайно сложным, и это не всегда было связано с уровнем интеллекта.
На одном конце шкалы – случай, когда после 12-недельного 36-часового курса программирования один студент создал программу имитации игрового автомата, которая формировала графическое изображение вращающихся колес и сыплющихся денег.
На другом конце шкалы – студент-фармацевт, очень толковый, с хорошим образованием. Но как он ни старался, ему не удавалось написать правильно даже простые операторы сравнения. Он говорил: «Это раздражает меня, потому что заставляет чувствовать себя дураком. Но я знаю, что я не дурак».
Он был прав в том, что он не глупый, но я пришел к заключению, что не смогу ему помочь, потому что выяснил одну фундаментальную закономерность.
Совет
Чтобы хорошо писать программы, вы должны уметь думать как компьютер.
По какой-то причине фармацевт этого не мог. Его мозг работал иначе. Он мог описать фармакологические свойства какого-либо лекарственного средства, его молекулярную структуру и многое другое, но это не помогало ему в написании программ.
Когда на рынке появился микроконтроллер Arduino, пропагандисты описывали его как устройство для творческих людей и для тех, кто не считает себя программистом. Предполагалось, что он настолько прост, что любой сможет им воспользоваться.
Я уже немолод и помню, что при внедрении стандарта HTML продвигалась та же идея – он будет настолько прост, что любой сможет написать код для своих веб-страниц. Ну да, некоторые так и поступали, но далеко не все. Сегодня лишь малая часть пользователей набирает HTML-код вручную (я один из них, но в этом проявляется моя эксцентричность).
Если углубиться в историю, то на заре вычислительной техники язык программирования BASIC был создан с идеей, что все смогут его использовать. В 80-х годах прошлого века с появлением настольных компьютеров приверженцы этого языка предсказывали, что люди будут писать небольшие программы на нем, чтобы проверить баланс на банковском счете или сохранить рецепт. Да, пробовали многие, но сколько людей до сих пор так поступают?
Если вы считаете программирование сложным занятием, то, поверьте мне, это отнюдь не «клеймо позора». Уверен, у вас есть другие навыки, в которых вы гораздо сильнее. На самом деле, конструирование изделий из отдельных компонентов может быть одним из таких навыков, поскольку, как я считаю, для этого требуются другие мыслительные процессы. Лично для меня написание программ легче, чем проектирование схем, но для кого-то другого обратное будет в равной степени справедливо.
Улучшение программы «Точные игральные кости»
Как и в эксперименте 24, очевидное улучшение – добавление дисплея для второго игрального кубика. Это можно очень легко сделать с помощью платы Arduino, потому что она имеет дополнительные цифровые выходы, которые могут управлять второй группой светодиодов. Вам нужно лишь продублировать раздел программы, который начинается с обнуления индикатора и заканчивается функцией delay(20);. Подставьте новые номера контактов для дополнительных светодиодов В функциях digitalWrite() и дело сделано!
Другие микроконтроллеры
Я уже упоминал микроконтроллер PICAXE. У него добротная документация и превосходная техническая поддержка, а язык легче для изучения, чем С. Так почему же этот продукт не стал таким популярным? Не знаю; возможно, потому что у него непонятное название. Может быть, вам удастся выяснить причину, начните с прочтения статьи на сайте Wikipedia.
Микроконтроллер BASIC Stamp по сравнению с PICAXE содержит расширенный набор команд и больший ассортимент дополнительных устройств (в их число входят графические дисплеи, а также миниатюрная клавиатура, которая специально предназначена для работы с контроллером). Вы можете купить их в виде компонентов для поверхностного монтажа, установленных на миниатюрной плате, которая вставляется в макетную плату (рис. 5.93). Очень продуманная конструкция.
Рис. 5.93. Миниатюрная плата с контроллером BASIC Stamp
С другой стороны, все связанное с микроконтроллером BASIC Stamp немного дороже, чем у PICAXE, а процесс загрузки совсем не простой.
Новые продукты, такие как Raspberry Pi, расширяют функциональность микроконтроллера до такой степени, что он становится настоящим компьютером. К тому моменту, когда вы будете читать эти строки, в этой быстроразвивающейся области появится еще больше альтернатив. Прежде чем вы посвятите себя детальному изучению одной из них, думаю, что неплохо потратить день или два на ознакомление с онлайн-документацией и сообщениями на форумах.
Когда я намереваюсь изучить что-либо новое, я делаю поисковый запрос в сервисе Google, Например такой: Микроконтроллер Проблемы или Сложности. В поисковой фразе вместо слова «микроконтроллер» можно подставить название реального продукта. Это не потому, что я пессимист по натуре. Просто мне не хочется тратить много времени на продукт, который имеет нерешенные проблемы.
Что осталось без внимания
Теперь пора подвести некий общий итог.
Если вы смогли самостоятельно завершить большинство проектов из этой книги, то значит, вкратце ознакомились с основными областями электроники. Что вы попутно упустили? Вот несколько тем, которые остались открытыми для вашего исследования. Естественно, вы можете поискать информацию в онлайн-источниках, если эти темы вас заинтересуют.
Неформальный подход метода «обучение через открытия», который я пропагандировал в этой книге, как правило, излагает теорию упрощенно. Я обошелся без большей части математического аппарата, который вам пришлось бы изучить при более точном изложении данного предмета.
Если у вас есть склонность к математике, можете использовать ее аппарат, чтобы получить более глубокое представление об устройстве и действии электрических схем.
Мы довольно поверхностно рассмотрели двоичный код, и вам не довелось собрать полусумматор, который является отличным способом изучения работы компьютера на самом фундаментальном уровне. Но в книге Make: More Electronics я покажу вам, как это сделать.
Я не стал углубляться в увлекательные и таинственные свойства переменного тока. Опять-таки, здесь требуется математика. Однако свойства высокочастотных колебаний – очень интересная тема сама по себе.
По уже указанным причинам я избегал применения компонентов для поверхностного монтажа, но потратив сравнительно малые средства, вы сможете самостоятельно освоить эту область, если вас привлекает идея создания сверхминиатюрных устройств.
Электровакуумные лампы практически не упоминались, потому что с данной точки зрения они представляют в основном лишь исторический интерес. Но есть все же нечто необычное и прекрасное в этих лампах, особенно если вы поместите